Gitリポジトリでコミットをロールバックする1行ステートメントを作成します。

Gitリポジトリでコミットをロールバックする1行ステートメントを作成します。

一歩踏み出して、各コミットを見直して再定義するCSSスタイルを見つけたいと思います。私もgit-bisectそれを使ったことがありますが、以前の職場を救うのに役立ちませんでした。

以下を使用して、履歴順にコミットのハッシュテーブルを取得できます。

$ git log --pretty=oneline | awk '{print $1;}'

f3791f1da33b9e92a3a5292a0542834aca0908ef
2720a9ec4bb5b4f7b4dd02b056c375e71a44be3c
a9bb455608db70c76545e5862b89a02f9e9f590d

だから最初のものをつかみ、git checkoutそれで作る必要があります。私は試してみましたが、head出力を適切に渡すための渡された構文について十分にわかりません。

$ $(git log --pretty=oneline | awk '{print $1;}') | head -1
bash: 0dcca7e530fca682552341718462af150fe27dc5: command not found

$ $(git log --pretty=oneline | awk '{print $1;}') > head -1
bash: 0dcca7e530fca682552341718462af150fe27dc5: command not found

前のコマンドの出力結果を取得する方法

私はこれを1行で書いて私のgitエイリアスに追加したいのですが、そうでなくても大丈夫です。 bash関数を作成します。

答え1

親コミットを確認するには:

git checkout HEAD~1

最初のコミットに達するまで、この操作を面倒に繰り返すことができます。

マージを引き起こした他の親項目を参照する必要がある場合は、代わりに^次のように使用してください。

git checkout HEAD^2

現在のマージコミットの2番目の親エントリが確認されます。

バラよりgit-rev-parse文書の「指定された改訂」もっと学ぶ。

関連情報