如何从原始分支`git pull`

时间:2014-07-24 23:40:18

标签: git github

我对git不是很熟悉,只是使用常用命令。我将一个存储库从github.com分叉到我自己的帐户,并将其检入我的本地机器并创建一个新分支进行一些开发,因此我的修改被推送到新分支,原始master是还在我分叉的版本中。但是,原始存储库仍处于活动状态且经常更新,现在我想用原始存储库中的更新来更新我的分叉存储库,我该怎么做才能避免造成这种情况?

1 个答案:

答案 0 :(得分:1)

您有两种常规选择:Rebase或Merge。

衍合

Rebasing采用您所做的已提交更改并将其重写,就好像它们是针对主分支的最新版本编写的一样。为此,请确保您的工作已在您的分支上提交,然后:

git checkout master
git pull --ff-only
git checkout your-branch
git rebase master

您可能会遇到必须解决的合并冲突。有关详细信息,请参阅文档。

合并

合并需要两个历史记录(主历史记录和您的工作)并将它们合并在一起。为此,请确保您的工作已在您的分支上提交,然后:

git checkout master
git pull --ff-only
git checkout your-branch
git merge master

您可能会遇到必须解决的合并冲突。有关详细信息,请参阅文档。

是否进行rebase或合并的选择在很大程度上是首选。如果您有未与其他人共享的更改,则通常使用rebase,因为它会使您的历史记录更加线性。但是,如果您与其他人共享了您的更改,那么您肯定希望进行合并,因为这不会修改已经提交的提交。