我有一个分叉的 github 存储库(称为 repo-O,称为我的分叉 repo-F),其中包含大约 8 个分支。其他贡献者已在 repo-O 的多个分支上对 repo-O 进行了多次(100 次)提交。我现在想将这些更改放入我的分叉存储库 (repo-F) 中。我无法使用 fork 队列,因为有大约 3000 个提交需要挑选,我更愿意从命令行执行此操作。
所以..我已经克隆了我的存储库,添加了repo-O作为远程(上游)并获取了更改,然后合并了origin/upstream...然后推回了repo-F。
这似乎已将更改应用于主分支,但未应用于任何其他分支......
如何重复上述过程以便更新“所有”分支?
Thanks
您想要完成的是“对于 repo-o 上的每个远程分支,创建指向 repo-o 分支的相同分支(如果我没有),或者从 repo 上同一分支上的任何内容提取本地分支上的信息 - o,最后将所有这些分支推送到我的 repo-f”。
假设你的遥控器确实有名字repo-o
and repo-f
,我会玩类似的东西,在bash
:
for repo_o_branch in \
$(git branch -a|grep repo-o|perl -nle's,^\s*repo\-o/,,;print $_';
do
( \
( git checkout $repo_o_branch \
&& git pull --rebase repo-o $repo_o_branch) \
|| ( git checkout -b $repo_o_branch repo-o/$repo_o_branch ) \
) && git push repo-f $repo_o_branch;
done
对于所有“repo o Branch”(由git branch -a
作为“repo-to/branch name”,没有“空格和'repo-o/'”部分),
- 尝试检查分支and做一个
git pull --rebase repo-o branchname
在里面,
- 或者,如果
git checkout
失败(因为您没有该分支):检出一个以 repo-o 的分支名称命名的新分支,并将其指向 repo-o 的分支名称。
- 如果以上两者中的任何一个成功,请将新创建或更新的分支名称推送到您的 repo-f。
调味;最好在新创建的 git 克隆上尝试repo-f
用遥控器repo-o
添加到其中,以防万一出现问题;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)