回答:
試してみてくださいgit reset --patch filename
。ドキュメントgit add --patch
によると、これはの逆を行う必要があります。短い形式-p
は両方のコマンドでも機能します。
git stash save --keep-index
して、現在の作業コピーの変更を保存およびリセットすることをお勧めします。次に、ファイルをリセットして、不要な変更を取り消すことができます。最初にファイルを一時的な場所にコピーすると、を使用diff
して、元に戻した変更を保存できます。その後、ファイルを再び追加できます(不要な他の変更を隠しておいたため、インタラクティブな追加は必要ありません)。git stash pop
古い変更を取り戻し、元に戻した変更diff
を適用するために使用します。かなり扱いにくい... :-(
The short form -p also works for both commands.
..つまりgit reset -p filename
?
git add -p filename
ファイルから変更をgit reset -p filename
選択的にステージングし、変更を選択的にアンステージングします。またgit checkout -p -- filename
、ファイルから変更を選択的に破棄できるもあります。警告:のそれぞれadd
とreset
2の他を元に戻すために使用することができますが、あなたがこのフォームを使用している場合はcheckout
変更を破棄し、あなたはそれを取り戻すことはできません。
git gui
対話的にハンクまたはラインをステージングまたはステージング解除するための適切なGUIがあります。よりきれいな/より良いGUIクライアントがgit gui
ありますが、軽量、組み込み、クロスプラットフォーム(lin、win、mac)です。
https://git-scm.com/docs/git-gui
ハンクを右クリックするだけで、ステージング/ステージング解除できます。線の場合は、まず線を強調表示してから右クリックします。
GitXには、ファイルのチャンクのステージングを解除するための素晴らしいUIがあります。
公式クライアントはしばらくの間メンテナンスされていませんが、より多くの機能を備えたGitHubでの分岐がいくつかのサークルで人気があります。(それについてのブログ記事)
git gui
「nice」という単語を使用するかどうか確信がありません;)