As explained in previous questions,您可以将提交拆分为较小的补丁。但是,这些答案推荐git add -p
,它完成了这项工作,但是如果我想要的是每个块的一次提交,则按照文件中的给定顺序进行繁琐。有没有办法实现这一点,自动?
答案 0 :(得分:5)
您可以执行类似
的操作echo -e "y\nq" | git add -p && git commit -m "automated"
确实:
echo y(接受第一个hunk),然后q(退出)接下来的hunk,使用给定的消息进行提交。
循环直到git commit
没有返回成功:
s=0
i=1
while [ $s -eq 0 ]
do
echo -e "y\nq" | git add -p && git commit -m "automated $i"
s=$?
let i=$i+1
done
或一行:
s=0; i=0; while [ $s -eq 0 ]; do echo -e "y\nq" | git add -p && git commit -m "automated $i"; s=$?; let i=$i+1; done
生成像
这样的提交c5ba3 - (HEAD) automated 3
14da0 - automated 2
6497b - automated 1