gpt4 book ai didi

git - 将分支分解为单个文件提交

转载 作者:太空狗 更新时间:2023-10-29 14:48:35 24 4
gpt4 key购买 nike

我有一个稍微过时的实验分支,由于时间限制被搁置了。我需要拿起它并将其移动到项目的 HEAD。

现在的问题是分支中的补丁实际上有点大,有大量的冲突,所以我想将分支中的提交分解为单个文件提交,这样我可以更轻松地一个一个地应用它们.

是否有一些自动命令可以为我执行此操作,还是我需要手动执行此操作?

最佳答案

你可以这样做:

git checkout -b experiment master^^^^
git rev-list master^^^..master |
while read rev;
do
git diff --name-only $rev^..$rev |
while read file;
do
git checkout $rev -- $file;
git add $file;
git commit -C $rev;
done;
done

请注意每条语句中^的个数

这假设您想要扩展范围 master^^^^..master 并且它是线性历史或者您不介意丢失 merge 。它还假定您希望为每次受影响的文件保留相同的提交消息。

关于git - 将分支分解为单个文件提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11502064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com