これが私のGitステータスです。
奇妙な理由でmaster
、task-e
枝が壊れています。現在、ビルドすることはできません。コミット
のみが有効です。6f374ed94ad7f04b1f7a2ca2019374bb7785d9e6
master
このコミットをブランチの最後のコミットにしたいと思います。私はどのように行いますか?
あなたの質問からは完全には明らかではありませんが、あなたが望むのは、ソースコードが古いコミットとまったく同じである新しいコミットを追加することだと思います6f374ed9
。master
(つまり、明らかに履歴がGitHubにプッシュされているため、履歴の書き換えは避けたいと考えています。)これは、この質問task-e
で説明されているgitでいくつかの手順を実行します。それを要約すると、最初に、コミットされていない変更がないこと(つまり、クリーンであること)を確認します。次に、次のことを行う必要があります。git status
# Switch to the branch you want to add the commit to:
git checkout master
# (... you can merge the result to the other branch later)
# Move the master branch back to the earlier, good commit, forcing the
# working tree and the index to match:
git reset --hard 6f374ed
# Use git reset --soft to point the master branch back to where it was
# originally, but leave the working tree and index as they were at 6f374ed
git reset --soft HEAD@{1}
# Commit the result:
git commit -m "Reverting state back to 6f374ed9"
次に、task-e
同様に更新するには、次のようにします。
git checkout task-e
git merge master
を使用することもできますgit reset
が、すでに公開されている履歴が書き換えられるため、お勧めしません。私は使用しますgit revert
:それはあなたがコミットを元に戻すことを可能にします、すなわち。コミットの反対を行うコミットを作成します。そうすれば、履歴を書き換えることなく、コミットをキャンセルして目的の状態に戻すことができます。