【发布时间】:2014-10-07 21:45:46
【问题描述】:
有以下琐碎的提交
# define function in one file
echo "function foo () {}" > a
git add a
git commit -m "1st commit"
# call the function in different file
echo "foo()" > b
git add b
git commit -m "2nd commit"
# rename foo to bar in both files
echo "function bar () {}" > a
echo "bar()" > b
git commit -am "fixup"
是否可以自动拆分修复提交以更新之前的两个提交?
我在想,如果修复提交仅更改原始提交中更改的行,则确实应该可以通过算法精确地拆分修复提交。是这样吗?如果支持,git 支持吗?
我知道这可以通过多个变基和手动拆分修复提交来完成,但这不是我想要的。
澄清:想象一下在功能分支上工作。你有很多提交。经过代码审查,发现例如方法foo 应该命名为方法bar。现在在推送到上游之前,我宁愿不只是更改它的所有实例添加一个新的提交,而是拆分最后一个提交并将其部分应用于适当的先前提交。
【问题讨论】:
-
为什么不使用
git mv重命名一个文件并提交,然后git mv重命名另一个文件并提交? -
我不是在重命名文件,而是在重命名一个函数,这只是一个简化示例(可能是任意文本)。
标签: git