将git repo合并到另一个repo的分支中

ercv8c1e  于 2023-03-28  发布在  Git
关注(0)|答案(3)|浏览(176)

给定repo Foo和repo Bar,我想把Bar和Foo合并,* 但是 * 只能合并到一个单独的分支中,叫做baz
git switch -c baz〈=把Bar仓库放在这里。

xv8emn3q

xv8emn3q1#

您不能将 repository 合并到 * 分支 * 中。您可以将其他repository中的 branch 合并到本地repository中的 branch 中。假设您有两个repository,foobar都位于当前目录中:

$ ls
foo bar

更改为foo存储库:

$ cd foo

bar存储库添加为远程存储库并获取它:

$ git remote add bar ../bar
$ git remote update

foo存储库中创建一个新的分支baz,基于您当前的分支:

$ git switch -c baz

bar存储库中的分支somebranch合并到当前分支:

$ git merge --allow-unrelated-histories bar/somebranch

--allow-unrelated-histories在git 2.9之前是不需要的)

yhxst69z

yhxst69z2#

使用“现实生活”命令更新:
从你的仓库目录开始,确保你的工作副本是干净的(没有文件被更改,添加或删除)。
创建新分支:
git checkout -b <my-branch>
添加辅助遥控器,然后获取它:

git remote add <repo-name> git@github.com:xxx/<repo-name>.git
git remote update

将他们的一个分支合并到你的当前分支中:
git merge <repo-name>/<their-branch>
如果您不知道要使用哪种<their-branch>,请选择master
如果您确定要接受所有远程更改并避免冲突(覆盖您的更改),则可以在最后一步中指定-X theirs作为git merge的选项。
如果您想将其添加到子目录中,则可能应该使用git submodules

beq87vna

beq87vna3#

使用larsks的指南,我可以使用SourceTree来做到这一点。
1.已在目标存储库中创建分支
1.通过点击设置按钮并添加源存储库,将源存储库添加为远程存储库。
1.现在分支列表中显示了两个仓库的分支。我使用合并工具将源仓库的分支合并到新目标仓库的分支中。
1.已使用SourceTree或我的IDE解决任何冲突
1.提交我的分支中的更改。
1.使用“设置”按钮从远程列表中删除源资料库。

相关问题