Gitで、インデックスにステージングされた同じファイルのハンクが2つある場合、それらの1つを対話的にアンステージングするにはどうすればよいですか?
ファイル全体のステージングを解除し、保持したいハンクを再ステージングする方法、または作業コピーへの変更を手動で元に戻し、それらの元に戻した変更をインタラクティブに追加する方法はありますか?
git reset --patch filename
をお試しください。 documentation によると、これはgit add --patch
の逆を行う必要があります。短い形式-p
も両方のコマンドで機能します。
git gui
は、ハンクまたはラインをインタラクティブにステージングまたはステージング解除するための適切なGUIを備えています。よりきれいな/より良いGUIクライアントがありますが、git gui
は軽量の組み込み型クロスプラットフォームです(lin、win、mac)。
https://git-scm.com/docs/git-gui
ハンクを右クリックするだけで、ステージング/アンステージングできます。線の場合は、まず線を強調表示してから右クリックします。
GitX には、ファイルのチャンクのステージングを解除するための素晴らしいUIがあります。
公式クライアントはしばらくメンテナンスされていませんが、一部のサークルではより多くの機能を備えた GitHubでのフォーク が人気です。 ( それについてのブログ投稿 )