我是git的新手,对这些命令感到困惑:
git remote update
git rebase origin/master
git push origin HEAD:refs/for/master
例如git remote update
:是否更新了本地代码?如果是这样,哪个分支?
在本地存储库中,有三个分支master
,A
和B
。假设我修改分支B
中的代码。现在,我运行git remote update
。在这种情况下,哪个分支将与远程分支同步?所有三个分支或只是master
?
答案 0 :(得分:1)
git remote update
要跟踪每个分支的远程HEAD的位置,您可以在本地git中将远程分支的本地副本作为远程/分支。因此,此命令将同步所有本地远程分支以与远程分支同步。
git rebase origin/master
此命令将您的HEAD移动到您拥有远程主分支的所有提交以及未被推送到其上方远程的所有本地提交的位置。
所以考虑一下:
您的HEAD和origin / master位于提交A,您将两个提交B和C应用于HEAD,但origin / master还有两个来自其他开发人员的提交D& E,你将首先得到这个提交D& E通过执行git remote update
然后rebase将使您的git历史看起来像是:
A -> D -> E -> B -> C
最后一个命令将推动B& C到原点的主分支,以便原点/主要提示位于C。