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