我发现了很多关于将分叉的 git 存储库与原始远程存储库同步的问题,但没有一个适用于我的确切问题。
假设我分叉了一个远程名称为upstream的项目,我的分叉名称是origin。我在本地有一个master和一个dev分支来跟踪master和dev的origin。
只要我不对我的分叉存储库进行任何更改,我就知道我可以通过
git checkout master
git pull upstream master
git push origin master
到现在为止还挺好。但是现在我在本地开发分支上工作,一旦完成,我想将它合并到我本地的 master 中。但首先我会让我的本地主人了解上游的变化
git checkout master
git pull upstream master
git push origin master
第一个问题:这是正确的吗?但是,我将如何处理我的本地开发分支?在将其合并到我的本地 master 之前,在我更新的master上重新定位它,或者尝试在不重新定位的情况下合并它?或者我应该尝试通过不时拉入上游/主控来使我的本地开发人员一直与上游/主控保持同步?
一旦完成,我会
git push origin master
并在本地和原点删除我的dev分支。但是现在我的主人(本地和原产地)因本地dev所做的更改而偏离了上游/主人。
第二个问题:现在与上游/主同步的正确方法是什么?难道我还只是简单地做
git checkout master
git pull upstream master
git push origin master
或者这里还有什么推荐的(例如某种形式的变基)?如果我再次创建一个分支dev,我会再次应用与第一个问题相同的策略,还是会应用其他策略?
谢谢你的帮助!