【发布时间】:2014-10-24 01:18:44
【问题描述】:
我是 git 新手,我一直在关注这个 tutorial。
我想我理解了大部分内容,直到我进入远程存储库。我理解的关于远程存储库的唯一概念是 git fetch 和 git remote。根据该教程, git fetch 通过 git remote 的 add 选项从指定的 url 获取远程存储库。它将存储库下载到“远程”分支中。如果我理解正确的话,它不是远程存储库中的分支,而是我从远程存储库下载的分支。它还不是我本地存储库的一部分,它仍然可以合并/重新定位到它(我的本地存储库)中。也许我错了,我在这里遗漏了一些东西,请随时纠正我。
现在,我觉得我完全不明白的是 git 如何设法将“远程”存储库重新定位到我的本地存储库。
我了解,当我对一个分支进行 rebase 时,它会将那个分支中的提交基于它最初分支的不同提交。我仍然必须将分支合并到我的主分支中。当我这样做时,实际上会发生什么?
git checkout master
git fetch origin
git rebase origin/master
这不会将我的本地 master 分支重新设置为远程 master 分支吗?我一直在想这个picture。
我将拥有本地 master 分支而不是功能,而不是 Master,我将拥有远程 origin/master 分支。除了 Master 并没有真正分支出 origin/master。
这不会删除我的本地分支 master 吗?这不会将我所有的工作都转移到“远程”存储库中吗?另外,在推送到真正的远程存储库之前,我不需要合并回来?
【问题讨论】:
-
反之亦然。
git rebase origin/master将您的提交重新设置在origin/master之上。 -
你的意思是把 origin/master 复制到我本地的 master 分支,然后添加新的提交?
-
类似的东西。您可能已经看过它们,但我发现 official docs 很有帮助。
标签: git git-rebase git-remote git-fetch