如果想要更新远程代码:
$git fetch --all
创建分支:
$git branch mybranch remotes/m/cb_mtk_r1
$git checkout mybranch
创建分支还可以:
$git checkout -b mybranch remotes/m/cb_mtk_r1
合并分支:
$git checkout master
$git merge mybranch
删除分支:
git branch -d mybranch
取消已有的修改:
$git checkout a.txt
或者是:
$git checkout -- (filename)
合并其他分支的某个提交:
$git cherry-pick (commit SHA)
这个cherry-pick需要一些注释,我们一般做一个提交都是如下步骤:
git add somefile -> git commit -m "something" -> git push ...
那么cherry-pick的操作是把另外一个分支做的修改执行到git commit那一步。如果没有冲突,我们直接push就OK。
如果你要详细查看到底和之前的文件做了哪些修改,那么你就要退回到git add 的前一步,用git diff 来查看。
那么我可以,git reset --soft <前一个commit> 来取消commit操作,然后git reset HEAD <file>将某个文件取消git add操作,
这样我们就可以清楚地用git diff来查看修改前后的差别了。
当然,如果熟悉了,直接用cherry-pick还是很方便的,没有冲突就会提交成功,有冲突手动解决就OK了。
取消git push操作
$git reset --hard <前一个commit SHA>
注意:hard操作会完全退回到前一个commit的状态,你当前一个commit所做的修改全部消失
或者:
$git reset --soft <commit SHA>
注意:我们当前的操作是如下步骤:
git add somefile -> git commit -m "something" -> git push ...
soft操作,HEAD确实回退到了上一个节点,但是更改的文件还是保留着add 的状态,
这种操作比hard灵活,如果我们确定不想要已做的修改,还可以手动去除修改。