家伙!我最近将项目从Mercurial迁移到GIT,所有事情都很顺利,我们比Mercurial更喜欢它。只有一件事让我们感到困惑。
风景1: 有些受害者,我们的程序员之一可能因为自我测试而改变他的系统日期。他完成任务时忘了改变系统日期,这是一个很大的问题。然后,提交,rebase,push,everthing就可以了(如果他之后更改了系统日期)。 与此同时,另一位程序员做了一些改变,这个可怜的家伙开始提交,并找到了第一个人的提交,所以他把它拉了下来。现在,是合并或改组的时候了。繁荣!!!两个动作都失败了,他自己的提交者的父母已经改变了,他的父母是没有人。 风景2: 一个邪恶的程序员,他后来改变了他的系统日期并用不正确的系统日期推送他的更改。现在,我已做出一些改变并承诺。我要推动我的承诺:拉动,改变......砰!嘿,我该死的承诺的父母在哪里?当然,rebase行动失败了。 风景3: ............是否更早或更晚地更改系统日期,rebase或merge失败,并且某些commit的父级已经消失。如果您更改了系统日期,则记住更改系统日期并不容易。
我不认为有办法提醒我们:你改变了系统日期吗?在大多数情况下,我们不关心提交时间,我们可以在合并或rebase时忽略提交日期吗?