2017-03-11 8 views
2

私はapache-drillコミット3efc2ecaを見ていましたが、それは親のコミットよりも古いと認識しました8614baeなぜいくつかのgitコミットはその親より古いですか?

私は他の同様の観察をいくつか行っています。 どうすれば説明できますか?

+2

コミットするときに、日付を任意の値に設定できることに注意してください。 (または日付** s **、作成者とコミットのそれぞれに1つがあるので) – Eric

+0

感謝の気持ち@Eric! –

答えて

4

gitのコミット履歴は書き換え可能です。それが起こった可能性がある多くの方法があります。最も可能性の高い方法は、コミットが作成された後にrebasedだったことです。

2

あなたは例えば、インタラクティブなリベースでGitの歴史を変えることができます。ここでは

git rebase --interactive|-i HEAD~(number of commits) 

はシナリオです:

$ git commit -m 'Commit 1' 
$ git commit -m 'Commit 2' 
$ git rebase -i HEAD~2 
    // changing only 'Commit 1' 
    edit bae2ea4 Commit 1 
    pick 0e25612 Commit 2 
$ git add . 
$ git commit --amend 
$ git rebase --continue 

これらの 'コミット2' は、親より年上になります後、「1をコミット'

変更が公開(プッシュ)された後に履歴を書き直すことはお勧めしません。

関連する問題