Git:修改先前提交中的文件

时间:2016-04-11 11:34:25

标签: git

假设我有以下文件 file.txt ,其中包含:
124
并假设我已经提交了它(提交A ) 然后我继续将<5>添加到 file.txt 并提交它(提交B )。现在的文件是:
1245
然后我将6添加到 file.txt 并提交它(提交C )。现在的文件是:
12456
现在我想我注意到有一个bug需要修复,我必须添加3才能使 file.txt 成为:
123456
我的问题是:除了在第一次提交(提交A )上创建分支,修复错误然后进行合并之外,还有更好的方法吗? 我想要的是对文件的简单修正(可能通过检查第一次提交)并看到此更正更新到其子提交。 有可能吗?

2 个答案:

答案 0 :(得分:1)

如果它是一个私人分支,你可以像@ som-bhattacharyya所说的那样做。如果它是一个公共分支,你永远不应该重写它,所以rebase或修改不是可行的选择。

您应该从commit C创建一个修补程序分支并执行修复。在中间引入一些提交后,错误修复了一段时间并没有什么可耻的,它发生在每个人身上:)

答案 1 :(得分:-1)

只需对文件进行所有更改。

执行SELECT * FROM TableName WHERE ABS(DateDiff('d', EndDate1, EndDate2)) > 7 (我使用5作为示例。您应该使用一个等于头部提交数量的数字,其中包含对同一文件的所有更改)

现在git rebase -i head~5对文件进行了一次提交的所有提交。