3

次のコマンドを実行するgit log --before "Feb 01 2011"と、SHA を含む、指定された日付より前のすべてのコミットが返されます。特定の月の最後のコミットに頭を同期させる cygwin スクリプトを作成しようとしています。自分で SHA を見つけて入力する必要はありません。 . 何か案は?ありがとう!

4

2 に答える 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 に答える