5

開発者は、正確には 2013 年 3 月 1 日という将来の日付でコードをコミットすることに成功しました。

git show --format=fuller <SHA>

AuthorDate: Fri Mar 1 17:28:26 2013 +0300
CommitDate: Fri Mar 1 17:29:38 2013 +0300

これは (a) 誤解を招くものであり、(b) Jira チケット番号でタグ付けされた「新しい」コミットを Jira が見つけられないようにするものです (2013 年 3 月 1 日以降コミットはなく、まだ 6 か月間はありません)。

http://git.661346.n2.nabble.com/date-change-of-commit-td3887606.htmlgit filter-branchなど、日付を修正するため に使用する方法の例を見つけました。

git filter-branch --env-filter ' 
  if [ $GIT_COMMIT = <sha1> ]; then 
    export GIT_AUTHOR_DATE="1112911993 -0700" 
    export GIT_COMMITTER_DATE="1112911993 -0700" 
  fi 
'

しかし、それらは悲惨な結果の警告を伴います。以下の質問の 1 つまたは複数に対する回答をお待ちしております。

  • 上記の方法を使用してコミット日を変更した経験は何ですか?
  • リポジトリを使用している他のユーザーにどのような影響がありますか?
  • メインブランチから離れた未解決の機能または展開ブランチへの影響は何ですか?
  • これを行うより良い方法はありますか?
4

2 に答える 2

0

結果はそれほど悲惨ではありません。後で余分なコミットを行うのではなく、そこにあるコミットを置き換えることになるため、悪いコミットでそのブランチをプルした人​​は、修正をプッシュした後に追加の手順を実行する必要があるかもしれません。

より具体的には、悪いコミットをプルした他のユーザーは、ブランチを修正した後、ブランチの単純な「早送り」更新を行うことができなくなります。ただし、比較的 git に精通している人なら、必要なものを使用して違いを解決するのは簡単git rebaseなことです。

于 2012-09-10T19:05:47.640 に答える