查看命令
1.变更查看commit log的格式
git log --pretty=oneline 每个commit内容只显示一行(oneline还可以改为short等)
2.获取远程分支后,查看要并进本地分支的内容是什么,本地分支为branchName
git fetch origin
git log --no-merges origin/master branchName
3.查看远程分支更新内容,同2
git fetch origin
git log origin/featureA ^featureA
创建和更新分支
1.本地新建一个featureB,并把远程服务器的master分支clone下来
git checkout -b featureB origin/master
2.合并远端服务器
git checkout featureB
如果远端服务器已经更新了,要先fetch
git fetch origin
会把远端的新分支和内容取下来。
git merge origin/featureBee
融合远端分支到本地
git push origin featureB:featureBee (格式——git push 远端名 本地分支名:远程服务器对应的分支名)
把本地的featureB内容push到远端featureBee
3.衍合——即把分支A的特性融合到指定分支
git checkout featureA 打开分支A
git rebase origin/master 意思是已经从远端服务器(origin)fetch下来master了,现在要把当前的featureA的内容衍合到origin/master(服务器端的master)
git push origin featureA 提交该衍合操作
如果要覆盖远端的featureA(当现在的featureA并非原来的后续更新)可以加-f参数,表示force
git push -f origin featureA
恢复到原来某个版本
git reset --hard(此过程不可逆,回到修改之前的状态)
直接回到某个版本
我们现在切换到bra分支。
git checkout bra
然后用gitk看一下。可以看出,我们之前的操作,对bra分支一点影响也没有。现在我们需要把bra分支回复到初始状态,但是当前的改动的代码还是需要留着。我们可以看,init版本是当前版本的父节点的父节点。我们可以这么操作:
git reset --soft HEAD^^
HEAD^代表父节点,HEAD^^代表父节点的父节点
总结