将主Git回购合并为私有回购的最佳方式,如果私有回购几乎没有变化



我使用过CVS、SVN和Mercurial,试图找到使用Git的"正确"方法通常是一个挑战。

我将一个公共git Repo分叉到一个私有Gitlab服务器。随着时间的推移,只有少数文件被修改。现在,我想将我的本地版本更新到公共回购的最新版本,并将(少数(本地更改文件中的更改合并到这个新版本中。

一个简单的拉或取->合并在我看来不是正确的方法。在这里重新安置基地会是更好的选择吗?我正在使用TortoiseGit,我现在知道它有任何限制。

如有任何建议,我们将不胜感激。

假设:

  • 您的工作分支名称为master
  • 工作树是干净的(运行git status进行验证(

您可以尝试以下操作:

  1. git checkout -b temp <hash-of-the-fork-commit>-将创建并签出一个名为temp的新分支,该分支指向存储库的分叉位置
  2. git pull origin master-将所有远程更改拉入temp分支
  3. git merge master-将在远程更改之上应用您的更改

因此,您最终会得到master和具有所有更改的temp分支。

在验证一切正常后,您可以使用:将master替换为temp

  1. git branch -d master-删除master
  2. git checkout -b master-创建新的master
  3. git branch -d temp-删除temp分支

相关内容

最新更新