web-dev-qa-db-ja.com

TortoiseGitで部分コミットはできますか?

ネイティブgitは 部分的なコミット を許可します:ファイルの一部の行のみをコミットし、残りを後でコミットするために残すことができます。

これはTortoiseGitで可能ですか?

34
Andy Joiner

はい、ドキュメントに 公式指示 があります。

実際には、このワークフローは便利です。

  • 部分的にコミットするファイルを右クリック
  • クリックRestore after commit-これはすぐにファイルの内部コピーを作成します。
  • ダブルクリック編集するファイルTortoiseGitMerge
  • 右クリック->コミットする変更ごとにこのブロックをマーク
  • 右クリック->マークされたブロックのみを残して他の変更を元に戻します。
    これら2つの手順の代わりに、ファイルを好きなように編集できます。
  • 保存閉じるTortoiseGitMerge
  • Commit-これにより、後でファイルの内部コピーが復元されます。
  • TortoiseGitMergeで元に戻した変更が作業ツリーに復元されます。

enter image description here

43
Andy Joiner

答え https://stackoverflow.com/a/32527098/390676 は基本的に正しいですが、必要な手順は少なくなっています。

  • 部分的にコミットするファイルのコンテキストメニューでRestore after commitを選択します-これにより、ファイルの現在の状態の内部コピーがすぐに作成されます。
  • ここで、ファイルを調整してコミットする変更のみを含む
    • これは、使用したい任意のエディターを使用して行うことができますが、TortoiseGitMerge:を使用することもできます。
      • ダブルクリックで編集するファイルTortoiseGitMerge(または設定した差分ツール)
      • コミットする変更のみを含むようにファイルを調整します。
      • 保存および閉じる
  • Commit-これにより、選択したファイルがコミットされ、ファイルの内部コピーが復元されます-ファイルの元の状態が作業ツリーに再び表示されます。

TortoiseGitはまだ完全なステージングプロセスとハンク/ブロックの選択をサポートしていないため、これらの手順が必要です。 https://tortoisegit.org/issue/2299

4
MrTux