我有一个存储库 (A),我一直在其中构建代码,我在不同的存储库 (B) 中也有相同的旧代码版本,将存储库 (A) 带到存储库 (B) 的最佳方法是什么。最终回购(A)应该消失。基本上我想指向B。
在这些选项中,哪一个是一种好习惯:
编辑 .git/config 文件 URL - 使用 URL (B) 代替 URL (A) 并推送所有更改
做一个拉取请求并引入更改(不确定从一个回购到另一个回购它可以完成(A)不是(B)的一个分支。
也许有比上述两种更好的方法。
我有一个存储库 (A),我一直在其中构建代码,我在不同的存储库 (B) 中也有相同的旧代码版本,将存储库 (A) 带到存储库 (B) 的最佳方法是什么。最终回购(A)应该消失。基本上我想指向B。
在这些选项中,哪一个是一种好习惯:
编辑 .git/config 文件 URL - 使用 URL (B) 代替 URL (A) 并推送所有更改
做一个拉取请求并引入更改(不确定从一个回购到另一个回购它可以完成(A)不是(B)的一个分支。
也许有比上述两种更好的方法。
您需要git fetch /path/to/other/local_or_not/repo
然后像往常一样合并更改,使用:
git merge FETCH_HEAD
Git fetch 手册页说:“从一个或多个其他存储库中获取命名的头或标签,以及完成它们所需的对象。 ”
所以,总的来说它应该是这样的:
cd /path/to/B
git fetch /path/to/A
git merge FETCH_HEAD
# fix merge conflicts and you should be done!
LE:请注意,这种方法(或多或少)等同于 github 上的拉取请求(您的第二个想法),而实际上不需要 github(或您正在使用的任何 git-hosting 服务)。
有很多方法,但最“正确”的只是为repo B添加一个新的遥控器,然后推送到它
$ git remote add repo-b http://my-address-for-repo-b
$ git push repo-b master