Git,在本地分支和远程分支之间工作
我克隆了一个存储库并获得了一个主分支。我从大师那里创建了一个本地分支“abc”。 现在遥控器可能已经有进展了。树枝看起来像这样:Git,在本地分支和远程分支之间工作,git,Git,我克隆了一个存储库并获得了一个主分支。我从大师那里创建了一个本地分支“abc”。 现在遥控器可能已经有进展了。树枝看起来像这样: >git branch -a * abc master remotes/origin/HEAD -> origin/master remotes/origin/master 我如何看待本地分支机构abc和远程分支机构之间的差异 如何将远程更改合并到本地banch“abc”中 我可以直接将本地更改从“abc”推送到远程,还是必须通过本地主机进行
>git branch -a
* abc
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
git diff origin/master..abc
了解origin的master和本地abc之间的差异。请注意,这反映了本地存储库的状态,因此,如果要确保远程存储库中的所有新更改都存在,请先执行git fetchgit-pull
或更明确的git-pull原始主机
。如果您想拉到abc
,您还可以git fetch
首先将所有远程更改获取到本地存储库(作为远程分支),然后使用git merge origin/master
手动合并git推送原点
。因此,如果要在远程设备上创建分支abc
,请使用git push origin abc
。如果要推送至原始主机,请使用git push origin master。但是,如果遥控器不能快进,则此操作将失败,在这种情况下,您需要使用--force
明确推动多亏了这一点,下面还有一些相同的查询:(2)git fetch不特定于任何分支,我可以从任何本地分支执行吗?是的
git fetch
将从该远程分支获取所有分支,因此您可以在任何您想要的地方执行它。(2)“git fetch”不特定于任何分支?我可以从abc分行取git吗?如果我在上面的示例中从“abc”分支或master执行“git fetch”,会有什么区别吗?它应该是:“git fetch remotes/origin/master”?不,指定remotes/origin/master
将不起作用,因为这是远程origin
的远程分支master
的完整引用路径。您只能从远程存储库获取,因此只需指定源代码
:git-fetch-origin
。