只想在这里仔细检查一下:
1)所以git pull --rebase会从远程主服务器中提取更改,但它不会拉动任何远程分支,对吧?我试图这样做,远程分支没有出现在我的本地分支列表中,因为我认为它将带来远程站点的所有内容。
2)要拉远程分支在本地工作,我应该使用fetch,然后检查,对吗?
3)有没有办法使用pull?在本地拉远程分支?
答案 0 :(得分:2)
git pull
从遥控器拉出分支。
git pull
基本上是git fetch && git merge
。
git pull --rebase
在将上游分支的更改合并到您所在的当前分支之前,只需重新设置代码。 Git将执行此rebase而不是执行合并。小心这一点,因为如果你不小心,你可以把事情搞砸。
要在远程分支上工作,您可以git fetch && git checkout
签出远程分支的本地版本。由于git pull
只是git fetch && git merge
,git pull
也可以在git fetch
的位置工作,但如果上游分支的提示是最后的,您可能最终会对您的仓库进行奇怪的更改都在工作分支的前端。
至关重要的是,git fetch
将从遥控器获取所有分支,除非您指定一个分支,并且扩展名git pull
也是如此。
答案 1 :(得分:1)
1)......它不会拉任何远程分支,对吗?
除了签出的内容之外,更正,但它会fetch
所有远程分支作为跟踪分支<remote>/<branch>
,例如origin/master
然后merge
当前已使用您已设置跟踪的远程分支检出的本地分支,无论是显式还是默认。
您可以通过以下方式查看本地和跟踪分支的完整列表:
git branch -avv
2)要拉远程分支在本地工作,我应该使用fetch,然后检查,对吗?
如果您还没有本地分支,那么checkout
将创建它。但是,如果您有一个,那么您需要在merge
pull
(或checkout
)
3)有没有办法使用pull?在本地拉远程分支?
是的,我能想到的最简单的方法是创建一个checkout
所有分支的别名,但在我看来你真的不想这样做。渴望加载所有本地分支机构并没有什么好处,所以当你真正准备好对它们进行处理时,请检查它们。