给定repo Foo和repo Bar,我想把Bar和Foo合并,* 但是 * 只能合并到一个单独的分支中,叫做baz。git switch -c baz〈=把Bar仓库放在这里。
baz
git switch -c baz
xv8emn3q1#
您不能将 repository 合并到 * 分支 * 中。您可以将其他repository中的 branch 合并到本地repository中的 branch 中。假设您有两个repository,foo和bar都位于当前目录中:
foo
bar
$ ls foo bar
更改为foo存储库:
$ cd foo
将bar存储库添加为远程存储库并获取它:
$ git remote add bar ../bar $ git remote update
在foo存储库中创建一个新的分支baz,基于您当前的分支:
$ git switch -c baz
将bar存储库中的分支somebranch合并到当前分支:
somebranch
$ git merge --allow-unrelated-histories bar/somebranch
(--allow-unrelated-histories在git 2.9之前是不需要的)
--allow-unrelated-histories
yhxst69z2#
使用“现实生活”命令更新:从你的仓库目录开始,确保你的工作副本是干净的(没有文件被更改,添加或删除)。创建新分支:git checkout -b <my-branch>添加辅助遥控器,然后获取它:
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
git merge <repo-name>/<their-branch>
<their-branch>
master
-X theirs
git merge
beq87vna3#
使用larsks的指南,我可以使用SourceTree来做到这一点。1.已在目标存储库中创建分支1.通过点击设置按钮并添加源存储库,将源存储库添加为远程存储库。1.现在分支列表中显示了两个仓库的分支。我使用合并工具将源仓库的分支合并到新目标仓库的分支中。1.已使用SourceTree或我的IDE解决任何冲突1.提交我的分支中的更改。1.使用“设置”按钮从远程列表中删除源资料库。
3条答案
按热度按时间xv8emn3q1#
您不能将 repository 合并到 * 分支 * 中。您可以将其他repository中的 branch 合并到本地repository中的 branch 中。假设您有两个repository,
foo
和bar
都位于当前目录中:更改为
foo
存储库:将
bar
存储库添加为远程存储库并获取它:在
foo
存储库中创建一个新的分支baz
,基于您当前的分支:将
bar
存储库中的分支somebranch
合并到当前分支:(
--allow-unrelated-histories
在git 2.9之前是不需要的)yhxst69z2#
使用“现实生活”命令更新:
从你的仓库目录开始,确保你的工作副本是干净的(没有文件被更改,添加或删除)。
创建新分支:
git checkout -b <my-branch>
添加辅助遥控器,然后获取它:
将他们的一个分支合并到你的当前分支中:
git merge <repo-name>/<their-branch>
如果您不知道要使用哪种
<their-branch>
,请选择master
如果您确定要接受所有远程更改并避免冲突(覆盖您的更改),则可以在最后一步中指定
-X theirs
作为git merge
的选项。如果您想将其添加到子目录中,则可能应该使用git submodules
beq87vna3#
使用larsks的指南,我可以使用SourceTree来做到这一点。
1.已在目标存储库中创建分支
1.通过点击设置按钮并添加源存储库,将源存储库添加为远程存储库。
1.现在分支列表中显示了两个仓库的分支。我使用合并工具将源仓库的分支合并到新目标仓库的分支中。
1.已使用SourceTree或我的IDE解决任何冲突
1.提交我的分支中的更改。
1.使用“设置”按钮从远程列表中删除源资料库。