コードを追加してコードを削除しました。今、私はこれをやり直したい。ファイルには他の変更があります(コミット時に変更された他のファイルもあります)。元に戻したくないので、標準の復帰はできません。私が望むのは、行番号を指定してこれらの選択された変更を元に戻すコミットを作成することです。そして、私のGUIクライアント(Github Desktop)を使ってdiffの変更点/行番号を選択できるようにする技術が望ましい。私はこれについてどうやって行くのですか?Gitのファイルの選択行を元に戻す
答えて
あり、これを達成するために、いくつかの方法は、おそらくですが、私のようなものでいいと思う:元に戻すことで
# stage a reversion of the given commit without making a commit of this reversion
git revert -n <hash-of-commit-to-partially revert>
# Unstage these changes so the reversion is only in the working tree
git reset
# Selectively stage only the parts which make the reversions which you want
git add -p <path-of-interest>
# Optional: discard other changes from the working tree for testing
# (you might need to "git clean" if you are discarding the reversion
# of a change that originally removed a file)
git checkout -- .
# Commit the selective reversion
git commit
これはおそらく私のために働くでしょう。特に、GUIクライアントでインデックスの変更を選択的に再追加することができます。しかし、私は、異なるケースがあると感じます。たとえば、多くのファイルが変更されていて、私がしたいのは、1行を変更するだけです。私はその1行以外のすべてを追加する必要があります。非効率なようだ。 –
@AlexBollbach:この場合でも、私はおそらく同じ手順に従います。あなたが多くの変更をしていて、あなたが興味のある一つのファイルに制限し、あなたが興味のないチャンクをすばやくスキップすることができるのは、(人の時間では)高価な 'add -p'だけです。 –
コミットbtwを元に戻すとマージ競合が発生します。おそらく、同じ行のコードを元に戻すためです。 –
- 1. 選択を元に戻す?
- 2. Gitでファイルを元に戻す
- 3. 単一ファイルGit Checkoutを元に戻す
- 4. GIT ...元に戻す
- 5. GITの元に戻すチェックアウト
- 6. Gitのファイルを選択的に元に戻したり、チェックアウトしたりしますか?
- 7. git stashを元に戻す
- 8. git mergeを元に戻す
- 9. Git Cleanを元に戻す
- 10. 元に戻すgit checkout --orphan
- 11. Git - 元に戻すチェックアウト
- 12. Gitで元に戻す
- 13. git clone --mirrorコマンドを元に戻す/元に戻す方法は?
- 14. リベースで行われたgit rerereの解決を元に戻す
- 15. ローカルで変更されたファイルを選択的に元に戻す
- 16. gitを元に戻すには?
- 17. リベース後にgit commitを元に戻す
- 18. git update-indexを元に戻すには?
- 19. Gitソフトリセットを元に戻すには?
- 20. gitでサブモジュールを元に戻す?
- 21. git commitを元に戻す--amend
- 22. Git:ローカル変更を元に戻す。 git add。 + git rm?
- 23. GITで元に戻す削除
- 24. 元に戻す「gitがリセット--merge」
- 25. 選択したコミットで元に戻す方法
- 26. git repoサーバーでgit commitを削除または元に戻す
- 27. Gitの選択コミット
- 28. ページに戻ったときにラジオボタンの選択を復元する
- 29. PERFORCEのunshelvedファイルを元に戻す
- 30. コーナーストーンのファイルを元に戻す
、元に戻すに似たものを作成することを意味しますが行だけを復帰することをコミットし、実行します最初のコミットを取り除きたい、あるいは元のコミットを変更してそのラインを変更したくないということですが、他のすべてのラインも変更しますか? –
私は復帰方法を意味します。選択した変更を元に戻す新しいコミットを作成しました。 –
答えがあなたの問題の解決に役立つ場合は、それをマークしてください。それは、同様の質問をした他の人を助けるでしょう。ありがとう。 –