我真的很困惑使用git。假设在一个repo中我有一个在几个用户之间使用的主分支master
,我创建了一个测试分支test
。我会不时test
从master
获取更新,以便我始终使用最新的代码库。为此,我有以下选项:
在测试分支
1. git pull origin master
2. git rebase master
3. git rebase origin/master
我没有看到选项1的任何问题。但是选项2不会始终有效。它是一个本地主人,在我到master
分支并做git pull
之前不会更新。选项3怎么样? git rebase
内部调用git fetch
以确保更新origin / master吗?否则这个也不是一个好主意吗?
答案 0 :(得分:1)
尝试此工作流程:
pull
执行fetch
和merge
,以便更新您的本地副本。
答案 1 :(得分:1)
git book有一个不错的tutorial on branching and merging。看看,看看是否更清楚。基本上,您使用git checkout -b Richeek1
创建一个新分支,它将从主服务器的当前状态分支。拉动后,要与主人重新同步Richeek1,git merge master
将完成这一操作。如果您还有其他问题,请告诉我。
答案 2 :(得分:1)
正如您所观察到的那样,您想要做的事情似乎是由#1最简单明智地完成的。
rebase的一个用途是控制修订历史记录的外观。你在这里读过这个描述:
http://git-scm.com/book/en/Git-Branching-Rebasing
你没有说任何表明你关心这件事的事情,在这种情况下我不明白为什么你会打扰。如果你确实想这样做,你需要做一个git pull --rebase,正如Sam Sullivan在评论中首先提到的那样。