次のコマンドを実行するgit log --before "Feb 01 2011"
と、SHA を含む、指定された日付より前のすべてのコミットが返されます。特定の月の最後のコミットに頭を同期させる cygwin スクリプトを作成しようとしています。自分で SHA を見つけて入力する必要はありません。 . 何か案は?ありがとう!
1422 次
2 に答える
3
rev-list
ログに渡すのと同じオプションを使用し、さらに-n 1
最初のオプションを返すだけです。
sha1=$(git rev-list --before "Feb 01 2011" -n 1 HEAD)
于 2011-09-22T18:50:34.497 に答える
0
Linuxのbashでは、次のように機能しますが、cygwinでも機能するはずです。
git checkout $(git log --before='Feb 01 2011' -n1 | head -n 1 |sed s/commit\ //)
それを行うときは、すぐにブランチを作成することをお勧めします
git checkout $(git log --before='Feb 01 2011' -n1 | head -n 1 |sed s/commit\ //) -b 2011-02
または、スクリプトのタグ付けを作成する場合は、おそらくより良いオプションです。例えば:
git checkout $(git log --before='Feb 01 2011' -n1 | head -n 1 |sed s/commit\ //)
git tag 2011-01
于 2011-09-22T18:50:20.150 に答える