1.常用操作:
1.添加跟踪文件
git add .或
git add -A根据ignore的配置,添加跟踪文件,其中的.或-A表示添加所有更改过的文件。
2.查看状态
git status
3.提交到本地:
git commit -m "说明"
引号内为本次提交的说明文字。如果说明文字很长需要换行,则用单引号来换行,如:
git commit -m '(注意开始和结束时的两个单引号)
第一行
第二行
'
4.推送到默认分支
git push如果当前分支是master则自动推送到maser分支。如果是远程分支的话,此时github服务器上才是会被真正的改变。
5.从远程分支合并到本地
git pull当合并完后,如果提示有冲突,则输入
mergetool beyondmerge进行冲突处理,然后在push上去。
6..gitignore修改之后,清除缓存,使之重新生效,注意前两行后面的小数点。
git rm -r --cached .
git add .
git commit -m "xxxx"
7.彻底回退到某个commit
先使用以下命令查看想回退到的commit的id是多少,id就是一串长长的数字。
git log
然后使用:(注意命令中的两个“-”)以下命令,彻底回退到这个commitid上。
git reset --hard <commit_id>如果想清空这个commitid之后所有已经提交了的commit,则继续执行以下命令:
git push origin HEAD --force 注意是两个横岗
2.分支操作
1.查看所有分支
用命令:git branch -a
$ git branch -a结果里一共5个分支,带remotes的是远程分支,不带的是本地分支。前面带*号的表现当前所处的分支。
* gym
master
remotes/origin/HEAD -> origin/master
remotes/origin/gym
remotes/origin/master
master就是主分支,当你从github上clone下之后,默认就是clone的主分支(master)。那么那个origin是什么意思呢?你可以把他理解为你仓库的网址,如:https://www.xxxx.com/123.git。
2.创建新分支
命令:git branch test。将会创建一个名为test的新分支
然后再次查看所有分支:
git branch -a可以看到已经有了新分支test。
* gym
master
test
remotes/origin/HEAD -> origin/master
remotes/origin/gym
remotes/origin/master
接下来再把新分支推送到远程分支:
$ git push origin test然后再查看所有分支:
$ git branch -a可以看到remotes中又多了一个远程test分支。
* gym
master
test
remotes/origin/HEAD -> origin/master
remotes/origin/gym
remotes/origin/master
remotes/origin/test
3.切换分支
$ git checkout test
然后再次查看所有分支,你就会 发现这次*号在test分支上面。
如果以后在push,pull的时候就想用这个分支了,不用master分支了,就继续输入:
$ git push --set-upstream origin test将pull push等操作的默认分支设为test,否则以后pull push的时候每次都要指定哪个分支。
4.删除本地分支test
$ git branch -d test再次查看所有分支:
已删除分支 test(曾为 eef866f)。
$ git branch -a发现本地test分支已经没有了。
* gym
master
remotes/origin/HEAD -> origin/master
remotes/origin/gym
remotes/origin/master
remotes/origin/test
5.删除远程分支
$ git branch -r -d origin/test
已删除远程分支 origin/test(曾为 eef866f)。
然后在输入:
$ git push origin --delete test才是真正的删除远程分支。
6.合并分支
如果我们想把test分支合并到master分支中,该怎么弄呢?首先先切换到master分支,然后执行
git merge test
7.冲突合并
git mergetool然后输入:
beyond compare