Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 使用日志输出中的每个提交创建修补程序_Git - Fatal编程技术网

Git 使用日志输出中的每个提交创建修补程序

Git 使用日志输出中的每个提交创建修补程序,git,Git,我有类似的情况。当前,此命令完美地显示了我需要的所有提交: git log --cherry-pick --oneline --no-merges --left-only branchB...branchA 现在,我想创建一个补丁文件,其中包含上面命令中显示的每个提交。我怎么做呢?试试这个。我希望不会太晚 NUM=1 for commit in $(git log --cherry-pick --no-merges --left-only branchB...branchA --reverse

我有类似的情况。当前,此命令完美地显示了我需要的所有提交:

git log --cherry-pick --oneline --no-merges --left-only branchB...branchA

现在,我想创建一个补丁文件,其中包含上面命令中显示的每个提交。我怎么做呢?

试试这个。我希望不会太晚

NUM=1
for commit in $(git log --cherry-pick --no-merges --left-only branchB...branchA --reverse --pretty=tformat:"%H")
do
  git format-patch -1 $commit --start-number $NUM
  ((NUM++))
done

--reverse
强制
git log
按相反顺序推送结果-从最早的结果推送到最新的结果,
%H”
它的格式只包含commit sha1散列。散列作为单个(
-1
)提交提供,以从中创建修补程序<代码>--开始编号的值递增会导致按正确顺序创建修补程序文件。

在迁移到另一个存储库并成功创建提交文件时,我遇到了相同的问题。不幸的是,我无法应用它们。