私はgitリポジトリにSourcetree for Windowsを使用していますが、コミットされていないコミットを元に戻したいと思います。
それは可能ですか? 「revert commit」を実行すると、最初のコミットを元に戻す2番目のコミットが作成されますが、最初のコミットがソース管理にまったく表示されないようにする必要があります。
ローカルリポジトリを削除して、ローカルコミットなしで再度引っ張ることもできますが、別の方法があるでしょうか。
ソフトリセットはあなたのローカルな変更を保持します。
ソース: https://answers.atlassian.com/questions/153791/how-should-i-remove-Push-commit-from-sourcetree
編集
git revert
について:このコマンドは他のコミットを元に戻す新しいコミットを作成します。例えば。新しいファイルを追加するコミットがある場合は、git revert
を使用して新しいファイルを削除するコミットを作成できます。
ソフトリセットの適用について:A
からE
へのコミット(A---B---C---D---E
)があり、最後のコミット(E
)を削除したいとします。それから、commitD
へのソフトリセットを実行できます。ソフトリセットコミットでは、E
はgitから削除されますが、ローカルの変更は保持されます。もっと多くの例が git resetのドキュメント にあります。
あなたが他のブランチにいる場合、あなたが削除したいコミットのために最初に "このコミットにチェック"する必要がありますそしてそれからだけ前のライトコミットを選択する "現在のブランチをこのコミットにリセットする"。
コミットを削除する場合は、インタラクティブなリベースの一部としてコミットを実行できます。ただし、注意して実行してください。そのため、レポをめちゃくちゃにしないでください。
ソースツリー内:
Sourcetreeでのインタラクティブなリベースの詳細については、こちらをご覧ください Atlassian blog post .