最近私のブランチのHEADにエラーがあるファイルをコミットしました。私は、次のことを行う必要があります。Git:前回のコミットからファイルをチェックアウトしてHEADに修正する
- は1からそのファイルを入手
- はそのファイルをコミットヘッドに前回のコミット戻って頭に
ことについて行くの最良の方法は何ですか?あなたは実質的にそれを自分で言った
最近私のブランチのHEADにエラーがあるファイルをコミットしました。私は、次のことを行う必要があります。Git:前回のコミットからファイルをチェックアウトしてHEADに修正する
ことについて行くの最良の方法は何ですか?あなたは実質的にそれを自分で言った
:そして、それをコミット
$> git checkout HEAD~1 path/to/file.ext
:
まず前にコミット戻って1からファイルを取得
$> git commit -a -m 'Retrieved file from older revision'
ものにのみ変更された場合最後のコミットに存在するファイル、あなたも使用できますgit-revert
:
$> git revert HEAD
これは別のコミットにする方が良いと思います。なぜなら、それはあなたが元に戻したものとその理由を正確に伝えるからです。しかし、--amend
スイッチをgit-commit
に切り替えることで、これを前回のコミットに縮退することができます。
は、このシナリオでは、気をつけてください:〜1(またはHEAD ^)
Commit hash - File modified
aaaaaaa index.php
bbbbbbb test.php
ccccccc index.php
GitチェックアウトのHEADは、index.phpの前のHEADハッシュ(BBBBBBB)にindex.phpファイルをチェックアウトしようとするが、これではありません実際の前回のコミットハッシュファイルはcccccccです。以前のHEADハッシュでは、最後に変更されたものがハッシュcccccccで作成されたため、index.phpは変更されません。
git log -n 2 --pretty=format:%h path/to/file.ext
は、その後、最初のハッシュを無視し、第2のハッシュを取る:
git checkout <second_hash> path/to/file.ext
git commit -m 'Revert this file to real previous commit'
を最も簡単にコピーすることですファイル、使用に影響を与えた前回のコミットハッシュにいくつかのファイルを元に戻す
uiクライアント(またはgithub bitbucketなど)を使用してその特定のコミットのコンテンツをファイルし、現在のファイルに貼り付けてコミットしてください:) – nawfal