这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战git
本文介绍的内容都是git基操、着重于提交回滚那些事,助力代码提交,看完能保证提交代码这块顺畅进行😄😄😄bash
远程查看markdown
git remote show // 查看主机名
git remote -v // 查看关联远程链接
复制代码
帐号信息post
git config user.email
git config user.name
复制代码
新建本地分支测试
git checkout -b <分支名称> // 例如 git checkout -b shengjingyin
复制代码
新建远程分支ui
git push <主机名> <本地分支名称> // 建立的远程分支名称与本地分支同样
git push <主机名> <本地分支名称>[:<远程分支名称>] // 这样写,能够关联到不同名称的远程分支,例如 git push origin dev3:ayin,我本地是dev3,可是我远程建立的倒是ayin分支
复制代码
切换本地分支spa
git checkout <分支名称>
复制代码
删除本地分支code
git branch -d <分支名称>
复制代码
删除远程分支orm
git push <主机名> --delete <远程分支名称>
复制代码
分支状态ip
git branch <-a> // 查看本地分支,加了`-a`参数就是查询本地+远程分支,带*号的是当前分支,
复制代码
从网上down了一个示意图下来,感受比较齐全,涉及到工做区、暂存区、本地仓库、远程仓库之间如何进行沟通(从右到左,我本意是想找个从左到右的,emm可是找不到,好难受啊😫)
正常提交时,以下三点所示:
添加一个或多个有变动的文件到暂存区
git add [file1] [file2] ...
复制代码
添加指定目录到暂存区,包括子目录
git add [dir]
复制代码
添加当前目录下的全部文件到暂存区
git add .
复制代码
想让暂存区的内容返回到工做区,可用以下种方法:
回退暂存区内指定文件
git reset HEAD rainbow.txt start.txt
复制代码
回退暂存区内全部文件
git reset HEAD *
复制代码
回退暂存区内某一类别文件
git reset HEAD *.txt
复制代码
提交暂存区到本地仓库中
git commit -m 'message'
复制代码
提交暂存区的指定文件到仓库区
git commit [file1] [file2] -m [message]
复制代码
已经将代码提交到本地仓库的代码,即已经进行 commit
操做,若是想撤销以前的修改,须要执行版本回退操做,回退后的文件会回到工做区,而不是暂存区。
回退到上一个版本
git reset HEAD^ // 上一个版本
git reset HEAD^^ // 上上一个版本
git reset HEAD^^^ // 上上上一个版本
git reset <commit-id> // 回到指定版本
复制代码
回退到指定版本
git log // 查看提交记录,获取commit-id,下一步使用
git reset <commit-id> // 回到指定版本,须要上一步骤中的id
复制代码
tips:能够使用 git log
或 git reflog
命令来查看git的提交历史,获取commit-id
本地分支与远程分支已经创建联系
git push
git push -f // 强制远端分支与本地分支同样,没事别搞这个,否则被骂了可别怪我😂
复制代码
本地分支与远程分支未创建联系
这时候若是push,会提示如下信息,未创建远程关联的意思,人家已经把创建关联的代码都提示出来了,照着打就行
git push --set-upstream origin dev // 建立关联的同时,推送本地仓库代码到远程仓库关联分支(dev)
复制代码
有时候咱们提交到远程了,可是以为提交信息有误,或者提交了本地测试代码到远程上去了,这时候该怎么办呢?下面就来介绍一下怎么回退远程提交记录,分为两步骤:
我这里提供的方法不是惟一方法,若是有更好的方法,欢迎评论区回复,谢谢~
先回退本地仓库到指定版本
git reset HEAD^ // 回退上一个版本,具体用哪一个方式须要看你本身的需求
git reset <commit-id> // 回到指定版本
复制代码
再继续强推送
git push -f // 值得注意的是:你必须清楚的知道 -f 的做用!!!
复制代码
效果:能够看到1分钟前的那条提交记录已经没有了
本节主要介绍开发完代码,如何去建立分支、提交代码的一个总体流程,关于各类回退的方式我相信大佬们也还有其余的方式,我这提供的也就只是日常开发的一个正常操做,没什么奇淫巧计,若是你有更好的方式,欢迎评论区回复,以免其余人中了个人圈套😂😂😂
下章节我将继续介绍git的一些进阶操做:例如如何解决代码合并冲突、临时储存代码等等~~