TortoiseGit マニュアル

# TortoiseGit 日常使用ガイド

※[**TortoiseGit Manual** Chapter 2. TortoiseGit Daily Use Guide](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html) の英文を和訳しただけです。


------

# [入門](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general)

## [アイコンオーバーレイ](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-icons)

###### **アイコンオーバーレイを表示するエクスプローラー**

![アイコンオーバーレイを表示するエクスプローラ](https://tortoisegit.org/docs/tortoisegit/images/Overlays.png)

TortoiseGit の最も目に見える機能の1つは、作業ツリーのファイルに表示されるアイコンオーバーレイです。これらは、どのファイルが変更されたか一目でわかります。[アイコンオーバーレイ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html#tgit-dug-wcstatus-1)を参照して、さまざまなオーバーレイが何を表すかを確認してください。

## [コンテキストメニュー](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-menu)

###### **バージョン管理下のディレクトリのコンテキストメニュー**

![バージョン管理下のディレクトリのコンテキストメニュー](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuDirControl.png)

すべての TortoiseGit コマンドは、Windows エクスプローラーのコンテキストメニューから呼び出されます。ファイルまたはフォルダを**右クリック**すると、ほとんどが直接表示されます。使用可能なコマンドは、ファイルまたはフォルダーまたはその親フォルダーがバージョン管理下にあるかどうかによって異なります。Explorer ファイルメニューの一部として TortoiseGit メニューを表示することもできます。

### Tips

非常にまれにしか使用されないコマンドは、拡張コンテキストメニューでのみ使用できます。拡張コンテキストメニューを表示するには、[**Shift**] キーを押しながらを**右クリックします**。

場合によっては、TortoiseGit のエントリがいくつか表示されることがあります。これはバグではありません!

###### **バージョン管理されたフォルダー内のショートカットのエクスプローラーファイルメニュー**

![バージョン管理されたフォルダー内のショートカットのエクスプローラーファイルメニュー](https://tortoisegit.org/docs/tortoisegit/images/ExplorerFileMenuFileShortcut.png)

この例は、バージョン管理されたフォルダー内のバージョン管理されていないショートカット用であり、エクスプローラーのファイルメニューには TortoiseGit の*2つの*エントリがあります。1つはショートカット自体用で、もう1つはショートカットが指しているオブジェクト用です。それらを区別しやすくするために、アイコンの右下隅にインジケータがあり、メニューエントリがファイル、フォルダ、ショートカット、または複数の選択された項目のいずれであるかを示します。

## [ドラッグアンドドロップ](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-drag)

###### **バージョン管理下のディレクトリの右ドラッグメニュー**

![バージョン管理下のディレクトリの右ドラッグメニュー](https://tortoisegit.org/docs/tortoisegit/images/RightDragMenu.png)

他のコマンドは、ファイルまたはフォルダーを作業ツリー内の新しい場所に**右ドラッグ**するか、バージョン管理されていないファイルまたはフォルダーをバージョン管理下のディレクトリに**右ドラッグ**すると、ドラッグハンドラーとして使用できます。

## [一般的なショートカット](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-shortcuts)

一般的な操作には、よく知られている Windows ショートカットがありますが、ボタンやメニューには表示されません。ビューの更新など、明らかなことを行う方法がわからない場合は、こちらをチェックしてください。

| キー   | 説明                                                         |
| ------ | ------------------------------------------------------------ |
| F1     | もちろん助けてください。                                     |
| F5     | 現在のビューを更新します。これはおそらく、最も便利な1つのワンキーコマンドです。たとえば... Explorerでは、作業ツリーのアイコンオーバーレイが更新されます。コミットダイアログでは、作業ツリーを再スキャンして、コミットする必要があるものを確認します。リビジョンログダイアログで、リポジトリに再度連絡して、最新の変更を確認します。 |
| Ctrl+A | すべて選択。エラーメッセージが表示され、コピーしてメールに貼り付ける場合に使用できます。Ctrl-Aを使用してエラーメッセージを選択し、... |
| Ctrl+C | ...選択したテキストをコピーします。                          |
| Ctrl+F | サーチ                                                       |

## [認証](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-auth)

### SSH (URLは git@example.com のようになります)

TortoiseGitPlink は、Windows との統合性が高いため、SSH クライアントとして推奨されます。デフォルトでは、TortoiseGitPlink はパスワードを保存しません。PuTTY 認証エージェントを使用してパスワードをキャッシュできます(PuTTY キーがリモート用に設定されている場合は自動的に行われます)。高度なヒントとコツについては、[付録F「SSH / PuTTYのヒントとコツ](https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html)を参照してください。ただし、TortoiseGitPlink `~/.ssh/config`はOpenSSH 固有のものを尊重しません(PuTTY のヒントとコツを参照するか、SSH クライアントとしてOpenSSH を構成します。次の段落を参照してください)。Git Bash で TortoiseGitPlink も使用する場合は、次の環境変数を作成します`GIT_SSH` PuTTY plink.exe またはできれば TortoiseGitPLink.exe へのパスを使用します。これは、Git for WIndows インストーラーを再実行することで(使用する SSH クライアントを選択できます)、コマンドラインで`set GIT_SSH=PATH_TO_PLINK.EXE"`(C:\Program Files\TortoiseGit\bin\TortoiseGitPLink.exe デフォルトのインストール) 実行するか、環境変数を[永続的](http://www.computerhope.com/issues/ch000549.htm)に構成することで実行できます。

OpenSSH (Git for Windows、Cygwin、およびMsys2に付属)を使用することもできます。ただ、オープンTortoiseGitの設定とオープンネットワークのページを入ると、`ssh.exe`SSH クライアントとして、[ネットワーク設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-network)と[TortoiseGit アップグレード後、ホストが見つかりません(Stack Overflow)][])を参照。OpenSSH を使用する場合は、利用することもできます`~/.ssh/config`([TortoiseGit から保存された資格情報を削除する(Stack Overflow)][]参照)。

### HTTP/HTTPS (URLは https:// または http:// で始まります)

デフォルトでは、Git は資格情報を保存/キャッシュしません。ただし、[*資格情報ヘルパー*](https://stackoverflow.com/q/14000173/3906760)を構成することもできます(推奨、[gitcredentials(7)](https://tortoisegit.org/docs/tortoisegit/git-misc.html#gitcredentials(7))も参照してください)、または[*%HOME%/ _*](https://stackoverflow.com/revisions/6031266/6)[netrc](https://tortoisegit.org/docs/tortoisegit/git-misc.html#gitcredentials(7))を手動で使用することができます。

資格情報ストアをセットアップし、保存されている資格情報をクリアする場合は、[TortoiseGit から保存された資格情報を削除する(Stack Overflow)][]を参照してください。

- [TortoiseGit から保存された資格情報を削除する(Stack Overflow)]: https://stackoverflow.com/q/30320458/3906760

- [TortoiseGit アップグレード後、ホストが見つかりません(Stack Overflow)]: https://stackoverflow.com/a/32115724/3906760

- [TortoiseGit から保存された資格情報を削除する(Stack Overflow)]: https://stackoverflow.com/a/31782500/3906760

## [Windowsの最大化](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-window-max)

TortoiseGit のダイアログの多くには表示する情報がたくさんありますが、画面いっぱいに最大化するのではなく、高さのみ、または幅のみを最大化すると便利です。便宜上、[最大化]ボタンにはこのためのショートカットがあります。**中央のマウス**ボタンを使用して垂直方向に最大化し、**右のマウス**ボタンを使用して水平方向に最大化します。

------

# [リポジトリを作成](https://tortoisegit.org/docs/tortoisegit/tgit-dug-create.html)

このセクションでは、Git リポジトリの作成方法について説明します。空の Git リポジトリの作成は非常に簡単です。空のディレクトリで、エクスプローラーのコンテキストメニューを使用して、**Git Create Repository here** を選択します。

###### **リポジトリ作成ダイアログ**

![リポジトリ作成ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitCreate.png)

ここでは、裸の Git リポジトリと通常の Git リポジトリを選択できます。通常のリポジトリには、ファイルをチェックアウトおよびコミットできる作業ツリーがアタッチされていますが、ベアリポジトリはプッシュおよびプルのみが可能です。(裸ではない)リポジトリが作成された後、メッセージボックスが表示されます:

###### **リポジトリ作成の成功メッセージ**

![リポジトリ作成の成功メッセージ](https://tortoisegit.org/docs/tortoisegit/images/GitCreateMsg.png)

詳細については、[git-init(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-init(1))を参照してください。

------

# [リポジトリのクローン](https://tortoisegit.org/docs/tortoisegit/tgit-dug-clone.html)

このセクションでは、既存のリポジトリから Git リポジトリを複製する方法について説明します。この操作は、リモートリポジトリの完全なコピーを取得するために使用されます。Git リポジトリのクローン作成は非常に簡単です。空のディレクトリで、エクスプローラーのコンテキストメニューを使用し、**Git Clone ...**を選択します。

クローンダイアログが表示されます。

###### **複製ダイアログ**

![複製ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitClone.png)

### [URL: ]

リポジトリの URL アドレスを入力します。これは、*から*複製さ*れ*ます。[**参照**]をクリックして、ディレクトリを参照できます。

### [ディレクトリ:]

複製*する*ローカルディレクトリを入力します。[**参照**]をクリックして、ディレクトリを参照できます。

### [パテキーのロード]

チェックボックスをオンにすると、クローンはパテキーファイルを Pageant に自動的にロードします。**...**をクリックして、パテキーファイルを参照できます。



クローンは、現在の HEAD を自動的にチェックアウトして作業スペースにします。

Git クローンは、http、git、および ssh プロトコルをサポートします。[ネットワーク設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-network) に、SSH クライアントの選択方法が示されています。OpenSSH、Plink、または TortoiseGitPlink。

詳細については、[git-clone(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-clone(1))をご覧ください。

------

# [作業ツリーのチェックアウト(コミットに切り替える)](https://tortoisegit.org/docs/tortoisegit/tgit-dug-checkout.html)

[切替/チェックアウト] ダイアログを使用して、特定のバージョンを作業ツリーにチェックアウトできます(つまり、選択したバージョンの状態と一致するようにすべてのファイルが更新されます)。通常、特定のバージョンが現在の分岐として設定されている(ローカル)分岐によって表される(参照、[分岐/タグ付け](https://tortoisegit.org/docs/tortoisegit/tgit-dug-branchtag.html)と[リポジトリとブランチ](https://tortoisegit.org/docs/tortoisegit/apg.html#Git User Manual_repositories-and-branches))。

Windows エクスプローラーで Git リポジトリディレクトリを選択します。**右クリック**してコンテキストメニューをポップアップ表示し、**TortoiseGit** → **Switch / Checkout ...**コマンドを選択します。次のダイアログボックスが表示されます。

###### **スイッチ/チェックアウトダイアログ**

![スイッチ/チェックアウトダイアログ](https://tortoisegit.org/docs/tortoisegit/images/SwitchCheckOut.png)

Create New Branch でブランチ名を入力すると、新しいブランチが作成されます。また、新しいブランチは現在のブランチ (HEAD)として設定されます。

[**...**]をクリックして、参照/ブランチ/ログを参照し、チェックアウトするブランチを選択できます。

[作業ツリーの変更を上書きする(強制)]チェックボックスをオンにすると、作業ツリー内のコミットされていない変更が選択したバージョンで上書きされます。

リモートブランチを選択すると、次のことが確認できトラックをリモートブランチを追跡するために。[プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)、[プル、](https://tortoisegit.org/docs/tortoisegit/tgit-dug-pull.html)または[同期](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html)ダイアログを開くと、リモートブランチが自動的に事前選択されます。

詳細については、[git-checkout(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-checkout(1))をご覧ください。

### 重要

Tag または Commit にチェックアウト/切り替えた場合、新しいブランチを作成する必要があります。それ以外の場合は、「ブランチなし」で作業します (HEAD 状態は切り離されます)。つまり、現在のブランチはありません。[DETACHED HEAD](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-checkout(1)__detached_head) を参照してください。これは、このバージョンでブランチを作成し、それに切り替えることで簡単に修正できます。

### エクスポート

`.git`たとえば、ソースの圧縮されたtarballを作成する場合など、これらのディレクトリなしでローカルコピーを作成する場合があります。[Git ワーキングツリーのエクスポート](https://tortoisegit.org/docs/tortoisegit/tgit-dug-export.html)を読んで、その方法を確認してください。

------

# [変更をリポジトリにコミットする](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html)

作業ツリーに加えた変更を保存することは、変更を*コミット*する*こと*と呼ばれます。最初に **TortoiseGit** → **変更の確認を**使用して、ローカルで変更されたファイルを確認できます。

## [コミットダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-basics)

競合がない場合は、変更をコミットする準備ができています。コミットしたいファイルやフォルダーを選択し、**TortoiseGit** → **コミット...を選択します**。

###### **コミットダイアログ**

![コミットダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Commit.png)

コミットダイアログには、追加、削除、バージョン管理外のファイルを含む、変更されたすべてのファイルが表示されます。変更したファイルをコミットしたくない場合は、そのファイルのチェックを外してください。バージョン管理外のファイルを含める場合は、そのファイルをチェックしてコミットに追加します。

デフォルトのコミットダイアログは、選択されたパスとその子ディレクトリファイルをリストするだけです。プロジェクトのすべてのファイルを一覧表示する場合は、[**プロジェクト全体**]をクリックするだけです。

### コミットダイアログの多くのバージョン管理されていないファイル

コミットダイアログにバージョン管理されていない(コンパイラ生成またはエディターバックアップなど)ファイルが多すぎると思われる場合、これを処理する方法がいくつかあります。あなたはできる:

- **TortoiseGit**`.gitignore`を使用してリストにファイルを**追加** → リストを**無視して追加**

詳細については、[ファイルとディレクトリを無視する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-ignore.html)を参照してください。

コミットダイアログで変更されたファイルを**ダブルクリックする**と、外部差分ツールが起動して変更が表示されます。スクリーンショットに示すように、コンテキストメニューにはさらにオプションがあります。ここからファイルをテキストエディタや IDE などの別のアプリケーションにドラッグすることもできます。

アイテムの左側にあるチェックボックスをクリックして、アイテムを選択または選択解除できます。

下のペインに表示される列はカスタマイズ可能です。列ヘッダーを**右クリック**すると、表示される列を選択できるコンテキストメニューが表示されます。また、マウスを列の境界上に移動すると表示されるドラッグハンドルを使用して、列の幅を変更することもできます。これらのカスタマイズは保持されるため、次回は同じ見出しが表示されます。

さまざまなアイテムのカラーコードについては、[ステータス](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html#tgit-dug-wcstatus-2)で

### ドラッグアンドドロップ

作業ツリーがまったく同じである限り、ファイルを他の場所からコミットダイアログにドラッグできます。たとえば、階層の遠くのフォルダを見るためにいくつかのエクスプローラーウィンドウが開いている巨大な作業ツリーがあるとします。最上位のフォルダー(変更を確認するために長いフォルダークロールを使用)からのコミットを避けたい場合は、1つのフォルダーのコミットダイアログを開き、他のウィンドウからアイテムをドラッグして同じアトミックコミットに含めることができます。

作業ツリー内にあるバージョン管理されていないファイルをコミットダイアログにドラッグすると、Git が自動的に追加されます。

### コミットは単なるローカルです

すべてのコミットはローカルであり、ローカルの作業ツリーにのみ影響することに注意してください。それらを他の人と共有するには、それらをリモートリポジトリにプッシュする必要があります。詳細については、[プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)および[同期](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html)を参照してください。

## [変更リスト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-changelists)

コミットダイアログは、関連ファイルをグループ化するのに役立つチェンジリスト機能をサポートしています。この機能については、[変更リスト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-changelists.html)をご覧ください。

## [コミットリストからアイテムを除外する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-ignore)

頻繁に変更されるが、本当にコミットしたくないバージョン管理されたファイルがある場合があります。時々、これはビルドプロセスの欠陥を示しています-それらのファイルがバージョン管理されているのはなぜですか?テンプレートファイルを使用する必要がありますか?しかし、時にはそれは避けられません。古典的な理由は、ビルドするたびに IDE がプロジェクトファイルのタイムスタンプを変更することです。プロジェクトファイルにはすべてのビルド設定が含まれているため、バージョン管理する必要がありますが、タイムスタンプが変更されたからといってコミットする必要はありません。

このような厄介な場合に役立つように、呼び出されるファイルにはGitフラグがあります`skip-worktree`-ファイルは変更されていないものとして扱われ、Gitはマージ/プルでそれらのマージも拒否します([スキップワークツリービット](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-update-index(1)__skip_worktree_bit)参照)。このようなケースをタックする別の方法として、と呼ばれるチェンジリストを予約しました`ignore-on-commit`。このチェンジリストに追加されたファイルは、コミットダイアログで自動的にチェックが外されます。引き続き変更をコミットできますが、コをミットダイアログで手動で選択する必要があります。

## [ファイルの一部のみをコミットする](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-restore)

ファイルに加えた変更の一部のみをコミットしたい場合があります。このような状況は通常、何かに取り組んでいるが、緊急の修正をコミットする必要があり、その修正が作業中の同じファイルにある場合に発生します。

ファイルを**右クリック**し、**コンテキストメニュー** → **コミット後に復元**を使用します。これにより、ファイルのコピーがそのまま作成されます。次に、TortoiseGitMerge などでファイルを編集し、コミットしたくないすべての変更を元に戻します。これらの変更を保存したら、ファイルをコミットできます。

### TortoiseGitMerge を使用する

TortoiseGitMerge を使用してファイルを編集する場合、慣れているとおりに変更を編集するか、含めるすべての変更にマークを付けることができます。変更されたブロックを**右クリック**して、**コンテキストメニュー** → **このブロック**を**マーク**して、その変更を含めます。最後に**右クリック**して**コンテキストメニュー**を使用し**ます** → 現在のコミットで表示したくない変更(マークされていないブロック)を反転する**マークされたブロック**を**除いて、左のファイルを使用します**。

コミットが完了すると、ファイルのコピーが自動的に復元され、コミットされていないすべての変更を含むファイルが作成されます。

## [コミットログメッセージ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-log)

コミットする変更を説明するログメッセージを必ず入力してください。これは、後日プロジェクトログメッセージを参照するときに、何がいつ何が起こったかを確認するのに役立ちます。メッセージは好きなだけ長くても短くてもかまいません。多くのプロジェクトには、何を含めるべきか、使用する言語、そして場合によっては厳密な形式のガイドラインがあります。

電子メール内で使用されているのと同様の規則を使用して、ログメッセージに簡単なフォーマットを適用できます。にスタイリングを適用する`text`には`*text*`、太字、`_text_`下線、および`^text^`斜体に使用します。

###### **コミットダイアログスペルチェッカー**

![コミットダイアログスペルチェッカー](https://tortoisegit.org/docs/tortoisegit/images/CommitSpellcheck.png)

TortoiseGit には、ログメッセージを正しく表示するのに役立つスペルチェッカーが含まれています([スペルチェッカー](https://tortoisegit.org/docs/tortoisegit/tgit-intro-install.html#tgit-intro-instalsl-spell)を参照)。これにより、スペルミスのある単語が強調表示されます。コンテキストメニューを使用して、推奨される修正にアクセスします。もちろん、あなたがする*すべての*専門用語を知っ*て*いるわけではないので、正しいスペルの単語は時々エラーとして表示されます。しかし、心配しないでください。コンテキストメニューを使用して、個人辞書に追加するだけです。

ログメッセージウィンドウには、ファイル名と機能の自動補完機能も含まれています。これは、正規表現を使用して、コミットしている(テキスト)ファイルからクラス名と関数名、およびファイル名自体を抽出します。入力している単語がリスト内のいずれかに一致する場合(少なくとも3文字を入力するか、**Ctrl + Spaceを**押した後)、ドロップダウンが表示され、フルネームを選択できます。TortoiseGit で提供される正規表現は、TortoiseGit インストール`bin`フォルダーに保持されています。独自の正規表現を定義してに保存することもできます`%APPDATA%\TortoiseGit\autolist.txt`。もちろん、TortoiseGit のインストールを更新しても、プライベートオートリストは上書きされません。正規表現に慣れていない場合は、次の紹介をご覧ください。<https://en.wikipedia.org/wiki/Regular_expression>、および<http://www.regular-expressions.info/>のオンラインドキュメントとチュートリアル。

正規表現を正しく取得するのは難しい場合があるので、適切な式を整理するために、式を入力してテストするためのファイル名を入力できるテストダイアログがあります。コマンドを使用して、コマンドプロンプトから起動します`TortoiseGitProc.exe /command:autotexttest`。

以前に入力したログメッセージを再利用できます。**コンテキストメニュー** → [**最近のメッセージを貼り付け**] コマンドを使用して、この作業ツリーに入力した最後のいくつかのメッセージのリストを表示します。保存されているメッセージの数は、TortoiseGit設定ダイアログでカスタマイズできます。

ログメッセージウィンドウには、コミットメッセージスニペット機能も含まれています。これらのスニペットは、スニペットショートカットを入力するとオートコンプリートドロップダウンに表示され、オートコンプリートドロップダウンでスニペットを選択すると、スニペットの全文が挿入されます。TortoiseGitで提供されるスニペットは、TortoiseGitインストール`bin`フォルダーに保持されています。独自のスニペットを定義してに保存することもできます`%APPDATA%\TortoiseGit\snippet.txt`。`#`コメント文字です。エスケープシーケンスを使用して`\t`、`\r`、`\n`、と`\\`。

[**署名済みの追加**] をクリックして、ログメッセージの末尾に名前とメールアドレスを追加できます。

TortoiseGit の設定の[保存されたデータ]ページから保存されているすべてのコミットメッセージを消去するか、[**Delete**] キーを使用して**[**最近のメッセージ]ダイアログ内から個々のメッセージを消去できます。

チェックしたパスをログメッセージに含める場合は、編集コントロールのコマンド **コンテキストメニュー** → **ファイル名リストの貼り付け** を使用できます。

ログメッセージにパスを挿入するもう1つの方法は、ファイルリストから編集コントロールにファイルをドラッグするだけです。

### キーボードを使用する

**Ctrl+return**を押すと、キーボードからOKボタンにアクセスできます。

### バグ追跡ツールとの統合

バグ追跡システムを有効にしている場合は、Bug-ID / Issue-Nr:テキストボックスに1つ以上の問題を設定できます。複数の問題はカンマで区切る必要があります。または、正規表現ベースのバグ追跡サポートを使用している場合は、ログメッセージの一部として問題参照を追加するだけです。詳細については、[バグ追跡システム/問題追跡システムとの統合](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html)をご覧ください。

### メッセージテキストボックスのサイズを調整する

「メッセージ」グループボックスと「変更」グループボックスの間のギャップにマウスを移動し、セパレータをドラッグします。

### 新しいブランチにコミットする

(現在のブランチに基づいて)新しいブランチにコミットする場合は、**新しいブランチの**チェックボックスをオンにして、表示されたテキストボックスにブランチ名を入力できます。

### 連続して複数回コミットし、変更を直接プッシュする

メインボタンの[**コミット**]には、ドロップダウンメニューがあります。オプション **ReCommit** と**Commit&push **があります。オプション **ReCommit** は、変更をコミットし、Commitダイアログを開いたままにして、コミットを続行できるようにします。最後のオプション **Commit&push** は、変更をコミットし、すぐに変更をプッシュします。現在のアクティブなブランチに対してリモートトラッキングブランチが設定されていない場合、プッシュダイヤル([プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)を参照)が開きます。

## [コミット進捗](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-progress)

**コミット**を押すと、コミットの進行状況を示すダイアログが表示されます。

###### **進行中のコミットを示す進行ダイアログ**

![進行中のコミットを示す進行ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/CommitProgress.png)

左下には、**ReCommit** (コミットダイアログをリセットし、コミットを続行できるようにする)や、リモートリポジトリにコミットをプッシュするための**プッシュ**など、追加のステップへのショートカットを提供するメニューボタンがあります。

詳細については、[git-commit(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-commit(1))を参照してください。

------

# [ステータス情報を取得する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html)

作業ツリーで作業している間、多くの場合、どのファイルを変更/追加/削除または名前変更したか、またはどのファイルが他のユーザーによって変更およびコミットされたかを知る必要があります。

## [アイコンオーバーレイ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html#tgit-dug-wcstatus-1)

###### **アイコンオーバーレイを表示するエクスプローラー**

![アイコンオーバーレイを表示するエクスプローラー](https://tortoisegit.org/docs/tortoisegit/images/Overlays.png)

作業ツリーをチェックアウトしたので、アイコンが変更された Windows エクスプローラーでファイルを確認できます。これが TortoiseGit が非常に人気がある理由の1つです。TortoiseGit は、元のファイルアイコンと重なる、いわゆるオーバーレイアイコンを各ファイルアイコンに追加します。ファイルのGitステータスに応じて、オーバーレイアイコンは異なります。

| icon                                                         | 説明                                                         |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/InGitIcon.png) | 新しくチェックアウトした作業ツリーには、オーバーレイとして緑色のチェックマークが付いています。つまり、Git ステータスは*正常*です。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ModifiedIcon.png) | すぐにファイルの編集を始めるようにステータスの変更は、*変更*とオーバーレイアイコンは、赤いエクスクラメーションマークに変わります。これにより、作業ツリーを最後に更新してからコミットする必要があるため、どのファイルが変更されたかを簡単に確認できます。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ConflictIcon.png) | 更新中に*競合*が発生すると、アイコンが黄色の感嘆符に変わります。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ReadOnlyIcon.png) | ステージング。「git update-index」を使用してgitにこのファイルをコミットするように指示すると、Git はそのファイルをステージングします。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/DeletedIcon.png) | このアイコンは、現在のフォルダー内の一部のファイルまたはフォルダーがバージョン管理から*削除さ*れるようにスケジュールされているか、バージョン管理下のファイルがフォルダーにないことを示します。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/AddedIcon.png) | プラス記号は、ファイルまたはフォルダーがバージョン管理に*追加*されるようにスケジュールされていることを示します。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/IgnoredIcon.png) | バー記号は、バージョン管理の目的でファイルまたはフォルダーが*無視さ*れることを示します。このオーバーレイはオプションです。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/UnversionedIcon.png) | このアイコンは、バージョン管理下にないが無視されていないファイルとフォルダーを示します。このオーバーレイはオプションです。 |

実際、これらのアイコンのすべてがシステムで使用されているわけではない場合があります。これは、Windows で許可されるオーバーレイの数が非常に限られているためです。また、古いバージョンのTortoiseCVS または SkyDrive、DropBox、GoogleDrive などのオーバーレイハンドラーを備えたツールを使用している場合、十分なオーバーレイスロットが利用できないためです。TortoiseGit は「Good Citizen(TM)」になろうとし、オーバーレイの使用を制限して他のアプリにもチャンスを与えます。

オーバーレイに問題がある場合は、オンライン[*FAQ*](https://tortoisegit.org/support/faq/#ovlnotshowing)をご覧ください。

アイコンオーバーレイがGitステータスと他の技術的詳細にどのように対応するかの説明については、[アイコンオーバーレイ](https://tortoisegit.org/docs/tortoisegit/tgit-app-internals.html#tgit-app-internals-overlays)をお読みください。

## [状態](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html#tgit-dug-wcstatus-2)

###### **変更を確認する**

![変更を確認する](https://tortoisegit.org/docs/tortoisegit/images/RepoStatus.png)

変更したファイルや、他のユーザーが変更およびコミットしたファイルを知ることは非常に便利です。そこで**TortoiseGit** → **変更の確認...**コマンドが役立ちます。このダイアログには、作業ツリーで何らかの方法で変更されたすべてのファイルと、バージョン管理外のファイルが表示されます。

ダイアログでは、色分けを使用してステータスを強調表示します。

- 青

  ローカルで変更されたアイテム。

- 紫

  アイテムを追加しました。履歴とともに追加されたアイテムには`+`、[テキストステータス]列に記号があり、ツールチップにアイテムのコピー元が表示されます。

- 暗赤色

  削除されたアイテムまたは欠落しているアイテム。

- 緑

  ローカルおよびリポジトリ内で変更されたアイテム。変更は更新時にマージされます。これら*は*、更新時に競合を*引き起こす可能性があり*ます。

- 真っ赤

  ローカルで変更されてリポジトリで削除されたアイテム、またはリポジトリで変更されてローカルで削除されたアイテム。これら*は*、更新時に競合を引き起こします。

- ブラック

  変更されていないバージョン管理外のアイテム。

これはデフォルトの配色ですが、設定ダイアログを使用してこれらの色をカスタマイズできます。詳細については、[TortoiseGit カラー設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-colours)をお読みください。

ダイアログのコンテキストメニューから、変更の差分を表示できます。**コンテキストメニュー** → **ベースと比較を**使用し*て*行ったローカルの変更*を*確認し*ます*。**コンテキストメニュー** → **差分を統合差分として表示**を使用して、他の人が行ったリポジトリの変更を確認します。

個々のファイルの変更を元に戻すこともできます。誤ってファイルを削除してしまった場合は、*Missing* と表示され、*Revert* を使用して回復できます。

バージョン管理されていないファイルは、**コンテキストメニュー** → **削除**を使用して、ここからごみ箱に送信できます。(ごみ箱をバイパスして)ファイルを完全に削除する場合は、**Shift** キーを押しながら[削除]をクリックします。

ファイルを詳細に調べる場合は、ここからテキストエディタや IDE などの別のアプリケーションにドラッグできます。

列はカスタマイズ可能です。列ヘッダーを**右クリック**すると、表示される列を選択できるコンテキストメニューが表示されます。また、マウスを列の境界上に移動すると表示されるドラッグハンドルを使用して、列の幅を変更することもできます。これらのカスタマイズは保持されるため、次回は同じ見出しが表示されます。

一度に複数の無関係なタスクに取り組んでいる場合は、ファイルをチェンジリストにグループ化することもできます。詳細については、[変更リスト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-changelists)をお読みください。

ダイアログの下部には、表示するエントリを選択するためのいくつかのオプションがあります(無視されたファイル、追跡されていない/バージョン管理されていないファイルなど)。ここで「有効と想定」または「ワークツリーをスキップ」とマークされたすべてのファイルを表示することもできます(Showing ingore local changes flagged files を使用)。これらのフラグをリセットします(エクスプローラーの[Git]タブのファイルプロパティを使用してこのフラグを編集することもできます)。

統合 diff の保存:コミットされていない変更を含む統合パッチを生成し、構成された diff ビューアで開きます。変更を他の人に渡したい場合は、[パッチとプルリクエストの作成と適用](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html)を検討してください。

Stash:Git stash にすばやくアクセスするためのドロップダウンメニューです([Stash Changes](https://tortoisegit.org/docs/tortoisegit/tgit-dug-stash.html)を参照)。この機能により、コミットされていない変更を脇に置いて、無関係な問題に取り組み、後で簡単に変更を取り戻すことができます。

コミット:現在のダイアログが開かれたフォルダー/ファイルとまったく同じフォルダーで、コミットダイアログを開きます([リポジトリへの変更のコミット](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html)を参照)。コミットダイアログにファイルのサブセットのみを事前入力する場合は、ファイルを選択し、コンテキストメニューで[**コミット...**] を選択します。

## [差分の表示](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html#tgit-dug-diffing)

多くの場合、ファイルの内部を調べて、変更内容を確認します。これを行うには、変更されたファイルを選択し、TortoiseGit のコンテキストメニューから **Diff** を選択します。これにより、外部diff-viewerが起動し、現在のファイルと`BASE`、最後のチェックアウトまたは更新後に保存された元のコピー(リビジョン)が比較されます。

### Tips

作業ツリー内にない場合や、複数のバージョンのファイルがある場合でも、差分を表示できます。

エクスプローラーで比較する2つのファイルを選択し(**Ctrl**キーとマウスを使用するなど)、TortoiseGit のコンテキストメニューから **Diff** を選択します。最後にクリックしたファイル(フォーカスのあるファイル、つまり点線の長方形)は、後のファイルと見なされます。

------

# [プルとフェッチの変更](https://tortoisegit.org/docs/tortoisegit/tgit-dug-pull.html)

このセクションでは、別のリポジトリから変更を取得またはプル(ダウンロード)する方法について説明します。プルとフェッチの違いは次のとおりです。

Fetchは、オブジェクトと参照をリモートリポジトリからダウンロードし、通常はリモートトラッキングブランチを更新します。プルは、しかし、変更をダウンロードするだけでなく、それらをマージします-それはフェッチとマージの組み合わせです([マージ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-merge.html)を参照)。設定されたリモート追跡ブランチが自動的に選択されます。

### 重要

マージするたびに、両方のブランチでファイルが変更され、その変更を自動的にマージできない可能性があります。これは「競合」と呼ばれ、手動で解決する必要があります。詳細については、[競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)を参照してください。

プル/フェッチは、**TortoiseGit** → **Pull ...**または**TortoiseGit** → **Fetch ...**を使用して開始でき**ます**。同期ダイアログ([同期](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html)を参照)を使用して変更をフェッチおよびプルすることもできますが、オプションはより少なくなりますが、同期ダイアログでは、プッシュや差分や変更を確認するなどの他の操作を開始できます。

フェッチとプルのダイアログが開きます。



###### **プルダイアログ**

![プルダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitPull.png)





###### **取得ダイアログ**

![取得ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Fetch.png)



リモート構成済みのリモートリポジトリを選択します(これらはリモートの管理ラベルを使用して変更できます)。設定されたリポジトリの代わりに、別のリポジトリの URL を任意の URL テキストボックスに入れることもできます。

現在のアクティブなブランチにリモート追跡ブランチセットがある場合、リモートブランチとリモートリポジトリが自動的に選択されます。リモート追跡ブランチは、参照ブラウザ([すべての参照を参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)を参照)またはプッシュダイアログ([プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)を参照)を使用して設定できます。

その他:他の URL またはローカルディレクトリを入力します。**...**をクリックして、ディレクトリを参照できます。

[パテキーの自動ロード]チェックボックスをオンにすると、構成済みのパテキーが Pageant を使用して自動的にロードされます。

タグには3つの状態があります(git 1.9以降)::`Checked`すべてのタグとブランチがダウンロードされます(`--tags`gitに渡されます)、: `unchecked`タグがダウンロードされません(`--no-tags`gitに渡されます)、および3番目の状態:デフォルトの動作を使用します(`remote.<name>.tagopt`設定に基づきます) )。タグには3つの状態(git 1.9より前)があります`Checked`::すべてのタグのみがダウンロードされますが、ブランチはダウンロードされません(gitに渡されます`--tags`)、: `unchecked`タグはダウンロードされません(`--no-tags`gitに渡されます)、および3番目の状態:デフォルトの動作を使用します(ベース上の`remote.<name>.tagopt`設定)。

プルーンは:3つの状態があり`True`、もはや、リモートに存在しないリモート追跡の枝を削除する`false`:削除しないように、そして第3の状態:(に基づいて使用し、デフォルトの動作`remote.<name>.prune`または`fetch.prune`上で設定することができますgitの設定[リモート](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-remote)を)。

### Tips

[付録F「*SSH / PuTTYのヒントとコツ」*](https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html)で、PuTTY および ssh-keys の使用に関する詳細情報を見つけることができます。また、リモートで複数のアカウントを同時に使用する方法についても説明します。

### 対立

主要なマージ作業は Git によってプル中に自動的に行われますが、チェリーピッキング中に競合が発生する場合があります(つまり、現在のブランチとプルしているブランチでファイルが変更されました)。[競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)を参照してください競合を解決する方法について。

競合エディターの「REMOTE」/「theirs」は、プル/マージのために選択したブランチの変更と、作業ツリーのHEAD バージョンへの「LOCAL」/「mine」の変更を指すことに注意してください。

あなたはより多くの情報を見つけることができます[gitのフェッチ(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-fetch(1))と、[(1)gitのプル](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-pull(1))。

------

# [プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)

このセクションでは、変更を別のリポジトリにプッシュ(送信)する方法について説明します。

プッシュを実行するには、**TortoiseGit** → **プッシュ...**を使用してプッシュダイアログを開きます。同期ダイアログ([同期](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html)を参照)を使用して変更をプッシュすることもできますが、選択肢は少なくなりますが、同期ダイアログを使用すると、プルなどのその他の操作を開始したり、差分や変更を確認したりできます。

###### **プッシュダイアログ**

![プッシュダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitPush.png)

## [ブランチ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html#id605095)

ローカル:他のリポジトリにプッシュされるソースブランチ。現在のブランチまたは選択したローカルブランチにリモート追跡ブランチセットがある場合、リモートブランチとリモートリポジトリが自動的に選択されます。リモート追跡ブランチは、参照ブラウザを使用して設定するか([すべての参照を参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)を参照)、または [Upstream](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)/ track リモートブランチを設定を使用して設定できます。このダイアログでは、選択したリモートに常にプッシュ...オプションのいずれかを使用してオーバーライドできます。これにより、マージとプルに関して別のブランチをプッシュするための自動選択が自動的に選択されます。

リモート:他のリポジトリのリモートブランチ。

## [先](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html#id604404)

リモート:構成済みのリモートリポジトリを選択します。

任意のURL:リモートリポジトリのURL。

変更をベアリポジトリにプッシュする必要があります。作業ツリーのあるリポジトリに変更をプッシュすると、予期しない結果が生じる可能性があります。

## [オプション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html#id603445)

Force (既知の変更を破棄する場合があります)これにより、リモートリポジトリがより安全な非早送りプッシュを受け入れることができます。これにより、リモートリポジトリのコミットが失われる可能性があります。注意して使用してください。これにより、リモート上の他の人からの不明な変更が失われるのを防ぐことができます。サーバーブランチがリモートトラッキングブランチと同じコミットを指しているかどうかを確認します(既知の変更)。はいの場合、強制プッシュが実行されます。それ以外の場合は拒否されます。Git にはリモートトラッキングタグがないため、このオプションを使用してタグを上書きすることはできません。これ`--force-with-lease`は`git push`コマンドのオプションを渡します。

強制(不明な変更を破棄する場合があります)これにより、リモートリポジトリが安全でない非早送りプッシュを受け入れることができます。これにより、リモートリポジトリのコミットが失われる可能性があります。注意して使用してください。これはサーバーのコミットを確認しません。そのため、リモートで不明な変更が失われる可能性があります。タグを上書きするには、このオプションを[タグを含める]と共に使用します。これは、コマンドの従来の`--force`オプションを渡します`git push`。

タグを含めるまた、タグをリモートリポジトリにプッシュします。

パテキーの自動ロード

### Tips

[付録F「*SSH / PuTTYのヒントとコツ」*](https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html)で、PuTTY および ssh-keys の使用に関する詳細情報を見つけることができます。また、リモートで複数のアカウントを同時に使用する方法についても説明します。

アップストリーム/トラックリモートブランチの設定:プッシュに成功すると、プッシュされたローカルブランチとそのリモートトラッキングブランチの間にトラッキング関係が設定されます。これにより、プル/プッシュおよびマージのためにリモートブランチが自動的に選択されます。

このローカルブランチの選択したリモートアーカイブに常にプッシュする

このローカルブランチの選択されたリモートブランチに常にプッシュする

再帰サブモジュール `None`:チェックなし。`Check`:すべてのサブモジュールの限定されたコミットがリモートリポジトリに存在するかどうかを確認します。サブモジュールのいずれかがプッシュされない場合、スーパープロジェクトのプッシュは失敗します。`On-demand`:すべてのサブモジュールの限定されたコミットがリモートリポジトリに存在するかどうかを確認します。サブモジュールがまだプッシュされていない場合、サブモジュールをプッシュしようとします。

詳細については、[git-push(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-push(1))をご覧ください。

------

# [同期する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html)

同期ダイアログは、1つのダイアログでリモートリポジトリに関連するすべての操作のインターフェイスを提供します。これは、プッシュを含み、パッチを送り、フェッチ、リモートアップデート、サブモジュールのアップデートを引く...しかし、同期ダイアログが参照されたい(に関するダイアログとして以下のオプションを提供し、[引いて、変更を取得する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-pull.html)および[プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html))。

**Sync ...**を使用して同期ダイアログを開くことができます。

同期ダイアログが表示されます。



###### **同期ダイアログ**

![同期ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitSync.png)

## [ブランチ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html#id604914)

ローカルブランチ:他のリポジトリへ/からプッシュ/プルするソースブランチ。現在のブランチまたは選択したローカルブランチにリモート追跡ブランチセットがある場合、リモートブランチとリモートリポジトリが自動的に選択されます。リモート追跡ブランチは、参照ブラウザ([すべての参照を参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)を参照)またはプッシュダイアログ([プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)を参照)を使用して設定できます。

リモートブランチ:リモートリポジトリのリモートブランチ。

## [先](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html#id605274)

リモートURL:リモートリポジトリを選択するか、リモートリポジトリのURLを入力します。

管理新しいリモート名を追加します。

## [オプション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-sync.html#id603771)

フォースフォース上書き既存のブランチ(変更を破棄してもよいです)

自動ロードパテキープッシュまたはプルオートロードパテキー

### Tips

fetch、pull、fetch、stash 変更、またはサブモジュールの更新/同期を選択しながら **Shift** キーを押すと、個別のダイアログボックスを開いて、特定の操作のパラメーターをさらに制御できます。

------

# [デーモン](https://tortoisegit.org/docs/tortoisegit/tgit-dug-daemon.html)

リモートGit リポジトリにプッシュせずに、ローカルリポジトリを他の人とすばやく共有したい場合があります。そのとき、**TortoiseGit** → **Daemon ...**を使用する必要があります。

###### **実行中のデーモンダイアログ**

![実行中のデーモンダイアログ](https://tortoisegit.org/docs/tortoisegit/images/DaemonProgress.png)



このコマンドは、ポート 9418(git:// hostname /) で Git プロトコルを提供する Git Daemon を実行します。

### 注意

選択したリポジトリは、さらに認証することなく読み取り/書き込みアクセス用にエクスポートされます。

### 重要

ホストはローカルネットワーク内でのみアクセス可能であり、ファイアウォールの調整が必要になる場合があります。

詳細については、[git-daemon(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-daemon(1))を参照してください。

------

# [すべての参照を参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)

このセクションでは、すべてのref(タグ、ブランチ、リモートブランチ、スタッシュなど)を表示および操作できるリファレンスブラウザについて説明します。**TortoiseGit** → **参照の参照...**を使用して開くことができます。

###### **参照ダイアログの参照ダイアログ**

![参照ダイアログの参照ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/BrowseRef.png)

左側のパネルには、タグ、ヘッド(ローカルブランチ)などの参照「タイプ」がツリーで表示されます。

右側のパネルには、最新のコミット、説明、および(ローカルブランチの場合)リモートトラッキングブランチを含む、選択したタイプのすべてのrefが表示されます(**ネストしたref**を使用して無効にしない場合は再帰的に)。

上部には、右側のパネルに表示されている参照をフィルタリングするために使用できる編集バーがあります。検索構文は、[ログ]ダイアログで使用できる構文に似ています([ログメッセージのフィルタリング](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-filter)を参照)。

両方のパネルには、refの削除/名前変更、リモートトラックブランチの設定(ローカルブランチの場合)、リモートのタグの削除(リモートが選択されている場合の左側のパネル)などの追加オプションを提供する強力なコンテキストメニューがあります。正確に2つのrefが選択されている場合、それらを比較するか、両方のブランチにあるすべてのコミットのログを開く(**branch1 ... branch2のログを表示**)か、2つのブランチのいずれか1つ(**branch1..branch2のログを表示する**)が可能です。

リモートタグを削除するには、左側のリモートのコンテキストメニューを使用して、**[リモートタグの削除...]**を選択します。その後、次のダイアログが表示されます。そこで、複数のリモートタグを一度に削除できます。

###### **リモートタグの削除ダイアログ**

![リモートタグの削除ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/DeleteRemoteTag.png)

------

# [サブモジュール](https://tortoisegit.org/docs/tortoisegit/tgit-dug-submodules.html)

外部リポジトリを作業ツリー/ Git リポジトリに埋め込む場合、これはサブモジュールと呼ばれます。**TortoiseGit** → **Submodules Add**オプションを使用して、外部リポジトリをソースツリーの専用サブディレクトリに埋め込むことができます。このオプションを選択すると、ダイアログがポップアップします:

###### **サブモジュールの追加ダイアログ**

![サブモジュールの追加ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitSubModuleAdd.png)

ここで、ディレクトリPathに埋め込むリポジトリの場所/ URLを入力できます。パスは、アクティブなソースツリー内の相対パスとして入力できますが、絶対パス(アクティブなソースツリーを指す)にすることもできます。フォルダは空または存在しない必要があります。リポジトリのHEADを統合したくない場合は、別のブランチを入力できます。**OK**を押すと、入力したリポジトリが複製され、現在のソースツリーに統合されます。

作業ツリーにサブモジュールが含まれている場合、2つの新しいコンテキストメニューエントリが利用できます。

###### **サブモジュールのコンテキストメニューエントリ**

![サブモジュールのコンテキストメニューエントリ](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuSubmodules.png)



**サブモジュールの更新**:



###### **サブモジュールの更新ダイアログ**

![サブモジュールの更新ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/SubmoduleUpdate.png)

サブモジュールを初期化するか、登録されたサブモジュールを更新します。つまり、欠落しているサブモジュールのクローンを作成し、含まれるリポジトリのインデックスで指定されたコミットをチェックアウトします。

サブモジュールの**同期**:サブモジュールのリモート URL 構成設定をで指定された値に同期し`.gitmodules`ます。これは、サブモジュールURLがアップストリームで変更され、それに応じてローカルリポジトリを更新する必要がある場合に便利です。

また、作業ツリーはサブモジュール、含まれている場合は[、「A作業ツリー(コミットするようにスイッチを)チェックアウト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-checkout.html)および[リセット](https://tortoisegit.org/docs/tortoisegit/tgit-dug-reset.html)のサブモジュールを更新するためのボタンが含まれていました:

###### **進行中のサブモジュールを更新するためのボタン**

![進行中のサブモジュールを更新するためのボタン](https://tortoisegit.org/docs/tortoisegit/images/CheckoutSubmodules.png)



詳細については、[git-submodule(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-submodule(1))をご覧ください。

------

# [変更リスト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-changelists.html)

理想的な世界では、一度に1つの作業のみを行い、作業ツリーには論理的な変更のセットが1つだけ含まれます。さて、現実に戻りましょう。多くの場合、一度に複数の無関係なタスクを処理する必要があり、コミットダイアログを見ると、すべての変更が一緒に混在しています。*チェンジ*機能を使用するグループは、それが簡単にあなたが何をしているかを確認するために行う、ファイルを一緒に役立ちます。もちろん、これは変更が重複しない場合にのみ機能します。2つの異なるタスクが同じファイルに影響する場合、変更を分離する方法はありません。

### Tips

Gitにはstashing([Stash Changes](https://tortoisegit.org/docs/tortoisegit/tgit-dug-stash.html))と呼ばれる同様の機能があります。

一般に、Gitコミットは単なるローカルであるため、新しいブランチを作成することを検討する必要があります。皆さんのリポジトリではなく、自分のリポジトリをいじるだけです。

チェンジリストはいくつかの場所で見ることができますが、最も重要なものはコミットダイアログと変更の確認ダイアログです。いくつかの機能と多くのファイルを操作した後、変更の確認ダイアログから始めましょう。最初にダイアログを開くと、変更されたすべてのファイルが一緒にリストされます。物事を整理し、機能に応じてそれらのファイルをグループ化するとします。

1つ以上のファイルを選択し、**コンテキストメニュー** → **チェンジリスト**に移動を使用して、チェンジリストにアイテムを追加します。最初はチェンジリストはありませんので、これを初めて行う場合は新しいチェンジリストを作成します。使用目的を説明する名前を付け、[**OK**]をクリックします。ダイアログが変更され、アイテムのグループが表示されます。

###### **チェンジリストを含むコミットダイアログ**

![チェンジリストを含むコミットダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Changelist.png)

コミットダイアログでは、チェンジリストでグループ化された同じファイルを見ることができます。グループ化をすぐに視覚的に示すだけでなく、グループの見出しを使用して、コミットするファイルを選択することもできます。

グループヘッダーをクリックしてすべてのエントリを選択し、選択したエントリのいずれかをチェックしてすべてをチェックします。

TortoiseGit は、使用のために1つのチェンジリスト名を予約しています`ignore-on-commit`。これは、ローカルに変更があっても、ほとんどコミットしたくないバージョン管理されたファイルをマークするために使用されます。この機能については、[コミットリストから項目を除外する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-ignore)で説明しています。

チェンジリストに属するファイルをコミットすると、通常、チェンジリストのメンバーシップは不要になると予想されます。そのため、デフォルトでは、コミット時にファイルはチェンジリストから自動的に削除されます。

### Tips

チェンジリストは、純粋にローカルの TortoiseGit クライアント機能です。チェンジリストの作成と削除は、リポジトリにも他の誰かの作業コピーにも影響しません。ファイルを整理するのに便利な方法です。

------

# [ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)

変更およびコミットするたびに、その変更のログメッセージを提供する必要があります。そうすれば、後でどのような変更を加えたのか、またその理由を知ることができ、開発プロセスの詳細なログを取得できます。

ログダイアログは、これらのすべてのログメッセージを取得して表示します。表示は3つのペインに分かれています。

- 上部のペインには、ファイル/フォルダーへの変更がコミットされたリビジョンのリストが表示されます。この要約には、日付、時刻、改訂をコミットした人、およびログメッセージの開始が含まれます。

  太字で示されている行は HEAD コミットを示し、「Working tree changes」というエントリは、作業ツリーの現在の(コミットされていない)状態を表す仮想エントリです。

- 中央のペインには、選択したリビジョンの完全なログメッセージが表示されます。

- 下のペインには、選択したリビジョンの一部として変更されたすべてのファイルとフォルダーのリストが表示されます。

しかし、それはそれ以上のことをします-それはあなたがプロジェクト履歴に関するさらに多くの情報を得るために使用できるコンテキストメニューコマンドを提供します。

## [リビジョンログダイアログの呼び出し](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-1)

###### **改訂ログダイアログ**

![改訂ログダイアログ](https://tortoisegit.org/docs/tortoisegit/images/LogMessages.png)

[ログ]ダイアログを表示できる場所はいくつかあります。

- **TortoiseGit** → **ログを表示...**を使用して、エクスプローラーのコンテキストメニューから。
- コミットを選択できるさまざまなTortoiseGitダイアログから(多くの場合**...**ボタンを使用)。
- コンテキストメニューを使用してコミットエントリまたはファイルが表示されるさまざまなTortoiseGitダイアログから。

## [改訂ログアクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-actions)

上部ペインには、そのリビジョンで行われたことを要約するアイコンを含むアクション列があります。4つの異なるアイコンがあり、それぞれ独自の列に表示されます。

| icon                                                         | 説明                                                         |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ActionModifiedIcon.png) | リビジョンがファイルまたはディレクトリを変更した場合、*変更された*アイコンが最初の列に表示されます。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ActionAddedIcon.png) | リビジョンがファイルまたはディレクトリを追加した場合、*追加された*アイコンが2列目に表示されます。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ActionDeletedIcon.png) | リビジョンがファイルまたはディレクトリを削除した場合、*削除された*アイコンが3番目の列に表示*され*ます。 |
| ![img](https://tortoisegit.org/docs/tortoisegit/images/ActionReplacedIcon.png) | リビジョンがファイルを置き換えた(名前を変更した)場合、*置き換えられた*アイコンが4列目に表示されます。 |

## [追加情報を取得する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-2)

###### **コンテキストメニューのあるリビジョンログダイアログの上部ペイン**

![コンテキストメニューのあるリビジョンログダイアログの上部ペイン](https://tortoisegit.org/docs/tortoisegit/images/LogContextMenu.png)

[ログ]ダイアログの上部ペインには、より多くの情報にアクセスできるコンテキストメニューがあります。**Shift**キーを押して、いくつかのオプションを含む拡張メニューを表示できます。

- 作業ツリーと比較する

  選択したリビジョンを作業ツリーと比較します。デフォルトの Diff-Tool は TortoiseGit で提供されるTortoiseGitMerge です。ログダイアログがフォルダ用である場合、変更されたファイルのリストが表示され、各ファイルに加えられた変更を個別に確認できます。

- 統一された差分として変更を表示

  選択したリビジョンで行われた変更を Unified-Diff ファイル(GNUパッチ形式)として表示します。これは、数行のコンテキストの違いのみを示しています。視覚的なファイル比較よりも読みにくいですが、すべてのファイルの変更をコンパクトな形式でまとめて表示します。

- 前のリビジョンと比較

  選択したリビジョンを前のリビジョンと比較します。これは、作業ツリーと比較するのと同じように機能します。フォルダの場合、このオプションは最初に変更されたファイルのダイアログを表示し、比較するファイルを選択できます。

- リポジトリを閲覧する

  リポジトリブラウザーを開いて、選択したリビジョンでのリポジトリ内の選択したファイルまたはフォルダーを調べます([リポジトリブラウザー](https://tortoisegit.org/docs/tortoisegit/tgit-dug-repobrowser.html)を参照)。

- これにリセット(現在のブランチ)

  HEADを選択したコミットにリセットします([リセット](https://tortoisegit.org/docs/tortoisegit/tgit-dug-reset.html)を参照)。

- リビジョンへの切り替え/チェックアウト

  作業ツリーを選択したリビジョンに更新します。作業ツリーに過去の時間を反映させたい場合、またはリポジトリへのさらなるコミットがあり、作業ツリーを一度に1ステップずつ更新したい場合に役立ちます。

- リビジョンからブランチを作成

  選択したリビジョンに基づいてブランチを作成します([ブランチ/タグ付け](https://tortoisegit.org/docs/tortoisegit/tgit-dug-branchtag.html)を参照)。

- リビジョンからタグを作成

  選択したリビジョンにタグを作成します([分岐/タグ付け](https://tortoisegit.org/docs/tortoisegit/tgit-dug-branchtag.html)を参照)。

- これにリベース(現在のブランチ)

  選択したコミットの上に現在のブランチをリベースします([リベース](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rebase.html)を参照)。

- このバージョンをエクスポート...

  選択したリビジョンを zip などのアーカイブファイルにエクスポートします。これにより、リビジョンを確認するダイアログが表示され、エクスポートの場所を選択します([Git 作業ツリーのエクスポート](https://tortoisegit.org/docs/tortoisegit/tgit-dug-export.html)を参照)。

- このコミットによる変更を元に戻す

  選択したリビジョンで行われた変更を元に戻します。すべての変更は作業ツリーに統合されます。すぐにコミットするか、後で編集してコミットするかを選択できます。元に戻した変更を破棄するには、ハードリセットを実行します。

- メモを編集する

  選択したコミットのメモを編集します。

- Cherry このコミットを選択

  チェリーは、HEAD の上でこのコミットを選択します([チェリーピッキング](https://tortoisegit.org/docs/tortoisegit/tgit-dug-cherrypick.html)を参照)。

- 二等分開始

  二等分を開始します。バグを導入した変更をバイナリ検索で見つけます([Bisect](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bisect.html)を参照)。

- パッチのフォーマット...

  このコミットからパッチを作成します。

- SHA-1 をクリップボードにコピーします

  選択したリビジョンのコミットハッシュをクリップボードにコピーします。

- クリップボードにコピー

  選択したリビジョンのログの詳細をクリップボードにコピーします。これにより、リビジョン番号、作成者、日付、ログメッセージ、および各リビジョンの変更されたアイテムのリストがコピーされます。

- ログメッセージをクリップボードにコピー

  選択したリビジョンのログメッセージをクリップボードにコピーします。

- ログメッセージを検索...

  ###### **[ログメッセージの検索]ダイアログ**![[ログメッセージの検索]ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/LogSearch.png)

入力したテキストのログメッセージを検索します。これにより、入力したログメッセージと、Git が作成したアクションの概要(下のペインに表示)も検索されます。検索では大文字と小文字は区別されません。先端これにより、ref(タグとブランチ)を簡単に検索できます。参照または[**検索**]をクリックしながら **Shift** キーを押すと、選択せずにコミットに移動できます。

- このコミットが存在するブランチを表示します

  選択コミットが属するブランチを表示します。ローカルブランチとリモートブランチの両方が表示されます。

###### **選択した2つのリビジョンのトップペインコンテキストメニュー**

![選択した2つのリビジョンのトップペインコンテキストメニュー](https://tortoisegit.org/docs/tortoisegit/images/LogContextMenu1.png)

(通常の **Ctrl** -modifier を使用して)一度に2つのリビジョンを選択すると、コンテキストメニューが変わり、オプションが少なくなります。

- リビジョンを比較する

  視覚的な差異ツールを使用して、選択した2つのリビジョンを比較します。デフォルトの Diff-Tool はTortoiseGit で提供される TortoiseGitMerge です。

- 差分を統合差分として表示する

  選択した2つのリビジョン間の違いを Unified-Diff ファイルとして表示します。これは、ファイルとフォルダーに対して機能します。

- これらのコミットによる変更を元に戻す

  選択したリビジョンで行われた変更を元に戻します。すべての変更は作業ツリーに統合されます。すぐにコミットするか、後で編集してコミットするかを選択できます。元に戻した変更を破棄するには、ハードリセットを実行します。

- 1つのコミットに結合する

  連続コミットを1つのコミットに結合します。

- 選択したコミットのチェリーピック

  チェリーピックは、現在の HEAD の上にコミットを選択しました([チェリーピッキング](https://tortoisegit.org/docs/tortoisegit/tgit-dug-cherrypick.html)を参照)。

- パッチのフォーマット...

  選択した2つのコミット間にパッチを作成します。

- SHA-1 をクリップボードにコピーします

  CRLF で区切られた、選択したリビジョンのコミットハッシュをクリップボードにコピーします。

- クリップボードにコピー

  上記のように、ログメッセージをクリップボードにコピーします。

- ログメッセージをクリップボードにコピーする

  選択したリビジョンのログメッセージをクリップボードにコピーします。これにより、各リビジョンのログメッセージがコピーされます。これにより、リリースノートの準備が容易になります。

- ログメッセージを検索...

  上記のようにログメッセージを検索します。

2つ以上のリビジョンを選択する場合(通常の**Ctrl**または**Shift**修飾子を使用)、選択コミットを1つのコミットに結合できます。そして、チェリーは現在のブランチへのこれらのコミットを選びます。

###### **コンテキストメニューのある[ログ]ダイアログの下部ペイン**

![コンテキストメニューのある[ログ]ダイアログの下部ペイン](https://tortoisegit.org/docs/tortoisegit/images/LogContextMenu2.png)

[ログ]ダイアログの下部ペインには、次のことができるコンテキストメニューもあります。

- ベースと比較

  選択したファイルをベースバージョンと比較します。

- 統合された差分として表示

  統一された差分形式でファイルの変更を表示します。このコンテキストメニューは、*変更済み*として表示されるファイルでのみ使用できます。

- 作業ツリーと比較する

  選択したファイルを作業ツリーと比較します。

- このリビジョンへの変更を元に戻す

  選択したファイルをこのリビジョンの状態に戻します。

- 親リビジョンへの変更を元に戻す

  選択したファイルをこのリビジョンの前の状態に戻します。

- ログを表示

  選択した単一ファイルの改訂ログを表示します。

- 非難...

  [非難]ダイアログを開き、選択したリビジョンを非難できます([誰がどの行を変更しましたか?](https://tortoisegit.org/docs/tortoisegit/tgit-dug-blame.html)を参照)。

- リビジョンを保存...

  選択したリビジョンをファイルに保存して、そのファイルの古いバージョンを取得します。

- 選択をエクスポート...

  選択したファイルをターゲットディレクトリに保存します。「リビジョンを保存...」と比較すると、ディレクトリ構造が保持されます。

- 代替エディターでリビジョンを表示

  選択したコミットを使用して、notepad2 などの代替エディターで選択したファイルを表示します。

- 開く/開く...

  選択したファイルを、そのファイルタイプのデフォルトビューアーまたは選択したプログラムで開きます。

- 探索する

  エクスプローラーでファイルのディレクトリを開きます。

- パスをクリップボードにコピー

  パスをクリップボードにコピー

- すべての情報をクリップボードにコピーします

  すべての情報をクリップボードにコピーし、バージョン情報を含めます。

### Tips

あなたは時々私たちが変化を参照し、他の時間は違いを参照することに気づくかもしれません。違いは何ですか?

## [ログメッセージのフィルタリング](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-filter)

数百のリストをスクロールするのではなく、関心のあるものだけを表示するようにログメッセージを制限する場合は、ログダイアログの上部にあるフィルターコントロールを使用できます。

最初の要素はブランチ/リビジョンフィルターです。をクリックすると、参照ブラウザが開きます([参照をすべて参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)を参照)。そこで、単一または複数の参照を選択できます。正確に2つの参照を選択する場合、それらの結合方法を選択できます(特にAとBの両方を表示 "A B";違いの表示 "A ... B"またはAとB間のすべてのコミット "A..B")。このフィルター要素には、特別なコンテキストメニューも含まれています。ここでは、「HEAD」、「FETCH_HEAD」、「すべて」、「すべてのローカルブランチ」のショートカットを使用できます。また、最後に手動で選択したフィルターがそこに含まれています。

開始日と終了日のコントロールを使用すると、出力を既知の日付範囲に制限できます。検索ボックスでは、特定のフレーズを含むメッセージのみを表示できます。From のデフォルトの制限は、Dialogs 1 ページの設定ダイアログで構成できます([TortoiseGitダイアログの設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-dialogs)を参照)。

検索アイコンをクリックして、検索する情報を選択し、*正規表現*モードを選択します。通常、単純な部分文字列検索のみが必要ですが、より柔軟な検索語が必要な場合は、正規表現を使用できます。マウスをボックスの上に置くと、ツールチップに正規表現関数の使用方法に関するヒントが表示されます。検索式全体の結果を反転するには、感嘆符( '!')で文字列を開始します。また、[*http://www.regular-expressions.info/*](http://www.regular-expressions.info/)でオンラインドキュメントとチュートリアルを見つけることもできます。フィルタは、あなたのフィルタ文字列は、ログエントリに一致するかどうかをチェックして、エントリのみで動作します*一致する*フィルタ文字列が表示されます。

単純な部分文字列検索は、検索エンジンと同様の方法で機能します。検索する文字列はスペースで区切られ、すべての文字列が一致する必要があります。先頭`-`を使用して、特定の部分文字列が見つからないことを指定し(その用語の一致を反転)、`!`式の先頭で使用して、式全体の一致を反転できます。先行`+`文字列を使用して、以前にで除外されていた場合でも、部分文字列を含めるように指定できます`-`。ここでは、包含/除外の順序が重要であることに注意してください。スペースを含む必要がある文字列を囲むために引用符を使用できます。リテラル引用符を検索する場合は、2つの引用符を一緒に自己エスケープシーケンスとして使用できます。バックスラッシュ文字があることに注意してください*ません*エスケープ文字として使用され、単純な部分文字列検索では特別な意味はありません。例はこれを簡単にします:

```
アリスボブ-イブ

```

AliceとBobの両方を含むがEveは含まない文字列を検索します

```
アリス-ボブ+イブ

```

ボブではなくアリスの両方を含む文字列、またはイブを含む文字列を検索します。

```
-ケース+ SpecialCase

```

Caseを含まないが、SpecialCaseを含む文字列を含む文字列を検索します。

```
アリス・ボブ

```

アリスとボブの両方を含まない文字列を検索します

```
!-アリス-ボブ

```

ド・モーガンの定理を覚えていますか?NOT(NOT Alice AND NOT Bob)は(Alice OR Bob)になります。

```
「アリスとボブ」

```

リテラル表現「Alice and Bob」を検索します

```
「」

```

テキスト内の任意の場所で二重引用符を検索します

```
「アリスはボブに「こんにちは」と言います」

```

「アリスはボブに「こんにちは」と言う」というリテラル表現を検索します。

[**表示**] → [**無関係な変更されたパスを非表示**]を使用して、下部ペインでパス名をフィルタリングすることもできます。フォルダーのログを取得する場合、そのフォルダー内またはその下のすべてを意味します。ファイルについては、その1つのファイルだけを意味します。無関係な**パス**をグレーアウトする場合は、[**表示**] → [**無関係な変更されたパスをグレー表示**]を選択します。

左下には、[すべてのブランチ]および[プロジェクト全体を表示]チェックボックスがあります。これらを使用して、ブランチの応答をオーバーライドします。ファイル/フォルダーフィルターとリポジトリ全体のログを表示します。これらの設定は、単一のファイルでログダイアログを開始した場合でも、リポジトリに対して記憶されることに注意してください。

[プロジェクト全体を表示]をクリックして、プロジェクト履歴全体を表示できます。ディレクトリやファイルを選択する必要はありません。

**ビュー** + **ラベル** → **タグ** **ビュー** + **ラベル** → **ローカルブランチは** **見る** + **ラベル** → **リモートブランチ**あなたはロググラフに一部の参照型を示す無効にすることができます。

**表示** → **Gravatar** 特定のリポジトリのGravatarを有効/無効にすることができます。

**Walk Behavior** → **First Parent** は、最初の親コミットをフォローアップします。これは、全体の履歴を理解するのに役立ちます。

**歩行動作** → マージ**なし**すべてのマージポイントをスキップします。

**ウォーク動作** → **名前の変更に従う**これは、名前の変更を追跡する単一のファイルでのみ使用できます。それ以外の場合、ログリストは、現在のファイル名が導入したコミットで停止します。

**Walk Behavior** → **Compressed Graph** ロググラフは、マージポイント、参照付きコミット、およびその他のコミットを含むように単純化されています。

**ウォーク動作** → **ラベル付きコミットのみを表示**ロググラフは、参照のみのコミットを含むように簡略化されています。

## [ナビゲーション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-navigation)

右上のドロップダウンコントロールを使用してナビゲーションタイプ(作成者の電子メール、親1、選択履歴など)を選択し、**上**および**下の**緑色のボタンを使用して、現在選択されているナビゲーションタイプに一致するコミットをナビゲートできます1。

緑色の「**上」**ボタンと「**下」**ボタンの代わりに、**ALT** + **UP** および **ALT** + **DOWN** ホットキーも使用できます。

ナビゲーションタイプ「選択履歴」に関して、TortoiseGitは選択したコミットの履歴を記憶するため、過去に選択したコミットを簡単にナビゲートできます。**ALT** + **LEFT**、**ALT** + **RIGHT**、**Browse Back**、および**Browse Forwardを**押してナビゲートすることもできます。マウスの**戻る**ボタンと**進む**ボタンも使用できます。

**Shift** も押すと、最後のコミットを選択せずに選択履歴をナビゲートできます(つまり、スクロールして強調表示するだけです)。これにより、コミットをナビゲートしてから、本当に選択したいコミットを選択できます(たとえば、現在選択されているコミットと以前に選択したコミットを比較できます)。

特定のハッシュを使用してコミットにジャンプする場合は、**Ctrl + V** または **Shift + Insert** を押して(検索ボックス以外のログダイアログ要素に)クリップボードからハッシュを貼り付けます。有効なコミットハッシュの形式の場合、ログダイアログはそれにジャンプしようとします。

### 統計情報

## [統計情報](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-5)

[**統計**]ボタンをクリックすると、[ログ]ダイアログに表示されるリビジョンに関する興味深い情報を示すボックスが表示されます。これは、何人の著者が働いているか、彼らが行ったコミットの数、週ごとの進捗などを示しています。これで、誰が一生懸命働いていて、誰が怠けているかが一目でわかります;-)

#### 統計ページ

このページには、考えられるすべての数値、特に対象となるリビジョンの期間と数、および最小/最大/平均値が表示されます。

#### 著者ページによるコミット

###### **著者別のヒストグラム**

![著者別のヒストグラム](https://tortoisegit.org/docs/tortoisegit/images/StatsByAuthor.png)

このグラフは、単純なヒストグラム、積み上げヒストグラム、または円グラフとしてプロジェクトでアクティブになっている作成者を示します。

###### **作者によるコミット円グラフ**

![作者によるコミット円グラフ](https://tortoisegit.org/docs/tortoisegit/images/StatsByAuthPie.png)



少数の主要な著者と多数のマイナーな寄稿者がいる場合、小さなセグメントの数によってグラフが読みにくくなる可能性があります。下部のスライダーを使用すると、しきい値を設定して(コミットの合計に対する割合として)、そのしきい値を下回ると、アクティビティが[*その他]*カテゴリにグループ化されます。

#### 日付別コミットページ

###### **日付別コミットグラフ**

![日付別コミットグラフ](https://tortoisegit.org/docs/tortoisegit/images/StatsByDate.png)

このページでは、コミット*と作成*者の数の観点からプロジェクトアクティビティをグラフィカルに表示します。これにより、プロジェクトがいつ作業され、いつ誰が作業していたかがわかります。

複数の著者がいる場合、グラフ上に多くの線が表示されます。:ここで利用可能な2つのビューがあり*、通常*、それぞれの作者の活動がベースラインと比較しており、*積み重ねられた*各作者の活動が下に線に対してですが、。後者のオプションは、交差する線を回避します。これにより、グラフは読みやすくなりますが、1人の著者の出力が見にくくなります。

デフォルトでは、分析では大文字と小文字が区別されるため、ユーザー`PeterEgan`と`PeteRegan`異なる作成者として扱われます。しかし、多くの場合、ユーザー名は大文字と小文字は区別されません、時には矛盾入力されているので、あなたがしたいこと`DavidMorgan`と`davidmorgan`同じ人として扱われるように。作成者の大文字と小文字を区別しないチェックボックスを使用して、この処理方法を制御します。

統計ダイアログは、.mailmap ファイルも尊重します([MAPPING AUTHORS](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-blame(1)__mapping_authors)を参照)。

統計は、「ログ」ダイアログと同じ期間をカバーすることに注意してください。それが1つのリビジョンのみを表示している場合、統計はあまりわかりません。

## [ビューを更新する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-refresh)

リポジトリで新しいログメッセージを再度確認する場合は、**F5** を使用して単純にビューを更新できます。

------

# [改訂グラフ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-revgraph.html)

###### **改訂グラフ**

![改訂グラフ](https://tortoisegit.org/docs/tortoisegit/images/RevisionGraph.png)

ブランチやタグがそのポイントからどこで取得されたかを知る必要がある場合があります。この種の情報を表示する理想的な方法は、グラフまたはツリー構造としてです。**TortoiseGit** → **リビジョングラフ**を使用する必要があるときです**...**

このコマンドは、改訂履歴を分析し、タグ、ブランチ、およびその他の参照のポイントを示す直接グラフを作成しようとします。

### 重要

グラフを生成するには、TortoiseGit はすべてのログメッセージをリポジトリルートから取得する必要があります。参照ポイントがあるコミットを表示するだけです。

## [リビジョングラフノード](https://tortoisegit.org/docs/tortoisegit/tgit-dug-revgraph.html#tgit-dug-revgraph-nodes)

各リビジョングラフノードは、表示しているツリーで何かが変更されたリポジトリ内のリビジョンを表します。異なるタイプのノードは、**TortoiseGit** → **設定**を使用して設定できる色で区別できます

グラフには、アイテムがタグ、ブランチ、またはその他の参照によって参照されたポイントのみが表示されることに注意してください。プロジェクトのすべてのリビジョンを表示すると、重要な場合に非常に大きなグラフが生成されます。

## [グラフを使用する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-revgraph.html#tgit-dug-revgraph-use)

大きなグラフを簡単にナビゲートするには、概要ウィンドウを使用します。これにより、グラフ全体が小さなウィンドウに表示され、現在表示されている部分が強調表示されます。強調表示された領域をドラッグして、表示されている領域を変更できます。

マウスがリビジョンボックスの上にあるときはいつでも、リビジョン日付、作成者、コメントがヒントボックスに表示されます。

あなたは二つのリビジョン(使用を選択した場合**はCtrl** - **左クリックを**)、あなたはこれらのリビジョン間の差分を表示するには、コンテキストメニューを使用することができます。ブランチ作成ポイントのように差分を表示することもできますが、通常は、ブランチエンドポイント、つまりHEADリビジョンで差分を表示する必要があります。

違いを Unified-Diff ファイルとして表示できます。このファイルには、最小限のコンテキストですべての違いが1つのファイルに表示されます。**コンテキストメニュー** → **リビジョンの比較**を選択すると、変更されたファイルのリストが表示されます。ファイル名を**ダブルクリック**して、ファイルの両方のリビジョンを取得し、視覚的な差分ツールを使用して比較します。

リビジョンを**右クリック**すると、**コンテキストメニュー** → **ログの表示を**使用して履歴を表示できます。

## [ビューを更新する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-revgraph.html#tgit-dug-revgraph-refresh)

サーバーで新しい情報を再度確認する場合は、**F5**を使用してビューを更新するだけです。

------

# [参照ログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-reflog.html)

参照ログ(reflog)は、参照の履歴を表示します(つまり、過去に参照したコミットの参照先が表示されます)。**TortoiseGit** → **RefLog**を使用して開くことができますが、デフォルトでは拡張コンテキストメニューにあるため、**Shift**キーを押しながらエクスプローラーでフォルダーを右クリックする必要があります。

###### **RefLogダイアログ**

![RefLogダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitReflog.png)

RefLogは、削除されたコミットまたはHEAD位置を復元するために使用できます(たとえば、しばらく前にHEADであったブランチを削除した場合)。

詳細については、[git-reflog(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-reflog(1))を参照してください。

------

# [リポジトリブラウザ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-repobrowser.html)

時には、作業ツリー(例:裸のリポジトリ)を持たずに、リポジトリのすべてのコンテンツ/ファイルを表示する必要がある場合や、リビジョンに切り替えずにリビジョンのすべてのファイルを表示したい場合があります。それが*リポジトリブラウザの*目的です。**TortoiseGit** → **Repo-browser** を使用して、またはコミットのコンテキストメニューを使用してログダイアログ([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照)から開くことができます。

###### **リポジトリブラウザ**

![リポジトリブラウザ](https://tortoisegit.org/docs/tortoisegit/images/RepoBrowser.png)

リポジトリブラウザは、Windows エクスプローラーに非常によく似ていますが、コンピュータ上のファイルではなく、特定のリビジョンのリポジトリのコンテンツが表示される点が異なります。左側のペインにはディレクトリツリーが表示され、右側のペインには選択したディレクトリの内容が表示されます。リポジトリブラウザウィンドウの上部に、リポジトリ内のパスと参照するリビジョンが表示されます。

Windows エクスプローラーと同様に、並べ替え順序を設定する場合は、右ペインの列見出しをクリックできます。また、エクスプローラーと同様に、両方のペインでコンテキストメニューを使用できます。

古いバージョンのファイルを取得するには、ファイルをクリックして[**リビジョンを保存**]を選択しますが、1つ以上のファイルをWindows エクスプローラーウィンドウにドラッグすることもできます。

ファイルのコンテキストメニューを使用すると、次のことができます。

- 選択したファイルを、そのファイルタイプのデフォルトビューアーまたは選択したプログラムで開きます。
- そのファイルのリビジョンログを表示して、その履歴を確認できるようにします。
- 選択したリビジョンのファイルを作業ツリーの同じファイルと比較します。
- ファイルを非難し、誰がどの行をいつ変更したかを確認します。
- ファイルのバージョン管理外のコピーをハードドライブに保存するか、作業コピーでこのファイルを元に戻します(つまり、ファイルを作業ツリーの古いパスに保存します)。
- アドレスバーに表示されているフルパスのファイル名をクリップボードにコピーします。

フォルダのコンテキストメニューでは、次のことができます。

- そのフォルダーの改訂ログを表示します。
- 絶対パスをクリップボードにコピーします。

**F5** を使用して、通常どおりビューを更新できます。これにより、現在表示されているすべてが更新されます。

------

# [違いを見る](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html)

プロジェクト開発で最も一般的な要件の 1 つは、何が変更されたかを確認することです。同じファイルの2つのリビジョン間の違い、または 2 つの別々のファイル間の違いを確認することができます。TortoiseGit は、テキストファイルの違いを表示するためのTortoiseGitMergeという名前の組み込みツールを提供します。画像ファイルの差分を見るために、TortoiseGit もというツールがある TortoiseGitIDiff を。もちろん、必要に応じて、お気に入りの diff プログラムを使用できます。

## [ファイルの違い](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-diff-file)

- ローカル変更

  作業ツリーで行った(コミットされていない)変更*を*確認するには、エクスプローラーのコンテキストメニューを使用して、**TortoiseGit** → **Diff**を選択します。

- 前のリビジョンとの違い

  特定のリビジョンと作業ツリーの違いを確認するには、[ログ]ダイアログを使用し、目的のリビジョンを選択して、コンテキストメニューから[**作業ツリーと比較**]を選択します([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照)。最後にコミットされたリビジョンと作業ツリーの違いを確認したい場合、作業ツリーが変更されていないと仮定して、ファイルを右クリックします。次に、**TortoiseGit** → **前バージョンとの差分を**選択します。これにより、(作業ツリーに記録されている)最終コミット日より前のリビジョンと作業中のBASEの差分が実行されます。これにより、そのファイルに最後に加えられた変更が表示され、現在の作業ツリーに表示される状態になります。作業ツリーよりも新しい変更は表示されません。

- 2つの以前のリビジョンの違い

  すでにコミットされている2つのリビジョンの違いを確認する場合は、[ログ]ダイアログを使用して、比較する2つのリビジョンを選択します(通常の**Ctrl** -modifier を使用)。次に、コンテキストメニューから[**リビジョンの比較**]を選択します([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照)。[リビジョンの比較]ダイアログが表示され、変更されたファイルのリストが表示されます(フォルダーフォルダーが事前に適用されている場合があります)。詳細については、[バージョンの比較](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-compare-revs)をご覧ください。

- コミットで行われたすべての変更

  特定のリビジョンのすべてのファイルに加えられた変更を1つのビューで表示する場合は、Unified-Diff 出力(GNU パッチ形式)を使用できます。これは、数行のコンテキストの違いのみを示しています。視覚的なファイル比較よりも読みにくいですが、すべての変更をまとめて表示します。[リビジョンログ]ダイアログから目的のリビジョンを選択し、コンテキストメニューから[**差分をUnified-Diffとして表示**]を選択します。

- ファイルの違い

  2つの異なるファイルの違いを確認したい場合は、両方のファイルを選択して(通常の**Ctrl** -modifier を使用)、エクスプローラーで直接確認できます。次に、エクスプローラーのコンテキストメニューから**TortoiseGit** → **Diffを**選択します。

- 別のブランチ/タグとの違い

  異なるブランチ(現在のブランチから別のブランチまたは2つのブランチ)の変更を確認する場合は、ログダイアログを使用して、「2つの以前のリビジョンの違い」で説明した2つのリビジョンを選択できます。簡単な方法は、参照ブラウザーを開くことです([参照をすべて参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)を参照)。そこで、1つのブランチをクリックして[**作業ツリー**と**比較**]を選択すると、そのブランチと作業ツリーの現在の状態との間のすべての変更を確認できます。[すべての参照を参照](https://tortoisegit.org/docs/tortoisegit/tgit-dug-browse-ref.html)で説明されているように、コンテキストメニューを使用して2つのブランチを選択し、それらを比較することもできます。

- フォルダーの違い

  TortoiseGit に付属の組み込みツールは、ディレクトリ階層間の違いの表示をサポートしていません。

サードパーティの diff ツールを構成している場合は、Diff コマンドを選択するときに**Shift**を使用して、代替ツールを使用できます。組み込みツール。[外部プログラム設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-progs)を読んで[、](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-progs)他の差分ツールの設定について調べてください。

## [行末と空白のオプション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-diff-eol-whitespace)

プロジェクトの寿命の中で、行末をから`CRLF`に`LF`変更したり、セクションのインデントを変更したりする場合があります。残念ながら、コードの意味に変更はありませんが、これにより多数の行が変更済みとしてマークされます。ここのオプションは、違いの比較と適用に関して、これらの変更を管理するのに役立ちます。これらの設定は、バージョンの比較ダイアログ([バージョンの比較](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-compare-revs)を参照)、およびTortoiseGitMergeの設定に表示されます。

行末を無視すると、行末スタイルの違いのみによる変更が除外されます。

空白の比較には、インデントのすべての変更と追加/削除された行としてのインライン空白が含まれます。

空白の変更を無視すると、空白の量またはタイプの変更のみに起因する変更が除外されます。インデントを変更するか、タブをスペースに変更します。以前に空白がなかった場所に空白を追加したり、空白を完全に削除したりしても、変更として表示されます。

すべての空白を無視すると、空白のみの変更はすべて除外されます。

当然、内容が変更された行は常に差分に含まれます。

## [バージョンの比較](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-compare-revs)

###### **リビジョンの比較ダイアログ**

![リビジョンの比較ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/CompareRevisions.png)

ログダイアログで、2つのコミットを選択すると、**コンテキストメニュー** → **リビジョンを比較**、またはコミットを選択すると、**コンテキストメニュー** → **以前のバージョンと比較/作業ツリーと比較** ; またはWindows エクスプローラーで、ファイルまたはフォルダーを選択しない場合、**TortoiseGitコンテキストメニュー** → **以前のバージョン**との**差分、**リビジョンの比較ダイアログが表示されます。

このダイアログには、変更されたすべてのファイルのリストが表示され、コンテキストメニューを使用してそれらを個別に比較できます。

選択したファイルをバージョン1またはバージョン2に戻すことができます。この目的のために2つのメニュー項目があります。**コンテキストメニュー** → **リビジョンxxxxxxxに戻す/リビジョンyyyyyyy**に**戻す(** xxxxxxxはリビジョン1の短いハッシュ、yyyyyyyリビジョンは2の短いハッシュ)

*変更ツリー*をエクスポートでき*ます*。これは、プロジェクトツリー構造を他の誰かに送信する必要があるが、変更されたファイルのみを含む場合に便利です。この操作は選択したファイルに対してのみ機能するため、目的のファイルを選択する必要があります(通常はすべてのファイルを意味します)。次に、**コンテキストメニュー** → **選択のエクスポート先...を選択します**。変更ツリーを保存する場所の入力を求められます。

**コンテキストメニュー** → **選択したファイルのリストを保存...**を使用して、変更したファイルの*リスト*をテキストファイルにエクスポートすることもでき**ます**。

ファイルのリスト*と*アクション(変更、追加、削除)もエクスポートする場合は、**コンテキストメニュー** → **選択をクリップボードにコピー**を使用してそれを行うことができます。

上部のボタンを使用すると、比較の方向を変更できます。AからBへの変更、または必要に応じてBからAへの変更の必要性を示すことができます。

リビジョン番号がオンのボタンを使用して、異なるリビジョン範囲に変更できます。範囲を変更すると、2つのリビジョン間で異なるアイテムのリストが自動的に更新されます。

ファイル名のリストが非常に長い場合は、検索ボックスを使用して、リストを特定のテキストを含むファイル名に減らすことができます。単純なテキスト検索が使用されることに注意してください。そのため、リストをCソースファイルに制限する場合は、`.c`ではなく入力する必要があり`*.c`ます。検索構文は、[ログ]ダイアログで使用できる構文に似ています([ログメッセージのフィルタリング](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html#tgit-dug-showlog-filter)を参照)。

## [サブモジュール差分ダイアログを使用したサブモジュールの差分](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-submodulediff)

gitの組み込みdiffコマンドはサブモジュールの差分に使用できますが、多くの場合、サブモジュールがどのように変更されたかについての詳細を確認したいことがあります。それが、サブモジュール差分ダイアログを作成した理由です。サブモジュールの**差分**ダイアログは、サブモジュールのコンテキストメニューの**COmpare with base**エントリを使用して、[変更をリポジトリにコミットする](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html)または[ステータス情報を取得する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html)を使用してのみアクセスできます。

###### **サブモジュール差分ダイアログ**

![サブモジュール差分ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/SubmoduleDiff.png)

上部の[差出人]グループボックスには、元のリビジョンの情報が表示されます。その下には、変更されたリビジョンの情報を表示する「To」グループボックスがあります。各グループボックスについて、完全なコミットハッシュが表示され、強調表示してクリップボードにコピーできます。件名(つまり、コミットメッセージの最初の行)が表示され、クリップボードにもコピーできます。[ログの表示]ボタンをクリックすると、新しいログダイアログが表示され、そのリビジョンにジャンプします。

マウントされたサブモジュールのリビジョンの変更により注意を引くために、いくつかのインジケータを追加しました。[宛先]グループボックスには、変更タイプフィールドがあります。タイプをここにリストします:

- 早送り

  トポロジベース。これは早送りの変更のためです。

- 巻き戻す

  トポロジベース。これは、早送りの変更の逆方向です。

- 新しいコミット時間

  時間ベース。早送りでも巻き戻しでもない場合は、コミット時間を比較します。これは、元のリビジョンよりもコミット時間が新しいリビジョン用です。

- 古いコミット時間

  時間ベース。これは、「新しいコミット時間」の逆転です。

- 同じコミット時間

  時間ベース。コミット時間は同じです。これは、コミットを自動生成するか、2人で同時にコミットすることで生成されます。

- 新しいサブモジュール

  これは、新しく追加されたサブモジュール用です。

- サブモジュールを削除

  これは、削除されたサブモジュール用です。

- 道の

  これは、変更されていないサブモジュールリビジョンハッシュ、エラーなどのためです。

サブモジュールの現在のワークスペースが汚れている場合、コミットハッシュは黄色の背景と赤色のテキストでレンダリングされます。

両方のグループボックスで、リビジョンが取得されない場合、サブモジュールが初期化されない場合、またはその他のエラーがある場合、コミットハッシュは赤の背景でレンダリングされます。

## [TortoiseGitIDiffを使用した画像の差分](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-idiff)

独自のTortoiseGitMergeを含む、テキストファイルの比較に使用できるツールは多数ありますが、画像ファイルがどのように変更されたかを確認したいことがよくあります。これがTortoiseGitIDiffを作成した理由です。

###### **画像差分ビューア**

![画像差分ビューア](https://tortoisegit.org/docs/tortoisegit/images/TortoiseIDiff.png)

**TortoiseGit** → 一般的な画像ファイル形式の**Diff**は、TortoiseGitIDiffを起動して画像の違いを表示します。デフォルトでは、画像は横に並んで表示されますが、代わりに(表示)メニューまたはツールバーを使用して上下の表示に切り替えることができます。または、必要に応じて、画像をオーバーレイしてライトボックスを使用しているふりをすることができます。

当然、画像をズームインおよびズームアウトしてパンすることもできます。左ドラッグするだけで画像をパンすることもできます。[画像を一緒にリンク]オプションを選択すると、両方の画像のパンコントロール(スクロールバー、マウスホイール)がリンクされます。

画像情報ボックスには、ピクセル単位のサイズ、解像度、色深度など、画像ファイルに関する詳細が表示されます。このボックスが邪魔になる場合は、**表示** → **画像情報**を使用して非表示にします。マウスを画像のタイトルバーの上に置くと、ツールチップで同じ情報を取得できます。

画像がオーバーレイされると、画像の相対的な強度(アルファブレンド)は、左側のスライダーコントロールによって制御されます。スライダーの任意の場所をクリックしてブレンドを直接設定するか、スライダーをドラッグしてブレンドをインタラクティブに変更できます。**Ctrlキー+ Shiftキー** - **ホイールは、**ブレンドを変更します。

スライダーの上のボタンは、2つのプリセットブレンドを切り替えます。ブレンドスライダーの両側にあるマーカーで示されます。デフォルトでは、一方が上部にあり、もう一方が下部にあるため、トグルボタンは、一方の画像と他方の画像を切り替えるだけです。マーカーを移動して、トグルボタンが使用する2つのブレンド値を選択できます。

ブレンドではなく、違いを見たい場合があります。プリント基板の2つのリビジョンの画像ファイルがあり、どのトラックが変更されたかを確認したい場合があります。アルファブレンドモードを無効にすると、その差はピクセルカラー値の*XOR*として表示されます。変更されていない領域は真っ白になり、変更は色付きになります。

## [外部差分/マージツール](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-diff-tools)

私たちが提供するツールが必要なことをしない場合は、利用可能な多くのオープンソースまたは商用プログラムのいずれかを試してください。誰もが自分のお気に入りを持っています、そして、このリストは決して完全ではありません、しかし、あなたが考慮するかもしれないいくつかはここにあります:

- WinMerge

  [*WinMerge*](http://winmerge.sourceforge.net/)は、ディレクトリを処理できる優れたオープンソースdiffツールです。

- PERFORCEマージ

  Perforceは市販のRCSですが、diff / mergeツールは無料でダウンロードできます。[*Perforce*](http://www.perforce.com/perforce/products/merge.html)から詳細情報を入手してください。

- KDiff3

  KDiff3は、ディレクトリも処理できる無料のdiffツールです。[*こちら*](http://kdiff3.sf.net/)からダウンロードできます。

- ExamDiff

  ExamDiff Standardはフリーウェアです。ファイルは処理できますが、ディレクトリは処理できません。ExamDiff Proはシェアウェアであり、ディレクトリdiffや編集機能などの多くの機能を追加します。どちらのフレーバーでも、バージョン3.2以降はユニコードを処理できます。[*PrestoSoft*](http://www.prestosoft.com/)からダウンロードできます。

- Beyond Compare

  ExamDiff Proと同様に、これはディレクトリdiffとUnicodeを処理できる優れたシェアウェアdiffツールです。[*Scooter Software*](http://www.scootersoftware.com/)からダウンロードします。

- Araxis Merge

  Araxis Mergeは、ファイルとフォルダーの両方を比較およびマージするための便利な商用ツールです。マージで3者間比較を行い、関数の順序を変更した場合に使用する同期リンクがあります。[*Araxis*](http://www.araxis.com/merge/index.html)からダウンロードします。

- SciTE

  このテキストエディタには、統合された差分の構文の色分けが含まれており、読みやすくなっています。[*Scintilla*](http://www.scintilla.org/SciTEDownload.html)からダウンロードします。

- Notepad2

  Notepad2は、標準のWindows Notepadプログラムの代替として設計されており、Scintillaのオープンソース編集コントロールに基づいています。統合された差分の表示に適しているだけでなく、ほとんどのジョブでWindowsのメモ帳よりもはるかに優れています。[*こちら*](http://www.flos-freeware.ch/notepad2.html)から無料でダウンロードできます。Notepad2は、LFのみの行末をサポートする代替エディターとしてTortoiseGitセットアップに含まれています。Notepad2という名前のスタートメニューにエントリが作成されます。

これらのツールを使用するためにTortoiseGitをセットアップする方法については、[外部プログラム設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-progs)をお読みください。

------

# [新しいファイルを追加する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-add.html)

###### **バージョン管理されていないファイルのエクスプローラーコンテキストメニュー**

![バージョン管理されていないファイルのエクスプローラーコンテキストメニュー](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuFileNoControl.png)

開発プロセス中に新しいファイルを作成した場合は、ソース管理にも追加する必要があります。ファイルまたは空のディレクトリを選択し、**TortoiseGit** → **Add**を使用します。

ファイルをソース管理に追加すると、ファイルに`added`アイコンオーバーレイが表示されます。これは、作業ツリーをコミット(およびプッシュ)して、それらのファイルを他の開発者が使用できるようにする必要があることを意味します。ファイルを追加するだけでは、リモートリポジトリに*は*影響し*ませ*ん。

### 多くの追加

フォルダーで[追加]コマンドを使用することもできます。その場合、追加ダイアログには、そのバージョン管理フォルダー内のバージョン管理されていないファイルがすべて表示されます。これは、多くの新しいファイルがあり、それらを一度に追加する必要がある場合に役立ちます。

### 空のディレクトリ

Gitはコンテンツのみを追跡するため、ディレクトリをバージョン管理(空)することはできません。チェックアウト時にディレクトリを自動的に作成する必要がある場合は、バージョン管理されたファイルが少なくとも1つ存在することを確認してください(例:`.gitkeep`またはなどのプレースホルダーファイル`.gitignore`)。

作業ツリーの外部からファイルを追加するには、ドラッグアンドドロップハンドラーを使用できます。

1. 追加するファイルを選択します
2. 作業ツリー内の新しい場所に**右ドラッグ**します
3. マウスの右ボタンを放します
4. [**コンテキストメニュー]** → **[** **Gitコピーの追加とファイルの追加****]を**選択し**ます**。ファイルは作業ツリーにコピーされ、バージョン管理に追加されます。

コミットダイアログにドラッグアンドドロップするだけで、作業ツリー内にファイルを追加することもできます。

間違ってファイルを追加した場合、**TortoiseGit** → **削除(ローカルに保存)...**または**Revert**を使用して、コミットする前に追加を取り消すことができます。

詳細については、[git-add(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-add(1))をご覧ください。

------

# [ファイルとフォルダーのコピー/移動/名前変更](https://tortoisegit.org/docs/tortoisegit/tgit-dug-copy.html)

リポジトリ内の別のプロジェクトに必要なファイルが既にあり、それらを単にコピーしたいことがよくあります。1つの方法は、ファイルを単にコピーし、上記のように手動で追加することです。

作業ツリー内からファイルとフォルダーをコピーする最も簡単な方法は、右ドラッグメニューを使用することです。ある作業ツリーから別の作業ツリー、または同じフォルダー内にファイルまたはフォルダーを**右ドラッグ**すると、マウスを離すとコンテキストメニューが表示されます。

###### **バージョン管理下のディレクトリの右ドラッグメニュー**

![バージョン管理下のディレクトリの右ドラッグメニュー](https://tortoisegit.org/docs/tortoisegit/images/RightDragMenu.png)

これで、既存のバージョン管理されたコンテンツを新しい場所にコピーし、同時に名前を変更することができます。

ファイルの古いバージョンを取得するには、リポジトリブラウザを使用して目的のコンテンツを見つけ、リポジトリから作業ツリーに直接コピーするか、リポジトリ内の2つの場所間でコピーします。詳細については、[リポジトリブラウザー](https://tortoisegit.org/docs/tortoisegit/tgit-dug-repobrowser.html)を参照してください。

### リポジトリ間でコピーできません

リポジトリ*内で*ファイルやフォルダをコピーおよびコピーできますが、TortoiseGitを使用して履歴を保持しながら、あるリポジトリから別のリポジトリにコピーまたは移動する*ことはできません*。リポジトリが同じサーバー上にある場合でも。できることは、現在の状態のコンテンツをコピーして、新しいコンテンツとして2番目のリポジトリに追加することだけです。

### Gitはコンテンツのみを追跡します

Gitはコンテンツのみを追跡するため、Subversionのようなバージョン管理システムのようにコピーや移動を明示的に記録する必要はありません。Gitは、ログを計算するときに、ファイルの内容に基づいてコピー/名前変更/移動を自動的に検出します。

------

# [ファイルとディレクトリを無視する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-ignore.html)

###### **バージョン管理されていないファイルのエクスプローラーコンテキストメニュー**

![バージョン管理されていないファイルのエクスプローラーコンテキストメニュー](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuFileIgnore.png)

ほとんどのプロジェクトでは、バージョン管理の対象とならないファイルとフォルダーがあります。これらは、コンパイラによって作成されたファイルが含まれる場合があります、`*.obj, *.lst`多分出力フォルダは、実行可能ファイルを格納するために使用されます`bin/, obj/`。その他の例には、ユーザー固有のワークスペース設定`*.suo, *.user`(Visual Studio)、バックアップファイル`*.bak, Backup*/`、シェルメタデータファイルが含まれます`Thumbs.db, Desktop.ini, .DS_Store/`。変更をコミットするたびに、TortoiseGitはバージョン管理されていないファイルを表示し、コミットダイアログのファイルリストがいっぱいになります。もちろん、この表示をオフにすることもできますが、新しいソースファイルの追加を忘れることがあります。

これらの問題を回避する最善の方法は、派生ファイルをプロジェクトの無視リストに追加することです。そうすれば、それらはコミットダイアログに表示されることはありませんが、本物のバージョン管理されていないソースファイルにはまだフラグが立てられます。

バージョン管理されていないファイルを**右クリック**して、コンテキストメニューからコマンド**TortoiseGit** → **無視リストに追加**を選択すると、名前または拡張子による無視を選択できるサブメニューが表示されます。[無視]ダイアログは、無視タイプと無視ファイルを選択できることを示しています。

###### **無視ダイアログ**

![ダイアログを無視](https://tortoisegit.org/docs/tortoisegit/images/IgnoreDialog.png)

### タイプを無視

- 含まれるフォルダー内のアイテムのみを無視する
  そのフォルダー内の選択されたパターンのみを無視します。
- アイテムを再帰的に無視する
  そのフォルダーおよび子フォルダー内の選択されたパターンを持つアイテムを無視します。

### ファイルを無視

- リポジトリルートの.gitignore
  リポジトリルートの.gitignoreに無視エントリを書き込みます。これにより、無視リストをリモートリポジトリと同期できます。
- アイテムの含まれるディレクトリ内の.gitignore
  アイテムの格納ディレクトリに.gitignoreの無視エントリを書き込みます。これにより、無視リストをリモートリポジトリと同期できます。
- .git / info / exclude
  リポジトリメタデータの.git / info / excludeに無視エントリを書き込みます。これにより、無視リストをローカルに保存できますが、リモートリポジトリと同期できません。

TortoiseGitの現在のバージョンで無視リストから1つ以上のアイテムを削除する場合は、Unix EOLを処理できるテキストエディターを使用して無視リストファイルを手動で編集する必要があります。これにより、以下のセクションで説明するファイル名のグロビングを使用して、より一般的なパターンを指定できます。詳細については、[gitignore(5)](https://tortoisegit.org/docs/tortoisegit/git-misc.html#gitignore(5))をお読みください。各無視パターンは別の行に配置する必要があることに注意してください。スペースで区切っても機能しません。

## [無視リストのパターンマッチング](https://tortoisegit.org/docs/tortoisegit/tgit-dug-ignore.html#tgit-dug-ignore-glob)

Gitの無視パターンは、メタ文字をワイルドカードとして使用してファイルを指定するためにUnixで最初に使用された手法であるファイル名グロビングを使用します。次の文字には特別な意味があります。

- *

  空の文字列(文字なし)を含む、任意の文字列に一致します。

- ?

  任意の1文字に一致します。

- [...]

  角括弧で囲まれた文字のいずれかと一致します。括弧内では、「-」で区切られた1組の文字が、2つの間の字句的に一致する文字に一致します。例えば、`[AGm-p]`のいずれかと一致し`A`、`G`、`m`、`n`、`o`または`p`。

パターンマッチングでは大文字と小文字が区別され、Windowsで問題が発生する可能性があります。文字をペアにすることで、大文字と小文字を区別しないようにすることができます。`*.tmp`大文字小文字に関係なく無視するには、のようなパターンを使用できます`*.[Tt][Mm][Pp]`。

------

# [削除、移動、名前の変更](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rename.html)

CVSとは異なり、Gitではファイルとフォルダーの名前変更と移動が可能です。そのため、TortoiseGitサブメニューには、削除および名前変更のためのメニューエントリがあります。ただし、SVNとは異なり、Gitはファイル名を追跡しません。Gitはファイルのコンテンツのみを追跡します。そのため、一般にGitの名前変更機能を使用したり、機能を削除したり、SVNのように「名前変更を修復」する必要はありません。ログを表示すると、名前の変更とコピーが自動的に検出されます。ただし、Gitの削除および移動機能を使用すると、ファイルはGitインデックスから自動的に削除され(つまり、欠落として表示されず、削除されます)、移動/名前変更の場合も新しい名前(つまり、新しい名前バージョン管理外として表示されません)。

###### **バージョン管理されたファイルのエクスプローラーコンテキストメニュー**

![バージョン管理されたファイルのエクスプローラーコンテキストメニュー](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuFileControl.png)

## [ファイルとフォルダーを削除する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rename.html#tgit-dug-rename-delete)

**TortoiseGit** → **削除**を使用して、Gitからファイルまたはフォルダーを削除します。

あなたがすると**TortoiseGit** → **削除**ファイルを、それが作業ツリーから削除された直後にだけでなく、次のコミットでリポジトリに削除のためにマークされます。変更をコミットするまで、**TortoiseGit** → 親フォルダー、または[リポジトリへの変更のコミット](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html)または[ステータス情報の取得](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html)で、**Revert**を使用してファイルを戻すことができます。

リポジトリからアイテムを削除するが、バージョン管理されていないファイル/フォルダーとしてローカルに保持する場合は、**拡張コンテキストメニュー** → **削除(ローカルに保持)を使用し**ます。拡張コンテキストメニューでこれを表示するには、**Shift**キーを押しながら、エクスプローラーリストペイン(右ペイン)の項目を右クリックする必要があります。

### 削除されたファイルまたはフォルダーを取り戻す

ファイルまたはフォルダーを削除し、その削除操作をリポジトリーに既にコミットしている場合、通常の**TortoiseGit** → **復元で**は、それを**元に戻す**ことはできません。ただし、ファイルまたはフォルダーはまったく失われません。ファイルまたはフォルダーが削除されたリビジョンがわかっている場合(ない場合は、ログダイアログを使用して確認)、リポジトリブラウザーを開き、そのリビジョンに切り替えます。次に、削除したファイルまたはフォルダーを選択し、右クリックして[**コンテキストメニュー**] → [**このリビジョンに戻す**]を選択します。詳細については、[リポジトリブラウザ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-repobrowser.html)および[ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照してください。

## [ファイルとフォルダーの移動](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rename.html#tgit-dug-rename-move)

ファイルまたはフォルダの単純なインプレース名前変更を行いたい場合は、**コンテキストメニュー** → **名前の変更...**を使用して、アイテムの新しい名前を入力します。

作業ツリー内のファイルを別のサブフォルダーに移動する場合は、右マウスドラッグアンドドロップハンドラーを使用できます。

1. 移動するファイルまたはディレクトリを選択します
2. 作業ツリー内の新しい場所に**右ドラッグ**します
3. マウスの右ボタンを放します
4. ポップアップメニューで[**コンテキストメニュー]** → **[** **Gitバージョン管理ファイルの移動**]を選択します

### サブモジュールをGitで移動しない

を使用して作成されたフォルダーに対して TortoiseGit の Move または Rename コマンドを使用し*ないで*ください。`git submodule`

## [ファイル名の大文字と小文字の変更](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rename.html#tgit-dug-renameincase)

Windows はデフォルトでファイル名の大文字と小文字を区別しないため、ファイル名の大文字と小文字のみの変更には特別な注意が必要です。したがって、エクスプローラーの名前変更コマンドを使用してファイルの名前を変更するだけでは機能しない可能性があります。インデックスを更新して新しいファイル名を使用するようにするには、Gitを使用して名前を変更することが重要です。TortoiseGit サブメニューの[**名前の変更...**]コマンドを使用します。

## [ファイル名の大文字と小文字の競合への対処](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rename.html#tgit-dug-rename-case-conflict)

リポジトリにすでに同じ名前の2つのファイルが含まれていて、大文字と小文字のみが異なる場合(`TEST.TXT`およびなど`test.txt`)、コミットすることはできず、Windows クライアントでチェックアウトできるのはそのうちの1つだけです。(一般的に)Gitは大文字と小文字を区別するファイル名をサポートしていますが、Windows はサポートしていません。

これは、Linux などの大文字と小文字を区別するファイルシステムを持つシステムからファイルがコミットされた場合、または core.ignorecase の設定が false に設定されている場合に発生します([git-config(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1))を参照)。

その場合、どちらを保持するかを決定し、他のリポジトリをリポジトリから削除する(または他の名前を変更する)必要があります。最も簡単な方法は、大文字と小文字を区別するファイルシステムでそれを行い、その後に変更をコミットしてプッシュすることです。Windows でそれを行うには、いくつかの手順(および2つのコミット)が必要です。

### 解法

1. エクスプローラーでファイルを削除します。
   - 注意
     TortoiseGit サブメニューで**[削除]**または**[削除(ローカルに保持)]**コマンドを使用しないでください。
2. コミットダイアログを開きます。(チェックされたアイテムはすべて`Deleted`ステータスです。)
3. 保持するアイテムを1つだけ選択解除します。
4. 変更をコミットします。
5. 必要なファイルの削除を取り消すと、元に戻ります。「同じ」名前で、新しい名前を付けたファイルを両方とも保持する場合は、問題のすべてのファイルに対してこれを実行し、次のファイルに進む前に名前を変更します。

## [バージョン管理されていないファイルの削除](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rename.html#tgit-dug-rename-del-unversioned)

通常、生成されたすべてのファイルが Git で無視されるように、無視リストを設定します。しかし、これらの無視されたアイテムをすべてクリアして、クリーンなビルドを作成したい場合はどうでしょうか?通常はメイクファイルで設定しますが、メイクファイルをデバッグする場合、またはビルドシステムを変更する場合は、デッキをクリアする方法があると便利です。

TortoiseGit は、**拡張コンテキストメニュー** → **クリーンアップ...**を使用して、まさにそのようなオプションを提供します。コンテキストメニューでこれを表示するには、**Shift** キーを押しながらエクスプローラーリストペイン(右ペイン)でフォルダーを右クリックする必要がある場合があります。これにより、可能なすべてのクリーンアップオプションをリストするダイアログが表示されます([クリーンアップ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-cleanup.html)を参照)。

------

# [変更を元に戻します](https://tortoisegit.org/docs/tortoisegit/tgit-dug-revert.html)

最後のコミット以降にファイルに加えたすべての変更を取り消す場合は、ファイルを選択する必要があります。**右クリック**してコンテキストメニューをポップアップし、コマンド**TortoiseGit** → **Revert** Aダイアログを選択します。変更され、元に戻すことができます。戻すものを選択し、[**OK**]をクリックします。

###### **元に戻すダイアログ**

![元に戻すダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Revert.png)



削除または名前の変更を取り消す場合は、削除されたアイテムが存在しないため、親フォルダーで(元に戻す)を使用して右クリックする必要があります。

アイテムの追加を取り消す場合は、コンテキストメニューに**TortoiseGit** → **削除(ローカルに保持)**として表示されます。これも実際には元に戻しますが、名前を変更してわかりやすくしました。

このダイアログの列は、変更の確認ダイアログの列と同じ方法でカスタマイズできます。詳細については、[ステータス](https://tortoisegit.org/docs/tortoisegit/tgit-dug-wcstatus.html#tgit-dug-wcstatus-2)をお読みください。

### コミットされた変更を元に戻す

**元に戻す**と、ローカルの変更のみが元に**戻り**ます。すでにコミットされた変更*は*元に戻されませ*ん*。あなたが特定のリビジョンにコミットされたすべての変更を元に戻したい場合は、読んで[ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)と[リポジトリブラウザ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-repobrowser.html)詳細についてを。

### コミット全体を元に戻す

コミット全体を取り消す場合は、ログダイアログを使用して、リビジョン/コミットで**このコミットによる変更を元に戻す**を選択する必要があります([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照)。その後、このコミットのすべての変更が取り消され、手動でコミットする必要があるリバートコミットが作成されます([git-revert(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-revert(1))を参照)。前のコミットに(ハード)リセットし、その後のすべてのコミットを忘れることも可能です([リセット](https://tortoisegit.org/docs/tortoisegit/tgit-dug-reset.html)を参照)-これは、変更がすでにプッシュされている場合はお勧めできません(<https://stackoverflow.com/q/27032850/3906760>も参照してください)。

### 復帰が遅い

変更を元に戻すと、操作に予想よりもはるかに長い時間がかかる場合があります。これは、ファイルの変更されたバージョンがごみ箱に送信されるため、誤って元に戻した場合に変更を取得できるためです。ただし、ごみ箱がいっぱいの場合、Windows はファイルを置く場所を見つけるのに時間がかかります。解決策は簡単です。ごみ箱を空にするか、TortoiseGit の設定の[元に戻すときにごみ箱を使用する]を無効にします。

### Revert!=ファイルの「git revert」

TortoiseGit では、ファイルの「元に戻す」という名前は、ファイルを最後の(または特定の)コミット状態にリセットすることに相当します`git checkout HEAD -- filename`(または`git checkout REVISION -- filename`)。これは、[git-revert(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-revert(1))とは関係ありません!

[git-revert(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-revert(1))[](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)は、ログダイアログのこのコミットによる変更を元に戻すことでのみ参照されます([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照)。

------

# [掃除](https://tortoisegit.org/docs/tortoisegit/tgit-dug-cleanup.html)

作業ツリーから未追跡または無視されたファイルを削除するには、**TortoiseGit** → **Cleanupを**使用します。次に、現在のディレクトリ*または*作業ツリー全体(インストールされているgitのバージョンによって異なります)から開始して、バージョン管理下にない、または無視されるファイルを再帰的に削除して作業ツリーをクリーンアップできるダイアログが表示されます。

###### **クリーンダイアログ**

![クリーンダイアログ](https://tortoisegit.org/docs/tortoisegit/images/clean.png)



すべての追跡されていないファイルを消去するこれにより、Git によって無視されたファイルを含むすべての追跡されていないファイルが削除されます。これが最もクリーンなオプションです。

無視されていない追跡されていないファイルのみを消去するこれにより、追跡されていないファイルが削除されますが、Git によって無視されるファイルは除外されます。

無視されたファイルのみを消去するこれにより、Git によって無視されたファイルのみが削除されます。

追跡されていないディレクトリを削除するこれにより、追跡されていないディレクトリも削除されます。

ごみ箱を使用しないでくださいこれらのファイルを直接永久に削除する場合は、このオプションを使用します。後悔しないでください!

ドライランこれは、削除するファイルのリストを提供するだけですが、削除は実行しません。

サブモジュールこれは、サブモジュールも再帰的にクリーニングします。

詳細については、[git-clean(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-clean(1))をご覧ください。

------

# [リセットする](https://tortoisegit.org/docs/tortoisegit/tgit-dug-reset.html)

リセットダイアログを使用して、現在の HEAD を指定された状態にリセットし、オプションでインデックスと作業ツリーをリセットすることもできます。これは、マージを中止するためにも使用できます。

###### **リセットダイアログ**

![リセットダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitReset.png)

###### **マージの中止ダイアログ**

![マージの中止ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/AbortMerge.png)

[リセット]ダイアログで、[**...**]をクリックしてログを参照し、特定のバージョンを選択できます。Abort mergeダイアログでは、HEAD にのみリセットできます。

ソフト:作業ツリーとインデックスはそのままにしておきます(インデックスファイルや作業ツリーにはまったく触れません(ただし、すべてのモードがそうであるように、選択したコミットにヘッドをリセットします)。これにより、変更されたファイルはすべて、以前と同様に「コミットされる変更」のままになります。このオプションは、[マージの中止]ダイアログでは使用できません。

混合:作業ツリーをそのまま残し、インデックスをリセットします作業ツリーではなくインデックスをリセットします(つまり、変更されたファイルは保存されますが、コミットのマークは付けられません)。これはgitのデフォルトアクションです。このオプションは、マージを中止できます。

ハード:作業ツリーとインデックスをリセットします(すべてのローカル変更を破棄します)インデックスと作業ツリーをリセットします。選択したコミット以降の作業ツリー内の追跡ファイルへの変更は破棄されます。このオプションはマージを中止できますが、これはマージの中止ダイアログのデフォルトのアクションです。

### GitハードリセットはWindowsのごみ箱を使用しません

TortoiseGit の復帰またはクリーン機能とは異なり、ハードリセットは Windows のごみ箱を使用しません。つまり、コミットされていない変更は失われる可能性があります。

詳細については、[git-reset(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-reset(1))を参照してください。

------

# [スタッシュの変更](https://tortoisegit.org/docs/tortoisegit/tgit-dug-stash.html)

多くの場合、プロジェクトの一部で作業しているとき、物事は乱雑な状態にあり、他の何かで作業するために少しブランチを切り替えたいと思います。問題は、後でこの点に戻ることができるように、半分完了した作業のコミットを行いたくないということです。この問題に対する答えは、git stash コマンドです。

Stashing は、作業ディレクトリのダーティな状態(つまり、変更された追跡ファイルとステージングされた変更)を取得し、いつでも(別のブランチでも)再適用できる未完成の変更のスタックに保存します。

### Tips

TortoiseGit には、チェンジリスト([チェンジリスト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-changelists.html))と呼ばれる同様の機能があり、コミットの構造化に使用できます。

作業ディレクトリとインデックスの現在の状態を記録したいが、クリーンな作業ディレクトリに戻りたい場合は、フォルダを**右クリック**してコンテキストメニューを表示し、コマンド**TortoiseGit** → **Stash changes** Aダイアログを選択しますオプションでこの状態のメッセージを入力できる場所がポップアップします。

###### **スタッシュ変更ダイアログ**

![Stash変更ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/stash.png)

また、未追跡のファイルを含めるを選択して、未追跡のファイルを隠しておくこともできます。人跡未踏のファイルに加えて、無視されたファイルを含め、離れて、すべてのファイルを隠しておくために、選択し--all。

隠された変更が存在することをTortoiseGitが検出すると、コンテキストメニューが拡張されます。

###### **(un)stash オプション**

![(un)stashオプション](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuStash.png)

スタッシュはスタックとして実装されます。**Stash Apply** は、最新の stash の変更を作業ツリーに適用します。**Stash Pop**も同じことを行いますが、最新の**スタッシュ**を適用後にスタックから削除します。隠し**変更**は引き続き可能です。作業コピーの現在の変更をスタックの一番上に隠します。**スタッシュリスト**は、**スタッシュ**スタック全体の概要を提供します。そこに隠された変更を削除して表示することもできます([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-reflog.html)および[参照ログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)と同様)。

### 対立

主要なマージ作業が自動的にスタッシュを適用するのgitによって行われているが、競合はチェリーピッキング時に発生する可能性があり、(すなわち、ファイルは現在のブランチにもスタッシュに修正された)、を参照してください[競合の解消](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)をどのように競合を解決します。

競合エディターの「REMOTE」/「theirs」は、stash を適用する前に、作業ツリーのstashと「LOCAL」/「mine」をバージョンにマージすることに注意してください。

詳細については、[git-stash(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-stash(1))を参照してください。

------

# [バイセクト](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bisect.html)

どのリビジョンがバグを導入したかを知りたい場合は、二分機能を使用できます。フォルダを**右クリック**してコンテキストメニューをポップアップ表示し、**TortoiseGit** → **Bisect start**コマンドを選択します。ダイアログが表示されます:

###### **二等分開始**

![二等分開始](https://tortoisegit.org/docs/tortoisegit/images/bisect.png)

最後の既知の正常なリビジョンと最初または1つの既知の不良(通常は HEAD)を入力します。

打った後に **OK**、Gitはまず障害のあるリビジョンのバイナリ検索を実行します: Git は途中で改訂版に切り替わります。これで、このリビジョンをテストできます。

TortoiseGit のコンテキストメニューに3つの新しいオプションが追加されました。

###### **二等分オプション**

![二等分オプション](https://tortoisegit.org/docs/tortoisegit/images/ContextMenuBisect.png)

このリビジョンに問題がなければ、**TortoiseGit** → **Bisect good**をヒットします。そうでない場合は、**TortoiseGit** → **Bisect bad**をヒットします。このリビジョンをスキップするには、**TortoiseGit** → **Bisect skip** Git はバイナリ検索を続行し、「次の」リビジョンに切り替えて、テストできるようにします。これは、障害のあるリビジョンが見つかるか、**TortoiseGit** → **Bisectリセットを**クリックしてこの操作を中止するまで続きます(これにより、bisect プロセスがリセットされ、以前のブランチ/ HEAD が切り替わります)。

### リビジョンを選択する

リビジョンをテストできない場合、または別のリビジョンを使用したい場合は、ログに簡単に移動して、現在のHEADを希望するリビジョンに(ハード)リセットできます。

### サブモジュール

サブモジュールを使用する場合、すべての依存関係が最新になるように、各 bisect ステップの後にそれらを更新する必要があります。

詳細については、[git-bisect(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-bisect(1))をご覧ください。

------

# [分岐/タグ付け](https://tortoisegit.org/docs/tortoisegit/tgit-dug-branchtag.html)

バージョン管理システムの機能の1つは、変更を別の開発ラインに分離する機能です。この行は*ブランチ*として知られています。ブランチは、コンパイラエラーやバグで開発のメインラインを妨げることなく、新しい機能を試すためによく使用されます。新機能が十分に安定するとすぐに、開発ブランチがメインブランチに*マージ*されます。

バージョン管理システムのもう1つの機能は、特定のリビジョン(リリースバージョンなど)をマークできるため、特定のビルドまたは環境をいつでも再作成できることです。このプロセスは*タグ付け*と呼ばれ*ます*。

Git は分岐とタグ付けに非常に強力です。ブランチとタグの作成は非常に簡単です。

## [ブランチまたはタグの作成](https://tortoisegit.org/docs/tortoisegit/tgit-dug-branchtag.html#tgit-dug-branch-1)

ブランチの作成は非常に簡単です:**TortoiseGit** → **ブランチの作成...**

###### **ブランチダイアログ**

![ブランチダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Branch.png)



支店:支店名を入力します。

タグの作成は非常に簡単です:**TortoiseGit** → **タグの作成...**

###### **タグダイアログ**

![タグダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Tag.png)



タグ:タグ名を入力します。

ベースとなるコミットを1つ選択できます。

- 頭

  現在のコミットがチェックアウトされました。

- ブランチ

  選択したブランチの最新のコミット。

- タグ

  選択したタグのコミット。

- コミット

  任意のコミット、**...**をクリックしてログダイアログを起動し、コミットを選択します。コミットハッシュ、またはなどのフレンドリコミット名を入力することもできます`HEAD~4`。

作業ツリーを新しく作成されたブランチに自動的に切り替えるには、[新しいブランチ/タグに切り替える]チェックボックスを使用します。ただし、その場合は、まず作業ツリーに変更が含まれていないことを確認してください。存在する場合、これらの変更は、切り替え時にブランチ作業ツリーにマージされます。

trackは3つの値を持つチェックボックスです。チェックされている場合`--track`のGitに渡されOK、オフになっている場合、`--no-track`の Git に渡され OK。3番目の状態は、OK`--track`でも`--no-track`gitにも渡されないことを示します- 構成変数([git-config(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1))を参照および[git-branch(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-branch(1))のドキュメントを参照してください。`branch.autosetupmerge``--track parameter`

チェック・サインタグに署名したGPGを作成します。これは、GPGを必要とし、構成変数は、`user.signingkey`(参照設定する[Gitの構成](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-config)と[gitの-設定(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1)))を。

### Tips

GPG 1.4(Git for Windowsに付属)を使用する場合、これにはパスフレーズ*なし*のキーが必要です。GPG> = 2には pageant などのエージェントが付属しているため、パスフレーズで保護されたキーでも機能しますが、正しい gpg.exe を使用するようにgitを構成する必要がある場合があります。これは、構成変数`gpg.program`(たとえば、`C:/Program Files (x86)/GNU/GnuPG/pub/gpg.exe`)を設定することで実行できます。これを[*Gpg4win*](http://www.gpg4win.de/)でテストしました(GPG4winバニラで十分であり、バージョン2.2.xではGPG 1.4キーファイルとも互換性があります)。

[**OK**]を押して、*ローカルリポジトリに*ブランチまたはタグを作成し*ます*。

作業ツリーを新しく作成したブランチに切り替えることを選択しない限り、ブランチまたはタグを作成しても作業ツリーに*は*影響し*ませ*ん。作業ツリーからブランチを作成しても、それらの変更は新しいブランチではなく、元のブランチにコミットされます。

作業ツリーをタグ/ブランチに切り替える方法については、[作業ツリーのチェックアウト(コミットへの切り替え)](https://tortoisegit.org/docs/tortoisegit/tgit-dug-checkout.html)を参照してください。

あなたはより多くの情報を見つけることができますと呼ばれるセクション[gitのブランチ(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-branch(1))[gitのタグ(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-tag(1))。

------

# [マージ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-merge.html)

ブランチを使用して開発の個別の行を維持する場合、ある段階で、あるブランチで行われた変更を別のブランチにマージしたり、その逆を行うことができます。

Git を使用する前に、Git での分岐とマージの仕組みを理解することが重要です。これは非常に複雑になる可能性があるためです。Git およびマージに関する詳細情報の参照先については、[読書ガイド](https://tortoisegit.org/docs/tortoisegit/tgit-preface-readingguide.html)を参照してください。

次に注意すべき点は、マージは*常に*作業ツリー内で行われるということです。変更*を*ブランチにマージする場合は、そのブランチの作業ツリーをチェックアウトして、**TortoiseGit** → **マージ...**を使用してその作業ツリーからマージウィザードを起動する必要があります。

####### **マージダイアログ**

![マージダイアログ](https://tortoisegit.org/docs/tortoisegit/images/Merge.png)

一般に、変更されていない作業ツリーへのマージを実行することをお勧めします。作業ツリーで他の変更を行った場合は、最初にそれらをコミットします。マージが期待通りに進まない場合は、マージを中止するコマンドを使用してマージを中止することをお勧めします。これにより、*すべての*変更が破棄される場合があります(ハードの場合はモードによって異なります)。

マージするコミットを1つ選択できます。

- 頭

  現在のコミットがチェックアウトされました。

- ブランチ

  選択したブランチの最新のコミット。

- タグ

  選択したタグのコミット。

- コミット

  任意のコミット、**...**をクリックしてログダイアログを起動し、コミットを選択します。コミットハッシュ、またはなどのフレンドリコミット名を入力することもできます`HEAD~4`。

スカッシュは、他のブランチからの変更をマージするだけです。情報をマージできません。新しいコミットはマージブランチを1つの親コミットとして記録しません。ログビューには、2つのブランチ間のマージラインは表示されません。

早送りなしマージが早送りとして解決された場合でも、マージコミットを生成します。早送りマージと非早送りマージの例については、<https://stackoverflow.com/q/41794529/3906760>を参照してください。

コミットなしマージ後にコミットを自動的に作成しません。

メッセージログメッセージに、マージされる実際のコミットからの1行の説明を入力します。マージメッセージに含めるコミットの数を指定できます。

### 対立

主要なマージ作業を自動的にgitで行われているが、競合がマージ中に発生する可能性があり(つまり、ファイルは両方の枝、現在のものとマージする1で修正された)、を参照してください[競合の解消](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)をどのように競合を解決します。

競合エディターの「REMOTE」/「theirs」は、マージするために選択したブランチの変更と、作業ツリーのHEADバージョンへの「LOCAL」/「mine」の変更を指すことに注意してください。

詳細については、[git-merge(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-merge(1))をご覧ください。

------

# [チェリーピック](https://tortoisegit.org/docs/tortoisegit/tgit-dug-cherrypick.html)

TortoiseGit の[チェリーピッキング](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-cherry-pick(1))は、[リビジョンログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)から呼び出されます。このダイアログ内で、チェリーピックするコミットを選択し、選択したコミットの1つを右クリックしてコンテキストメニューをポップアップします。チェリーを選択してこのコミットを選択...(またはチェリーを選択してコミットを選択...複数のコミットが選択されている場合)。

Cherry Pick ダイアログが表示されます。

###### **チェリーピックダイアログ**

![チェリーピックダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitCherryPick.png)



Cherry Pickダイアログは、[Rebaseダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rebase.html)に似ています。上の表には、選択したチェリーピックのコミットごとに1行が表示されます。その下のボタンは、アクション(Pick、Squash、Edit、Skip)および複数のコミットが選択される順序を制御します。行を選択すると、コミットの影響を受けるファイルが表示されます。

### 対立

チェリーピッキングしながら、主要なマージ作業を自動的にgitで行われているが、競合はチェリーピッキング時に発生する可能性があり、(すなわち、ファイルは現在のブランチにも一つ以上に変更されたあなたはチェリーピッキングあるコミット)、参照してください。[競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)方法に関する[競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)。

競合エディターの「REMOTE」/「theirs」は作業中のツリーのHEADバージョンに対する選択および「LOCAL」/「mine」の変更を指すことに注意してください。

詳細については、[git-cherry-pick(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-cherry-pick(1))をご覧ください。

------

# [リベース](https://tortoisegit.org/docs/tortoisegit/tgit-dug-rebase.html)

Rebase は非常に複雑で、リポジトリの履歴を変更/書き換えます。原則を理解してから使用してください(Git と[リベース](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-rebase(1))に関する詳細情報の参照先については、[読書ガイド](https://tortoisegit.org/docs/tortoisegit/tgit-preface-readingguide.html)、特に[git-rebase(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-rebase(1))を参照してください)。

**TortoiseGit** → **リベース**

[リベース]ダイアログが表示されます。

###### **リベースダイアログ**

![リベースダイアログ](https://tortoisegit.org/docs/tortoisegit/images/GitRebase.png)

コミットのリベースは、リストの一番下から一番上まで(ID 列の昇順で)行われます。たとえば`squash`、コミットは、リストの下にある(より低い ID の)以前のコミットと一緒に押しつぶされたり結合されたりすることを意味します。

### Tips

代わりに設定するのでは`pick`、`skip`、`edit`、`squash`コンテキスト・メニューを使用して、あなたはまた、次のキーを使用することができます。**スペース**:状態をシフト、**S**:`skip`、**E**:`edit`、**P**:`pick`、**Q**:`squash`

### Tips

ブランチとアップストリームを入れ替えるボタンがあります。現在`master`ブランチで作業しており、ブランチをにリベースしたいと`feature`し`master`ます。`feature`事前に切り替えるのではなく`feature`、ログリストのコミットを選択し、**コンテキストメニュー** → **リベースして**、このスワップボタンをクリックします。TortoiseGit のリベースは直接に移動`feature`し`master`、コミットをチェリーピックします。このアプローチは、より少ないファイルに触れ、より高速に実行します。

### 重要

マージコミットを保持する場合、すべてのケースでコミットの並べ替えを適切に処理することはできません。vanillagit rebase の既知のバグである[git-rebase(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-rebase(1))を参照してください。

### 対立

メジャーマージ作業はリベース中にgitによって自動的に行われますが、リベース中に競合が発生する可能性があります(つまり、リベースしているブランチとリベースしているブランチの両方でファイルが変更されました)。[競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)方法に関する[競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)。

競合エディターの「REMOTE」/「theirs」は、リベースするブランチの変更と、リベースするブランチの「LOCAL」/「mine」のバージョンを指すことに注意してください。

------

# [競合の解決](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html)

マージ中に、作業ツリーファイルが更新され、マージの結果が反映されます。時々、別のブランチのマージ、チェリーピックコミット、リベースまたはスタッシュの適用時に*競合が*発生します:共通の祖先のバージョンに加えられた変更のうち、重複していないもの(つまり、ファイルは、反対側がその領域をそのまま残したまま、またはその逆)、最終結果にそのまま組み込まれます。ただし、両方の側が同じ領域に変更を加えた場合、Git は一方の側を他方に対してランダムに選択することはできず、両側がその領域に対して行ったことをそのままにして解決するように求めます。競合が報告されるたびに、それを解決する必要があります!

競合する領域は、ファイル内で次のようにマークされています(「競合の表示方法[](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-merge(1)__how_conflicts_are_presented)も参照)。

```
<<<<<<< yours
    あなたの変更
=======
    マージされたコードからの変更
>>>>>>> their

```

任意のエディターを使用して手動で競合を解決するか、**TortoiseGit** → **Edit Conflicts**を使用して外部マージツール/競合エディターを起動できます。次に、TortoiseGitは、選択した競合ファイルのディレクトリに3つの追加ファイルを配置し、構成済みの競合エディターを起動します。

- filename.ext.BASE.ext

  これは、競合するファイルの共通の祖先のバージョンです(このバージョンには、マージされるブランチ/リビジョンの変更も変更も含まれません。特に、競合マーカーは含まれません)。

- filename.ext.LOCAL.ext

  これは、マージを開始する前に作業ツリーに存在していたファイルです(つまり、ファイルはローカルリポジトリのHEADの最新のコミット済み状態に準拠しています)。つまり、競合マーカーはありません。そのため、この状態/バージョンは「鉱山」とも呼ばれます。完全を期すために、「mine」は作業ツリーのHEADバージョンを「stash」/「merge」/「pull」/「cherry-pick」し、リベースするブランチのバージョンを「rebase」することを意味します。

- filename.ext.REMOTE.ext

  これは、マージしたいリビジョンのファイルのバージョンです(通常のマージでは、MERGE_HEAD に対応します)。他の変更をマージしたいので、この状態/バージョンは「それら」とも呼ばれます。完全を期すために、「それら」とは、「stash」/「merge」/「pull」/「cherry-pick」のマージ/ブランチのバージョンを意味し、「rebase」はリベースするブランチのバージョンを意味します。

その後、コマンド**TortoiseGit** → **解決済み**を実行し、リポジトリへの変更をコミットします(リベースまたはチェリーピッキング中に競合が発生した場合は、通常のコミットダイアログではなく、チェリーピック resp。rebase ダイアログを使用してコミットしてください!)。Resolveコマンドは実際には競合を解決しないことに注意してください。それはあなたの変更をコミットすることを可能にすることを決議して、ファイルのステータスをマークする「Gitの追加」を使用し、それが削除され`filename.ext.BASE.ext`、`filename.ext.LOCAL.ext`そして`filename.ext.REMOTE.ext`ファイルを。

バイナリファイルと競合する場合、Gitはファイル自体をマージしようとしません。ローカルファイルは変更されないままです(最後に変更したとおりです)。使用競合を解決するために**TortoiseGitを** → **...解決**し、右側衝突ファイルをクリックして、のいずれかを選択し**解決を**(作業ツリーにあるファイルの現在のバージョンが使用されます)、**「地雷」を使用して衝突を解決**(HEADのファイルのバージョンが使用されます)、および**'theirs'を使用して競合を解決**します(マージされたリビジョン/ブランチのファイルのバージョンが使用されます)。そのコミットの後。

親フォルダーを右クリックし、**TortoiseGit** → **解決...**を選択すると、複数のファイルに対して**解決済み**コマンドを使用できます**。**これにより、そのフォルダー内の競合するすべてのファイルをリストするダイアログが表示され、解決済みとしてマークするファイルを選択できます。

###### **競合の解決ダイアログ**

![競合の解決ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/ResolveConflict.png)

### 重要

Gitは(SVNとは異なり)競合するファイルの`filename.ext.BASE.ext`、`filename.ext.LOCAL.ext`および`filename.ext.REMOTE.ext`ファイルを自動的に作成しません。これらは、コマンド **Edit Conflicts** を使用するときにTortoiseGitによってオンデマンドでのみ作成されます。

### 重要

Git では(SVNとは異なり)競合を解決した後に[コミットする](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html)必要があります。ただし、リベースまたはチェリーピッキング中に競合が発生した場合は、チェリーピックの応答を使用してください。通常のコミットダイアログではなく、コミット用のダイアログをリベースします!

## [特別な紛争事例](https://tortoisegit.org/docs/tortoisegit/tgit-dug-conflicts.html#tgit-dug-conflicts-special)

#### 削除-変更の競合

特別な競合の場合は、削除と変更の競合です。ここで、あるブランチでファイルが削除され、別のブランチで同じファイルが変更されます。この競合を解決するために、ユーザーは変更されたバージョンを保持するか、作業ツリーからファイルを削除するかを決定する必要があります。

###### **削除と変更の競合ダイアログを解決**

![削除と変更の競合ダイアログを解決](https://tortoisegit.org/docs/tortoisegit/images/resolve-delete-modify-conflict.png)

#### サブモジュールの競合

別の特別な競合ケースは、サブモジュールに関連する競合です。ここで、サブモジュールは2つのブランチで異なる(競合する)方法で変更されます。

サブモジュールの競合の解決ダイアログには、競合するサブモジュールのベース、ローカルおよびリモートコミット、およびコミットタイプ(巻き戻し、早送り、...)が表示されます。

###### **サブモジュールの競合の解決ダイアログ**

![サブモジュールの競合の解決ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/resolve-submodule-conflict.png)

### 初期化されていないサブモジュール

サブモジュールがまだ初期化されていない場合、サブモジュール競合の解決ダイアログにはコミットID(SHA-1)のみが表示されます。また、競合を自動的に解決することはできません。最初に、サブモジュールを適切なフォルダーに手動で複製する必要があります。次に、TortoiseGit または Git を使用して競合を解決できます(サブモジュールで適切なコミットをチェックアウトし、親作業ツリーをコミットします)。

------

# [パッチとプルリクエストの作成と適用](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html)

(このような)オープンソースプロジェクトでは、誰でも(メイン/パブリック)リポジトリへの読み取りアクセス権があり、誰でもプロジェクトに貢献できます。では、これらの貢献はどのように制御されますか?誰でもこの中央リポジトリに変更をコミットできれば、プロジェクトは永続的に不安定になり、おそらく永続的に壊れます。この状況では、変更は、書き込みアクセス権を持つ開発チームに*パッチ*ファイルまたは*プルリクエスト*を送信することで管理されます。最初に変更を確認してから、メインリポジトリに送信するか、拒否して作成者に戻すことができます。

パッチファイルは、作業ツリーとベースリビジョンの違いを示す単純なUnified-Diffファイルです。

プルリクエストは、リポジトリから変更を[プル](https://tortoisegit.org/docs/tortoisegit/tgit-dug-pull.html)するための別のリポジトリ所有者へのリクエストです。つまり、変更を[プッシュ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html)できるパブリックリポジトリ(通常は特別なブランチ)にアクセスできる必要があります。

## [パッチシリアルの作成](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html#tgit-dug-patch-createpatchserial)

まず、変更を加えて*テスト*する必要があります。次に、親フォルダーで**TortoiseGit** → **コミット...**を使用して変更を**コミットし**、適切なコミットメッセージを入力します。その後、**TortoiseGit** → **パッチシリアルの作成...**を選択し、変更/コミットを含めるための正しいオプションを選択します。

###### **パッチの作成ダイアログ**

![パッチの作成ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/CreatePatch.png)



ディレクトリは、パッチの出力ディレクトリです。パッチファイル名は、コミットサブジェクトによって作成されます。

以来点からパッチを作成します。**...**をクリックすると、refbrowse ダイアログが起動し、ブランチまたはタグを選択できます。

コミット数は、作成されるパッチの量に制限されます。

範囲は、範囲選択しているからにコミットするの。**...**をクリックしてログダイアログを起動し、コミットを選択できます。

作成起動後にメールを送信パッチが作成された後、メール送信ダイアログが表示されます([メールによるパッチの送信](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html#tgit-dug-patch-sendpatches)を参照してください)。

詳細については、[git-format-patch(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-format-patch(1))をご覧ください。

### 重要

ここで、Git は TortoiseSVN とは異なります: TortoiseSVN では、変更をコミットする代わりに直接パッチを作成し、その後コミットのパッチを作成します(gitでは、クローンしたプロジェクトの完全なローカルコピー/フォークがあります-コミットはローカルのみです)。コミットされていないがステージングされた変更を含むパッチを生成するには、HEAD 以降の統合された差分を保存をクリックします。

Gitでバージョン管理を行うための詳細情報の参照先については、[読書ガイド](https://tortoisegit.org/docs/tortoisegit/tgit-preface-readingguide.html)を参照してください。

## [パッチをメールで送信する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html#tgit-dug-patch-sendpatches)

上流の作者にパッチを送信するには、パッチファイルを選択して右クリックし、**TortoiseGit** → **Send Mail ...**を選択します

###### **パッチの送信ダイアログ**

![パッチの送信ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/SendPatch.png)



最初に、受信者を入力する必要があります(Toおよび/またはCC)。

メールの種類(添付ファイルとしてパッチまたは1つのメールを結合)に応じて、メールの件名を入力する必要があります。

添付ファイルとしてパッチを適用すると、パッチがインライン化されるのではなく、添付ファイルとしてメールに追加されます。

1つのメールを結合すると、すべてのパッチが1 つのメールに追加されます。この場合、メールの件名を入力する必要があります。

## [単一のパッチファイルの適用](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html#tgit-dug-patch-applysinglepatch)

パッチファイルが作業ツリーに適用されます。これは、パッチの作成に使用されたのと同じフォルダレベルから実行する必要があります。これが何かわからない場合は、パッチファイルの最初の行を見てください。たとえば、作業中の最初のファイルがそう`doc/source/english/chapter1.xml`で、パッチファイルの最初の行がそうである`Index: english/chapter1.xml`場合、その`doc/source/`フォルダーにパッチを適用する必要があります。ただし、正しい作業ツリーにいる場合、間違ったフォルダーレベルを選択すると、TortoiseGit は正しいレベルに気付き、提案します。

パッチファイル(`.patch`または`.diff`拡張子)のコンテキストメニューから、**TortoiseGit** → **単一パッチのレビュー/適用...を**クリックします。作業ツリーの場所を入力するように求められる場合があります。

###### **リポジトリの選択ダイアログ**

![リポジトリの選択ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/ChooseRepository.png)

作業ツリーが見つかった場合、TortoiseGitMerge が起動して差異を表示および適用します。

## [パッチシリアルの適用](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html#tgit-dug-patch-applaypatchserial)

パッチファイルが作業ツリーに適用されます。このために、パッチ(またはmbox)ファイルを作業ツリーのルートにコピーします。

そのフォルダー(またはすべてのマークされたパッチファイル)のコンテキストメニューから、**TortoiseGit** → **パッチシリアルの適用...を**クリックします**。**

###### **パッチの適用ダイアログ**

![パッチの適用ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/ApplyPatch.png)



挿入パッチを**追加**

**Up**選択したパッチを**上に**移動します。

**下**選択したパッチを**下に**移動します。

**削除**選択したパッチを削除します。

**適用**パッチの**適用**を1つずつ開始します。

詳細については、[git-am(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-am(1))をご覧ください。

## [プルリクエストを作成する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-patch.html#tgit-dug-patch-pullrequest)

パッチ(またはパッチシリアル)を他の開発者に送信することとは別に、他の人に変更をリポジトリに統合するよう依頼する方法は2つあります。

*最初:(*パブリック)リポジトリに変更をプッシュした後、他の人にリポジトリのURLとブランチ名またはリビジョンIDを提供するだけです。例えば:`git://example.com/repo.git BRANCHNAME`

*2番目:*変更を(パブリック)リポジトリにプッシュした後、標準化された(非常に正式な)リクエストを作成して、変更をプルしてリポジトリに統合するように他の人に依頼できます。フォーマットプルリクエストは、すべてのコミットのリストで構成され、変更されたファイルに関する統計情報を提供するため、他の人が簡単に概要を確認できます。

変更をプッシュした後、進行状況ダイアログで[**プル要求**]を選択します。

###### **プル要求ダイアログ**

![プル要求ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/RequestPull.png)



- 開始

  これは、変更のベースとなるリビジョンである必要があります。

- URL

  リポジトリのパブリックURL。変更をプルするユーザーがアクセスできます。

- 終わり

  これは、コミットの終了のブランチ名またはリビジョンIDである必要があります。

[**OK**]をクリックすると、プルリクエストが作成されます。コピーして、変更を取得したい他の人に渡すだけです。

詳細については、[git-request-pull(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-request-pull(1))をご覧ください。

------

# [誰がどの行を変更しましたか?](https://tortoisegit.org/docs/tortoisegit/tgit-dug-blame.html)

変更された行だけでなく、ファイル内の特定の行を誰が正確に変更したかも知る必要がある場合があります。そのとき、*注釈*コマンドとも呼ばれる **TortoiseGit** → **Blame ...**コマンドが**役立ちます**。

このコマンドは、ファイル内のすべての行、作成者、および行が変更されたリビジョンをリストします。

## [ファイルのせい](https://tortoisegit.org/docs/tortoisegit/tgit-dug-blame.html#tgit-dug-blame-simple)

デフォルトでは、非難ファイルは *TortoiseGitBlame* を使用して表示され、さまざまなリビジョンが強調表示されて読みやすくなります。

###### **TortoiseGitBlame**

![カメGitBlame](https://tortoisegit.org/docs/tortoisegit/images/TortoiseBlame.png)

TortoiseGit に含まれている TortoiseGitBlame。非表示情報列の行にマウスを移動すると、同じリビジョンのすべての行が暗い背景で表示されます。同じ作成者によって変更された他のリビジョンの行は、明るい背景で表示されます。ディスプレイを256色モードに設定している場合、カラーリングは明確に機能しない場合があります。

行(左の非表示情報列)を**左クリック**すると、同じリビジョンのすべての行が強調表示され、同じ作成者による他のリビジョンの行が明るい色で強調表示されます。この強調表示は粘着性があるため、強調表示を失うことなくマウスを移動できます。強調表示をオフにするには、そのリビジョンをもう一度クリックします。

マウスが非難情報列の上にあるときは常に、リビジョンコメント(ログメッセージ)がヒントボックスに表示されます。そのリビジョンのログメッセージをコピーする場合は、非難情報列を右クリックしたときに表示されるコンテキストメニューを使用します。

最も古い変更と最新の変更がどこにあるかを視覚的にわかりやすく表示する必要がある場合は、[表示] → [年齢ごとの色付け、連続]を選択します。次に、線の背景色の強度はその年齢に関連しています。これは、色のグラデーションを使用して、新しい行を黄色で、古い行を白で表示します。デフォルトの色は非常に薄いですが、TortoiseGitBlame 設定を使用して変更できます。

**[表示**]メニューもご覧ください。そこで、**ホワイトスペース**を**無視**を切り替えたり、他のファイルから移動/コピーされた行の検出を切り替えたり、**名前変更**を**フォローし**たりできます。

**編集** → **検索...**を使用して、Blame レポート内を検索できます。これにより、リビジョン番号、作成者、およびファイル自体のコンテンツを検索できます。ログメッセージは検索に含まれません-ログダイアログを使用して検索する必要があります。

**編集** → **行へ移動...**を使用して、特定の行番号にジャンプすることもできます。

マウスが非表示情報の列の上にあるとき、コンテキストメニューを使用して、リビジョンを比較し、マウスの下の行のコミットを参照として使用して履歴を調べることができます。**コンテキストメニュー** → **前のリビジョンを非表示に**すると、同じファイルの非表示レポートが生成されますが、上限として前のリビジョンが使用されます。これにより、表示している行が最後に変更された直前のファイルの状態に関する非難レポートが得られます。**コンテキストメニュー** →[**変更を表示**]を選択すると、差分ビューアーが起動し、ファイルの参照リビジョンで何が変更されたかが表示されます。ただし、これらの2つのオプションは、ファイルの最初のコマンド以降にこの行が存在しない場合にのみ使用できることに注意してください。**コンテキストメニュー** →**表示するログを**参照しているリビジョンから始まる、リビジョンログダイアログを表示します。

TortoiseBlame の設定には、TortoiseGitBlame タブの**TortoiseGit** → **設定...**を使用してアクセスできます。[TortoiseGitBlame設定](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-tortoiseblame)を参照してください。

詳細については、[git-blame(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-blame(1))をご覧ください。

------

# [Git 作業ツリーのエクスポート](https://tortoisegit.org/docs/tortoisegit/tgit-dug-export.html)

特定のリビジョン/コミットのスナップショットが必要な場合があります。たとえば、ソースの圧縮されたtarball を作成したり、Web サーバーにエクスポートしたりします。このため、TortoiseGit は**TortoiseGit** → **Export ...**コマンドを提供します。

###### **エクスポートダイアログ**

![エクスポートダイアログ](https://tortoisegit.org/docs/tortoisegit/images/ExportURL.png)



### エクスポートのZipファイル zipファイル

- 頭

  現在のコミットがチェックアウトされました。

- ブランチ

  選択したブランチの最新のコミット。

- タグ

  選択したタグのコミット。

- コミット

  任意のコミット、**...**をクリックしてログダイアログを起動し、コミットを選択します。コミットハッシュ、またはなどのフレンドリコミット名を入力することもできます`HEAD~4`。

詳細については、[git-archive(1)](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-archive(1))をご覧ください。

### 単一ファイルのエクスポート

エクスポートダイアログでは、単一のファイルをエクスポートできません。

TortoiseGit で単一のファイルをエクスポートするには、リポジトリブラウザー([リポジトリブラウザー](https://tortoisegit.org/docs/tortoisegit/tgit-dug-repobrowser.html)を参照)またはログダイアログ([ログダイアログ](https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html)を参照)を使用する必要があります。エクスポートするファイルをリポジトリブラウザーからエクスプローラーの目的の場所にドラッグするか、リポジトリブラウザーのコンテキストメニューを使用してファイルをエクスポートします。

------

# [バグ追跡システム/問題追跡システムとの統合](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html)

変更が特定のバグまたは問題IDに関連することは、ソフトウェア開発では非常に一般的です。バグ追跡システム(問題追跡システム)のユーザーは、Git で行った変更を問題追跡システムの特定の ID に関連付けたいと考えています。したがって、ほとんどの問題追跡ツールは、コミットが関連付けられているバグ ID を見つけるためにログメッセージを解析する事前コミットフックスクリプトを提供します。事前コミットフックスクリプトが正しく解析できるように、ユーザーがログメッセージを適切に書き込むことに依存しているため、これは多少エラーが発生しやすくなります。

TortoiseGit は、次の2つの方法でユーザーを支援できます。

1. ユーザーがログメッセージを入力すると、コミットに関連付けられた問題番号を含む明確に定義された行を自動的に追加できます。これにより、バグ追跡ツールが正しく解析できない方法でユーザーが問題番号を入力するリスクが軽減されます。

   または、TortoiseGit は、入力されたログメッセージの問題トラッカーが認識する部分を強調表示できます。これにより、ユーザーはログメッセージを正しく解析できることがわかります。

2. ユーザーがログメッセージを参照すると、TortoiseGit はログメッセージ内の各バグIDからリンクを作成し、言及された問題へのブラウザーを起動します。

## [ログメッセージへの問題番号の追加](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html#tgit-dug-bugtracker-link)

TortoiseGit には、選択したバグ追跡ツールを統合できます。これを行うには、で始まる設定を定義する必要があります`bugtraq.`。これらの設定は、TortoiseGit 設定ダイアログを使用して編集できます。[Config](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-hooks-issuetracker-config)

TortoiseGit と課題追跡を統合する方法は2つあります。1つは単純な文字列に基づいており、もう1つは*正規表現に*基づいてい*ます*。両方のアプローチで使用される構成は次のとおりです。

- bugtraq.url

  この構成をバグ追跡ツールのURLに設定します。適切にURIエンコードする必要があり、を含む必要があります`%BUGID%`。`%BUGID%`入力した発行番号に置き換えられます。これにより、TortoiseGit はログダイアログにリンクを表示できるため、リビジョンログを見ているときにバグ追跡ツールに直接ジャンプできます。この構成を提供する必要はありませんが、TortoiseGit は問題番号のみを表示し、それへのリンクは表示しません。例:TortoiseGit プロジェクトが使用している`https://tortoisegit.org/issue/%BUGID%`

- bugtraq.warnifnoissue

  `true`課題番号のテキストフィールドが空であるためにTortoiseGitに警告する場合は、これをに設定します。有効な値は`true/false`です。*定義されていない場合は、false想定されます。*

#### テキストボックスの問題番号

単純なアプローチでは、TortoiseGit はユーザーにバグIDを入力できる別の入力フィールドを表示します。次に、ユーザーが入力したログメッセージに別の行が追加/追加されます。

- bugtraq.message

  この構成は、*入力フィールド*モードでバグ追跡システムをアクティブにします。この構成が設定されている場合、TortoiseGit は、変更をコミットするときに問題番号を入力するように求めます。ログメッセージの最後に行を追加するために使用されます。を含める必要があり`%BUGID%`、コミット時に発行番号に置き換えられます。これにより、コミットログに常に一貫した形式の問題番号への参照が含まれ、バグ追跡ツールで解析して問題番号を特定のコミットに関連付けることができます。例としてを使用できますが`Issue : %BUGID%`、これはツールによって異なります。

- bugtraq.append

  この構成は、ログIDをログメッセージの末尾に追加する(true)か、ログメッセージの先頭に挿入する(false)かを定義します。有効な値は`true/false`です。*定義されていない場合は true、既存のプロジェクトが中断しないように想定されています。*

- bugtraq.label

  このテキストは、TortoiseGit がコミットダイアログで表示し、問題番号を入力する編集ボックスにラベルを付けます。設定されていない場合`Bug-ID / Issue-Nr:`は、表示されます。ただし、ウィンドウはこのラベルに合わせてサイズ変更されないため、ラベルのサイズは20〜25文字未満にしてください。

- bugtraq.number

  `true`issue-numberテキストフィールドでは、数字のみに設定できます。例外はコンマなので、複数の数字をコンマで区切ることができます。有効な値は`true/false`です。*定義されていない場合は、true 想定されます。*

#### 正規表現を使用した発行番号

*正規表現を使用し*たアプローチでは、TortoiseGit は個別の入力フィールドを表示しませんが、ユーザーが入力するログメッセージの問題トラッカーによって認識される部分をマークします。これは、ユーザーがログメッセージを書き込むときに行われます。これはまた、バグIDがログメッセージ内のどこにでも存在できることを意味します!この方法ははるかに柔軟で、TortoiseGit プロジェクト自体が使用する方法です。

- bugtraq.logregex

  この構成により、*正規表現*モードでバグ追跡システムがアクティブになります。単一の正規表現、または改行で区切られた2つの正規表現が含まれます。2つの式が設定されている場合、最初の式は、バグIDを含む式を見つけるための事前フィルターとして使用されます。2番目の式は、最初の正規表現の結果からベアバグIDを抽出します。これにより、必要に応じてバグIDと自然言語表現のリストを使用できます。たとえば、いくつかのバグを修正し、次のような文字列を含めることができます。「この変更により、#23、#24、および#25の問題が解決します」ログメッセージ内の上記の式で使用されるバグIDをキャッチしたい場合は、TortoiseGit のプロジェクトで使用されるものであり、以下の正規表現の文字列を、使用することができます`[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+`し、`(\d+)`最初の式は、周囲のログメッセージから「issue#23、#24および#25」を選択します。2番目の正規表現は、最初の正規表現の出力から単純な10進数を抽出するため、バグIDとして使用するために「23」、「24」、および「25」を返します。最初の正規表現を少し分解すると、大文字で始まる可能性のある「issue」という単語で始まる必要があります。これには、オプションで「s」(複数の問題)とオプションでコロンが続きます。これには、先頭に0個以上の空白、オプションのカンマまたは「and」、およびオプションのスペースが含まれる1つ以上のグループが続きます。最後に、必須の「#」と必須の10進数があります。1つの式のみが設定されている場合、正規表現文字列のグループ内でベアバグIDが一致する必要があります。例:`[Ii]ssue(?:s)? #?(\d+)`このメソッドは、tracなどのいくつかの課題トラッカーで必要ですが、正規表現を作成するのは困難です。問題追跡ツールのドキュメントで指示されている場合にのみ、この方法を使用することをお勧めします。正規表現に慣れていない場合は、[*https://en.wikipedia.org/wiki/Regular_expressionの*](https://en.wikipedia.org/wiki/Regular_expression)概要と、[*http://www.regular-expressions.info/の*](http://www.regular-expressions.info/)オンラインドキュメントと[チュートリアル](http://www.regular-expressions.info/)をご覧ください。

`bugtraq:message`と`bugtraq:logregex`プロパティの両方が設定されている場合`logregex`は、優先されます。

### Tips

ログメッセージを解析するプリコミットフックを備えた課題トラッカーがない場合でも、これを使用して、ログメッセージに記載されている課題をリンクに変換できます。

また、リンクが不要な場合でも、問題番号はログダイアログに個別の列として表示されるため、特定の問題に関連する変更を簡単に見つけることができます。

#### 階層Git構成に基づいた課題トラッカープロバイダーの設定

これは、特定のディレクトリパスではなくプロジェクトに課題追跡プラグインを関連付ける階層的なgit構成です。このような設定はより移植性があります。設定を展開するには、プロジェクトレベルに設定してコミットし`.tgitconfig`ます。

- bugtraq.provideruuid

  これは、32ビットの課題追跡プラグインのGUIDです。

- bugtraq.provideruuid64

  これは、64ビットの課題追跡プラグインのGUIDです。

- bugtraq.providerparams

  これは、課題追跡プラグインのパラメーター文字列です。

この課題追跡システムの統合は、TortoiseGit に限定されません。他のクライアント(TortoiseSVNなど)で使用できます。詳細については、TortoiseGit ソースリポジトリの完全な[*Issue Tracker Integration Specificationを参照*](https://gitlab.com/tortoisegit/tortoisegit/blob/master/doc/issuetrackers.txt)してください。([TortoiseGitは無料です!](https://tortoisegit.org/docs/tortoisegit/tgit-preface-source.html)では、リポジトリにアクセスする方法について説明しています)。

## [課題トラッカーから情報を取得する](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html#tgit-dug-bugtracker-ref)

前のセクションでは、ログメッセージへの問題情報の追加について説明しました。しかし、問題追跡システムから情報を取得する必要がある場合はどうでしょうか?コミットダイアログには、トラッカーと通信できる外部プログラムを統合できる Windows COM インターフェイスがあります。通常、トラッカーにクエリを実行して、割り当てられている未解決の問題のリストを取得し、このコミットで対処されている問題を選択できるようにします。

もちろん、このようなインターフェイスはシステムに非常に固有のものであるため、この部分は提供できません。また、このようなプログラムの作成方法については、このマニュアルの範囲外です。インターフェイス定義とサンプルプログラムは`contrib`、[*TortoiseGitリポジトリ*](https://gitlab.com/tortoisegit/tortoisegit/tree/master/contrib/issue-tracker-plugins)のフォルダーから取得できます。([TortoiseGitは無料です!](https://tortoisegit.org/docs/tortoisegit/tgit-preface-source.html)では、リポジトリにアクセスする方法について説明しています)。APIの概要は、[付録Bの*IBugTraqProviderインターフェースに*](https://tortoisegit.org/docs/tortoisegit/tgit-ibugtraqprovider.html)も記載されています。C#の別の(動作する)プラグイン例は、[*Google Code*](https://code.google.com/hosting/)課題追跡と対話するために必要なCOMインターフェースを実装する[*Gurtle*](https://code.google.com/p/gurtle/)です。

説明のために、システム管理者がインストールした課題追跡プラグインを提供し、TortoiseGit の設定ダイアログでプラグインを使用するために作業ツリーの一部を設定したとします。プラグインが割り当てられた作業ツリーからコミットダイアログを開くと、ダイアログの上部に新しいボタンが表示されます。

###### **課題トラッカークエリダイアログの例**

![課題トラッカークエリダイアログの例](https://tortoisegit.org/docs/tortoisegit/images/IssueTrackerQuery.png)

この例では、1つ以上の未解決の問題を選択できます。プラグインは、ログメッセージに追加する特別な形式のテキストを生成できます。

## TortoiseGitの設定

さまざまな設定の目的を確認するには、編集ボックス/チェックボックスにマウスポインタを1秒置いておくと、役立つツールチップがポップアップします。

### 一般設定

**設定ダイアログ、一般ページ**

![設定ダイアログ、一般ページ](images/SettingsMain.png)


このダイアログでは、優先言語とGit固有の設定を指定できます。

- 言語

  ユーザーインターフェイス言語を選択します。他に何を期待しましたか？インストールされている言語パックの言語のみがリストされます。言語パックは、[TortoiseGitダウンロードページからダウンロードする](https://tortoisegit.org/download)か、[翻訳に役立てる](https://tortoisegit.org/translate)ことができます。

- 毎週新しいバージョンを自動的に確認する

  オンにすると、TortoiseGitはダウンロードサイトに週1回連絡し、利用可能なプログラムの新しいバージョンがあるかどうかを確認します。**すぐに**回答が必要な場合は、**今すぐチェックを**使用して**ください**。新しいバージョンはダウンロードされません。新しいバージョンが利用可能であることを知らせる情報ダイアログを受け取るだけです。

- ライブラリを作成

  Windows 7では、システムのさまざまな場所に散在している作業コピーをグループ化するライブラリを作成できます。

- Git.exeパス

  TortoiseGitは、その`git.exe`操作に使用するものを知る必要があります。`git.exe`ここへのフルパスを入力してください。注意git.exeを昇格モードで実行するようにマークしてはなりません（つまり、「管理者として実行」または互換モードで実行します）。注意[*msysGit / Git for Windowsに*](https://github.com/msysgit/msysgit/issues/103)は[*既知の問題*](https://github.com/msysgit/msysgit/issues/103)があります`git.exe`。Gitfor Windowsは2つのファイルを提供します（1つはという名前のフォルダー内`bin`、もう1つはという名前のフォルダー内`cmd`）。Git.exeパス`bin`がGit for Windowsインストールフォルダー内の-folderを指していることを確認します。注意Git for Windowsを使用しない場合は、特別な設定が必要なため、以下の「Cygwin git」および「Msys2 git」のセクションを参照してください。一般的な注意として：TortoiseGitではCygwinまたはMsys2 gitの公式サポートはありません。TortoiseGit開発者はWindowsのGitのみを使用します。ただし、バグレポートは歓迎します。ヒント問題をデバッグするには、TortoiseGitの詳細設定を開き、「DebugOutputString」を「true」に設定します（[「詳細設定」と呼ばれるセクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-registry)）。デバッグ出力のキャプチャを開始します。次にTortoiseGit設定を開始し、[ 今すぐ確認 ]をクリックしてデバッグメッセージを確認します。

- 追加のパス

  gitインストールでPATH環境変数に追加のエントリが必要な場合は、ここに入力でき、TortoiseGitの起動時に自動的にPATH環境変数に追加されます。これは、開発者バージョンのmsysGitをインストールした場合に特に必要です（「フルインストーラー（自己完結型）Gitをハックしたい場合は、ファイル名を指定してください`msysGit-fullinstall-*.exe`）。この場合、- `[MSYSGIT-INSTALL-PATH]\mingw\bin`フォルダーがパス上にある必要があります（つまり、git.exeを実行するために、Extra PATHテキストボックスに入力されています）。多くの場合、-folderで`[MSYSGIT-INSTALL-PATH]\mingw\bin`git.exe を起動すると、dllが欠落しているというメッセージボックスが表示され、これが必要かどうかを確認できます。

- Cygwin Git

  上記のように：TortoiseGitのCygwin gitの公式サポートはありません（「Git for Windowsパッケージではこれを有効にしないでください！」）。TortoiseGit開発者はGit for Windowsのみを使用します。ただし、バグレポートは歓迎されます。ここで使用するには、次の手順を実行する必要があります。1）`[CYGWIN-INSTALL-PATH]\bin`git.exeフォルダーとして-folderを選択します。2）`HOME`Windowsで環境変数を構成し、CygwinとTortoiseGitが同じホームディレクトリとグローバルgit-configを使用するようにします。ここでは通常のWindows表記を使用します（たとえば、「C：\ Users \ USERNAME」）。デフォルトでは、TortoiseGitは通常はにあるWindowsホームディレクトリを`c:\Users`使用し、Cygwinはにある独自のホームディレクトリを使用します`[CYGWIN-INSTALL-PATH]\home`。3）AutoCrLfを構成します。これは、TortoiseGitとCygwin Gitのデフォルトが異なるために必要です。Cygwin Gitのデフォルトは`true`です。4）TortoiseGitに移動し、[「詳細設定」というセクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-registry)を設定`CygwinHack`して`true`、cygwinの回避策を有効にします。5）再起動します。

- Msys2 Git

  上記のとおり：TortoiseGitではMsys2 gitの公式サポートはありません（ "Git for Windowsパッケージ！"では有効にしないでください！）。TortoiseGit開発者はGit for Windowsのみを使用します。ここで使用する必要がある手順は次のとおりです。1）`[MSYS2-INSTALL-PATH]\usr\bin`git.exeフォルダーとして-folderを選択します。2）`HOME`Windowsで環境変数を設定し、Msys2とTortoiseGitが同じホームディレクトリとグローバルgit-configを使用するようにします。ここでは通常のWindows表記を使用します（たとえば、「C：\ Users \ USERNAME」）。デフォルトでは、TortoiseGitは通常はにあるWindowsホームディレクトリを`c:\Users`使用し、Msys2はにある独自のホームディレクトリを使用し`[MSYS2-INSTALL-PATH]\home`ます。3）AutoCrLfを構成します。これは、TortoiseGitとMsys2 Gitのデフォルトが異なる場合があるため必要です。4）TortoiseGitに移動し、[「詳細設定」というセクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-registry)を設定`Msys2Hack`して`true`、Msys2の回避策を有効にします。5）再起動します。

#### コンテキストメニューの設定

**設定ダイアログ、コンテキストメニューページ**

![設定ダイアログ、コンテキストメニューページ](images/SettingsContext.png)


このページでは、TortoiseGitコンテキストメニューエントリのどれをメインコンテキストメニュー（第1レベル）に表示し、どのエントリをTortoiseGitサブメニューに表示するかを指定できます。デフォルトでは、ほとんどの項目がオフになっており、サブメニューに表示されます。特定のエントリを非表示にする場合は、[「コンテキストメニュー2の設定」というセクションを](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-look-feel-extended)ご覧ください。

ほとんどの場合、Gitによってバージョン管理されているフォルダーを除いて、TortoiseGitコンテキストメニューは必要ありません。バージョン化されていないフォルダの場合、チェックアウトを実行するときに必要なのは、コンテキストメニューだけです。オプションをチェックすると`Hide menus for unversioned paths`、TortoiseGitはバージョン管理外のフォルダのコンテキストメニューにエントリを追加しません。ただし、エントリは、バージョン管理されたフォルダ内のすべてのアイテムとパスに追加されます。また、コンテキストメニューを表示しているときに**Shift**キーを押したままにすると、バージョン管理されていないフォルダのエントリを取得できます。

TortoiseGitのコンテキストメニューをまったく表示したくないパスがコンピューターにある場合は、下部のボックスにそれらをリストできます。

エクスプローラーでフォルダー/ファイルを右クリックしてドラッグすると、ドロップするとコンテキストメニューが表示されます。TortoiseGitアクションをいくつか提供します。[ **ドラッグコンテキストメニューを有効にする**]チェックボックスをオフにして、TortoiseGitアクションが不用意にクリックされないようにすることができます。

#### コンテキストメニュー2の設定

**設定ダイアログ、コンテキストメニュー2**

![設定ダイアログ、コンテキストメニュー2](https://tortoisegit.org/docs/tortoisegit/images/SettingsExtendMenu.png)


このページでは、デフォルトで非表示にするTortoiseGitコンテキストメニューエントリを指定できます。選択したアイテムは、**Shift**キーを押しながら**右クリックし**た場合にのみ表示され**ます**（これはいわゆる拡張コンテキストメニューです。これを構成可能なTortoiseGitサブメニューと混同しないでください（[「コンテキストメニュー」セクションを](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-look-feel)参照）設定」））。この構成は、必要に応じてコンテキストメニューエントリの数を減らすのに役立ちます。

#### TortoiseGitダイアログ設定

**設定ダイアログ、ダイアログページ**

![設定ダイアログ、ダイアログページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsDialog.png)


このダイアログでは、TortoiseGitのダイアログのいくつかを好きなように設定できます。

- ログメッセージのフォント

  リビジョンログダイアログの中央ペインにログメッセージ自体を表示するために使用するフォントとサイズを選択します。また、コミットダイアログでログメッセージを作成するときにも使用します。

- ログメッセージの短い日付/時刻形式

  標準の長いメッセージが画面のスペースを使いすぎている場合は、短い形式を使用します。

- アスタリスクログプレフィックスを表示

  ログダイアログのログメッセージのプレフィックスとしてアスタリスクが挿入されます。

- 適用--topo-order

  通常、ログエントリ/コミットは、コミット日の降順で並べられます。'--topo-order'は、コミットをトポロジー順に表示します（つまり、子孫のコミットは親の前に表示されます）。このオプションを使用しないと、ログダイアログのグラフが壊れる可能性があります。ただし、すべてのログエントリを表示する前に処理する必要があるため、このオプションは遅くなります。

- ログリストをダブルクリックして、以前のリビジョンと比較できます

  ログダイアログの上部ペインでリビジョンの比較を頻繁に行う場合は、このオプションを使用して、ダブルクリックでのアクションを許可できます。差分のフェッチは長いプロセスになることが多いため、デフォルトでは有効になっていません。多くの人は、誤ってダブルクリックした後の待機を避けたいため、このオプションはデフォルトで無効になっています。

- 略称の変更

  通常、名前が変更されたファイルは、「long / path / for / file.txt（long / path / to / file.txtから）」としてリストされます。このオプションをオンにすると、名前が変更されたファイルは短い形式（ "long / path / {to => for} /file.txt"）でリストされますが、この省略形式は理解しにくい場合があります。

- 参照名をシンボル化する

  refラベルに記号を表示して、ref名を小さくするためにref名の一部を置き換えます。このオプションを有効にすると、次の説明と例が適用されます。リモートが1つしかない場合は、上矢印記号（↑）が各リモートブランチのリモート名の部分を置き換えます。リモートブランチがローカルブランチのアップストリームである場合、同等の記号（≡）がリモートブランチのブランチ名の部分を置き換えます。**図2.74。参照名の記号化の例**![参照名の記号化の例](images/SymbolizeRefNamesExample.png) 

- ログキャッシュを有効にする

  ログキャッシュを.gitフォルダー（tortoisegit.data、tortoisegit.index）にロード/保存して、その後のログリストの使用のパフォーマンスを向上させます。このオプションが無効になっている場合、キャッシュファイルは読み書きされません。デフォルトは有効です。

- Gravatarを有効にする

  ログダイアログにコミットの作者のグラバター画像を表示します。URLはカスタマイズ可能であるため、サーバーがサポートするオプションをさらに指定したり、独自のアバターサーバーを使用したりできます。デフォルトのURLは、`http://www.gravatar.com/avatar/%HASH%?d=identicon`現在、サポートされているパラメーターは`%HASH%`MD5電子メールハッシュです。デフォルトの画像を指定するには、`d=`パラメーターを追加します。例えば、パラメーターのリストについては、[*Gravatar：Image Requests*](http://en.gravatar.com/site/implement/images/)を`http://www.gravatar.com/avatar/%HASH%?d=identicon`参照してください。

- 右側にタグ/分岐ラベルを描画します

  コミットメッセージの後にタグ/ブランチラベルを表示します。

- ブランチのリビジョン番号を表示する

  選択したコミットごとに、いわゆる「ブランチリビジョン番号」をログダイアログのコミットメッセージフィールドに表示します。ブランチリビジョン番号は、呼び出しによって計算され`git rev-list --count --first-parent [SHA1]`、時間の始まりと選択されたコミットの間のコミット数を表します。特に履歴を変更した場合（たとえば、リベースを使用した場合）、または同時に複数のブランチを使用した場合、この番号が一意であるとは限りません。履歴を変更せずに（たとえば、リベース、リセットによって）ブランチごとに「ユニークな」と見なされ、他のブランチのみをコミットまたはマージすることができます。この数は、最初の親のコミットでのみ表示され、非早送りマージでのコミットでは表示されません（ここで、数値が重複する可能性があります）。参照してください[*https://gcc.gnu.org/ml/gcc/2015-08/msg00148.html* ](https://gcc.gnu.org/ml/gcc/2015-08/msg00148.html)と[ ](https://gitlab.com/tortoisegit/tortoisegit/merge_requests/1)詳細については、[ *https：//gitlab.com/tortoisegit/tortoisegit/merge_requests/1*](https://gitlab.com/tortoisegit/tortoisegit/merge_requests/1)をご覧ください。

- ログに説明を表示

  上記のコミットメッセージをログダイアログに表示します。たとえば、タグの前の589コミットで`v0.21.0-589-gdeadc43`あるコミット`deadc43`を指し`v0.21.0`ます。注：commitがタグから遠く離れている場合、Describeは実行に時間がかかる場合があります。

- 戦略を説明する

  参照ルックアップ戦略の決定：使用可能なオプション：注釈付きタグ、すべてのタグ、すべての参照。デフォルトの戦略は注釈付きタグのみです。リポジトリで軽量タグを使用してリリースをマークする場合は、[すべてのタグ]を選択します。

- 省略されたサイズの説明

  describeで表示する省略されたコミットIDの文字数。デフォルトは7です。

- 常に長形式を表示する

  短い名前を使用できる場合でも、長い形式を使用するかどうか。たとえば、コミット`g28f087c`にタグが付いている`v0.21.0`場合でも`v0.21.0-0-g28f087c`、だけではなく長い形式で表示されます`v0.21.0`。

#### TortoiseGitダイアログ設定2

**設定ダイアログ、ダイアログページ2**

![設定ダイアログ、ダイアログページ2](https://tortoisegit.org/docs/tortoisegit/images/SettingsDialog2.png)


このダイアログでは、TortoiseGitのダイアログのいくつかを好きなように設定できます。

- Git.exe進捗ダイアログ

  TortoiseGitは、アクションがエラーなしで終了すると、すべての進捗ダイアログを自動的に閉じることができます。この設定では、ダイアログを閉じるための条件を選択できます。デフォルト（推奨）設定は[手動で閉じる]で、すべてのメッセージを確認して、何が起こったかを確認できます。ただし、重要な変更がない場合は、一部のタイプのメッセージを無視し、ダイアログを自動的に閉じるように決定できます。それ以上のオプションが用意されていない場合は自動的に閉じる git.exe（すなわちエラーが発生しなかった）きれいに終了し、それ以上のオプションが進行状況ダイアログで提示されていない場合は、ダイアログを閉じます。git.exeがエラーコード0で終了した場合、エラーがない場合は自動的にダイアログを閉じます。

- 元に戻すときにごみ箱を使用する

  ローカルの変更を元に戻すと、変更は破棄されます。TortoiseGitは、変更されていないファイルをごみ箱に送信してから、元のコピーを復元することで、追加の安全策を提供します。ごみ箱をスキップする場合は、このオプションをオフにします。

- 実行中のgitプロセスを強制終了することを確認します

  有効にすると、進行中のダイアログまたは同期ダイアログを実行中のgitプロセスで閉じると、強制終了する前に確認を求められます。これにより、実行中のgitプロセスを強制終了する偶然にダイアログを閉じることが回避されます。

- ランダム化同期ダイアログの開始位置

  有効にすると、同期ダイアログの開始位置がランダム化されます。多数の同期ダイアログを開いてプルボタンを同時に押すと、終了してフォアグラウンドになった場合、以前の同期ダイアログのプルボタンを簡単に押すことができます。

- 参照比較リストで変更されていない参照を非表示にする

  有効にすると、変更されていない参照は参照比較リストに表示されないため、変更された参照に集中できます。現在、このリストは[同期ダイアログの参照リスト]タブにあります。

- git.exeの実行タイミングとタイムスタンプを表示する

  有効にすると、git.exeの実行タイミングとタイムスタンプが進捗メッセージの最後に追加されます。

- タグリストを逆順に並べ替え

  有効にすると、タグリストが逆順にソートされます。新しいバージョンの方が便利だからです。たとえば、エクスポートダイアログでは、このオプションを有効にすると、最新のタグを選択できます。

- ファイルパスとキーワードの自動補完を使用する

  コミットダイアログには、コミットされるファイル名のリストを解析する機能が含まれています。リストの項目の最初の3文字を入力すると、オートコンプリートボックスがポップアップ表示され、Enterキーを押してファイル名を完成させることができます。この機能を有効にするには、チェックボックスをオンにします。

- オートコンプリート解析を停止する秒単位のタイムアウト

  チェックする大きなファイルが多数ある場合、オートコンプリートパーサーは非常に遅くなる可能性があります。このタイムアウトにより、コミットダイアログが長時間保持されなくなります。重要なオートコンプリート情報が不足している場合は、タイムアウトを延長できます。

- マックス。ログメッセージ履歴に保存するアイテム

  コミットダイアログにログメッセージを入力すると、TortoiseGitは後で再利用できるようにそれを保存します。デフォルトでは、各リポジトリの最後の25ログメッセージが保持されますが、ここでその数をカスタマイズできます。多数の異なるリポジトリーがある場合は、これを減らして、レジストリーがいっぱいにならないようにすることができます。この設定は、このコンピューターに入力したメッセージにのみ適用されることに注意してください。ログキャッシュとは関係ありません。

- アイテムを自動的に選択

  コミットダイアログの通常の動作では、変更（バージョン管理）されたすべての項目が自動的にコミット対象として選択されます。何も選択されていない状態で開始し、手動でコミットするアイテムを選択する場合は、このボックスをオフにします。

#### TortoiseGitダイアログ設定3

**設定ダイアログ、ダイアログ3ページ**

![設定ダイアログ、ダイアログ3ページ](images/SettingsDialog3.png)


このダイアログでは、TortoiseGitのダイアログのいくつかを好きなように設定できます。この3番目のページは主に、コミットダイアログとgit構成ファイルに保存されている設定に影響します。

### 重要

データの入力/保存に問題がある場合は、[「階層git設定」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-hierarchical)を参照してください。

- 言語

  TortoiseGitはデフォルトで、OpenOffice、LibreOffice、およびMozillaでも使用されるスペルチェッカーモジュールを使用します。オプションで、Windows 8以降のスペルチェッカーも使用できます（現時点では手動で有効にする必要があります）。それらがインストールされているか、Windowsスペルチェッカーを使用している場合、このプロパティは使用するスペルチェッカー、つまりプロジェクトのログメッセージをどの言語で書き込むかを決定します。`tgit.projectlanguage`設定キーを使用すると、ログメッセージを入力する際にスペルチェックエンジンが使用すべき言語モジュールを設定します。このページではあなたの言語の値を見つけることができます：[*MSDN：言語識別子* ](https://docs.microsoft.com/windows/desktop/intl/language-identifier-constants-and-strings)。この値を10進数で入力します。たとえば、英語（米国）はと入力できます`1033`。`-1`スペルチェッカーを無効にするために使用します。

- 限定

  `tgit.logminsize`コミットのログメッセージの最小長を設定します。ここで指定したものより短いメッセージを入力すると、コミットボタンが無効になります。この機能は、コミットごとに適切な説明メッセージを提供するように通知するのに非常に役立ちます。このプロパティが設定されていないか、値がゼロの場合、空のログメッセージが許可されます。

- 境界

  `tgit.logwidthmarker`改行の前にログメッセージを最大幅（通常は72文字）でフォーマットする必要があるプロジェクトで使用されます。このプロパティをゼロ以外に設定すると、最大幅を示すマーカーが配置され、行の折り返しが実行されます。注：この機能は、ログメッセージに固定幅フォントを選択した場合にのみ正しく機能します。

- コミット時にサインオフ者に警告

  `tgit.warnnosignedoffby` コミットメッセージでSigned-off-by行を必要とするプロジェクトで使用されます。

- オーバーレイアイコン

  `tgit.icon` 異なるプロジェクトの複数のTortoiseGitアプリケーションインスタンスが同時に実行されているときに、識別を容易にするためにタスクバーにロゴを表示したいプロジェクトで使用されます。![img](https://tortoisegit.org/docs/tortoisegit/images/TaskbarOverlayIcon.png)アイコンのサイズが16x16ピクセルでない場合は、自動的に拡大縮小されます。サポートされている形式は、ico、png、jpg、gif、bmpです。そのプロジェクトにアイコンが含まれていない場合は、自分で見つけて.gitフォルダーに入れ、ローカル構成で相対パスを設定します。たとえば`.git/logo.ico`、それを無効にしたい場合は`tgit.icon`、ローカル設定で空の文字列として設定できます。無効化またはロードに失敗すると、カラーブロックにフォールバックします。`GroupTaskbarIconsPerRepo`この機能を使用するには、詳細オプションが3または4である必要があります。

#### TortoiseGitの色設定

**設定ダイアログ、色ページ**

![設定ダイアログ、色ページ](images/SettingsColors.png)


このダイアログでは、TortoiseGitのダイアログで使用するテキストの色を好きなように設定できます。

- 可能性のある、または実際の衝突/妨害

  更新中に競合が発生したか、マージ中に競合が発生する可能性があります。バージョン管理されたものと同じ名前の既存のバージョン管理されていないファイル/フォルダーによって更新が妨げられます。この色は、進捗ダイアログのエラーメッセージにも使用されます。

- 追加されたファイル

  リポジトリに追加されたアイテム。

- 欠落/削除/置換

  リポジトリから削除されたアイテム、作業コピーから欠落したアイテム、または作業ツリーから削除され、同じ名前の別のファイルに置き換えられたアイテム。

- 合併

  リポジトリからの変更は、競合を発生させることなく作業ツリーに正常にマージされました。

- 変更/コピー

  履歴、またはリポジトリにコピーされたパスを追加します。コピーされたアイテムを含むエントリのログダイアログでも使用されます。

- ノートノード

  refs / notes名前空間の下のgit notesを指す参照。

- 現在のブランチにローカルブランチの色を使用する

  リビジョングラフでは、現在のブランチにローカルブランチの色を使用します。リビジョングラフでローカルリポジトリの現在のブランチを強調したくない場合があります。

#### TortoiseGitの色設定2

**設定ダイアログ、色ページ**

![設定ダイアログ、色ページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsColors2.png)


このダイアログでは、TortoiseGitのダイアログで使用するテキストの色を好きなように設定できます。

#### TortoiseGitの色設定3

**設定ダイアログ、色ページ**

![設定ダイアログ、色ページ](images/SettingsColors3.png)


このダイアログでは、TortoiseGitのログダイアログで使用されるグラフ列の線の色、線の幅、ノードサイズを好きなように設定できます。

### アイコンオーバーレイ設定

**設定ダイアログ、アイコンオーバーレイページ**

![設定ダイアログ、アイコンオーバーレイページ](images/SettingsOverlay.png)


このページでは、TortoiseGitがアイコンオーバーレイを表示する項目を選択できます。

デフォルトでは、オーバーレイアイコンとコンテキストメニューは、すべてのオープン/保存ダイアログとWindowsエクスプローラーに表示されます。それらをWindowsエクスプローラーで*のみ*表示する*場合*は、[ オーバーレイとコンテキストメニューのみをエクスプローラーボックスに表示する]をオンにします。

無視されたアイテムとバージョン管理されていないアイテムには、通常、オーバーレイは表示されません。このような場合にオーバーレイを表示するには、チェックボックスをオンにします。

バージョン管理されていないアイテムが含まれている場合、フォルダーを変更済みとしてマークすることもできます。これは、まだバージョン管理されていない新しいファイルを作成したことを思い出させるのに役立ちます。このオプションは、*デフォルトの*ステータスキャッシュオプションを使用する場合にのみ使用できます（以下を参照）。

作業ツリーのステータスを取得するのにはかなり時間がかかるため、TortoiseGitはキャッシュを使用してステータスを保存するため、オーバーレイを表示するときにエクスプローラーが過度に操作されることはありません。システムと作業ツリーのサイズに応じて、TortoiseGitが使用するキャッシュのタイプをここで選択できます。

- デフォルト

  すべてのステータス情報を別のプロセスにキャッシュします（`TGitCache.exe`）。このプロセスは、すべてのドライブの変更を監視し、作業ツリー内のファイルが変更された場合にステータスを再度取得します。プロセスは可能な限り低い優先度で実行されるため、他のプログラムがそのために独り占めすることはありません。つまり、ステータス情報は*リアルタイムで*はありませんが、オーバーレイが変更されるまでに数秒かかる場合があります。利点：オーバーレイはステータスを再帰的に表示します。つまり、作業ツリーの深部にあるファイルが変更された場合、作業ツリーのルートまでのすべてのフォルダーにも変更されたオーバーレイが表示されます。また、プロセスはシェルに通知を送信できるため、通常、左側のツリービューのオーバーレイも変更されます。短所：プロジェクトに取り組んでいない場合でも、プロセスは常に実行されます。また、作業ツリーの数とサイズに応じて、約10〜50 MBのRAMを使用します。バージョン1.7.0から1.7.12までTGitCacheはファイルの内容をチェックせず、最後の変更時刻をgitインデックスファイルに保存された時刻と照合するだけでした。1.7.13以降、TGitCacheはデフォルトでファイルの内容もチェックするようになりました。以前の動作を復元したい場合は、[設定]ダイアログ-> [詳細]で内容のチェックを無効にし、TGitCacheCheckContentMaxSizeを "0"に設定できます。

- シェル拡張

  キャッシュはシェル拡張DLL内で直接行われます。別のフォルダに移動するたびに、ステータス情報が再び（再帰的に）取得されます。利点：ステータスを*リアルタイムで*表示できます。欠点：キャッシュされるフォルダーは1つだけであり、大きな作業ツリーの場合、エクスプローラーでフォルダーを表示するには、デフォルトのキャッシュやシェルモードを使用するよりもはるかに時間がかかることがあります。シェルバリアントはgitインデックスに対するファイルシステムの違いのみを表示します（たとえば、インデックスからファイルを削除すると、ファイルはバージョン管理外として表示されますが、TGitCacheを使用すると、ファイルは削除されるまで表示されますこの変更をコミットします）。

- シェル

  キャッシュはシェル拡張DLL内で直接行われますが、現在表示されているフォルダーに対してのみ行われます。別のフォルダに移動するたびに、ステータス情報が再度フェッチされます。利点：必要なメモリはごくわずか（約1 MBのRAM）で、ステータスを*リアルタイムで*表示できます。欠点：キャッシュされるフォルダーは1つだけなので、オーバーレイはステータスを再帰的に表示しません。大きな作業ツリーの場合、デフォルトのキャッシュよりもエクスプローラーでフォルダーを表示するのに時間がかかることがあります。シェルバリアントはgitインデックスに対するファイルシステムの違いのみを表示します（たとえば、インデックスからファイルを削除すると、ファイルはバージョン管理外として表示されますが、TGitCacheを使用すると、ファイルは削除されるまで表示されますこの変更をコミットします）。

- 無し

  この設定では、TortoiseGitはエクスプローラーでステータスをまったく取得しません。そのため、ファイルがバージョン管理されている場合、ファイルはオーバーレイを取得せず、フォルダーは「通常の」オーバーレイのみを取得します。他のオーバーレイは表示されず、追加の列も使用できません。利点：追加のメモリをまったく使用せず、閲覧中にエクスプローラーの速度を低下させません。欠点：ファイルとフォルダーのステータス情報がエクスプローラーに表示されません。作業ツリーが変更されているかどうかを確認するには、「変更の確認」ダイアログを使用する必要があります。



デフォルトでは、オーバーレイアイコンとコンテキストメニューは、すべてのオープン/保存ダイアログとWindowsエクスプローラーに表示されます。それらをWindowsエクスプローラーで*のみ*表示する*場合*は、[ オーバーレイとコンテキストメニューのみをエクスプローラーボックスに表示する]をオンにします。

[ 昇格したプロセスのステータスキャッシュを無効にする]チェックボックスをオンにすることで、昇格したプロセスのステータスキャッシュを強制的に[ *なし]に*できます。これは、昇格された特権で別のプロセスが作成されないようにする場合に役立ちます。`TGitCache.exe`

バージョン管理されていないアイテムが含まれている場合、フォルダーを変更済みとしてマークすることもできます。これは、まだバージョン管理されていない新しいファイルを作成したことを思い出させるのに役立ちます。このオプションは、*デフォルトの*ステータスキャッシュオプションを使用する場合にのみ使用できます（以下を参照）。

次のグループでは、オーバーレイを表示するストレージのクラスを選択できます。デフォルトでは、ハードドライブのみが選択されています。すべてのアイコンオーバーレイを無効にすることもできますが、そのどこが楽しいのでしょうか。

ネットワークドライブは非常に遅くなる可能性があるため、デフォルトでは、ネットワーク共有にある作業ツリーにはアイコンが表示されません。

USBフラッシュドライブは、ドライブタイプがデバイス自体によって識別されるという特殊なケースのようです。一部は固定ドライブとして表示され、一部はリムーバブルドライブとして表示されます。

除外パスは TortoiseGitにそれはべきためにそれらのパス伝えるために使用され*ていない*オーバーレイやステータス列をアイコン表示します。これは、まったく変更しないためにオーバーレイが不要なライブラリのみを含む非常に大きな作業ツリーがある場合、またはTortoiseGitに特定のフォルダーのみを表示させたい場合に便利です。

ここで指定するパスは再帰的に適用されると想定されているため、子フォルダーもオーバーレイを表示しません。名前付きフォルダー*のみ*を除外する場合は`?`、パスの後に追加します。

同じことがインクルードパスにも当てはまります。これらのパスを除いて、その特定のドライブタイプでオーバーレイが無効になっている場合でも、または上記で指定した除外パスによってオーバーレイが表示されます。

ユーザーは、これらの3つの設定がどのように相互作用するかを尋ねることがあります。特定のパスについて、一致リストが見つかるまでディレクトリ構造を上方に検索しながら、包含リストと除外リストを確認します。最初の一致が見つかったら、その包含または除外ルールに従います。競合がある場合は、単一のディレクトリ仕様が再帰的仕様よりも優先され、次に包含が除外よりも優先されます。

例はここで役立ちます：

```
除外：
C：
C：\ develop \？
C：\ develop \ tgit \ obj
C：\ develop \ tgit \ bin

含める：
C：\ develop
		
```

これらの設定により、C：ドライブのアイコンオーバーレイが無効になります（を除く）`c:\develop`。`c:\develop`特に無視されるフォルダー自体を除いて、そのディレクトリの下のすべてのプロジェクトにはオーバーレイが表示されます。高チャーンバイナリフォルダーも除外されます。

TGitCache.exeもこれらのパスを使用してスキャンを制限します。特定のフォルダのみを検索する場合は、すべてのドライブタイプを無効にし、スキャンするフォルダのみを含めます。

### `SUBST`ドライブを除外

`SUBST`ドライブを使用して作業ツリーにアクセスすると便利なことがよくあります。たとえば、次のコマンドを使用します。

```
subst T：C：\ TortoiseGit \ doc
```

ただし`TGitCache`、ファイルが変更されたときに通知を1つしか受信しないため、これによりオーバーレイが更新されない可能性があります。これは通常、元のパスに対するものです。つまり、`subst`パス上のオーバーレイは決して更新されない可能性があります。

これを回避する簡単な方法は、元のパスをオーバーレイの表示から除外して、オーバーレイが`subst`パスに表示されるようにすることです。

作業ツリーが含まれている領域を除外すると、TGitCacheによる変更のスキャンと監視を回避できますが、フォルダーに作業ツリーが含まれていることを視覚的に確認したい場合があります。「除外されたフォルダを「通常」として表示」チェックボックスでこれを行うことができます。このオプションを使用すると、除外された領域（チェックされていない、または明確に除外されているドライブ）の作業ツリーフォルダーは、通常の最新の状態で緑色のチェックマークとともに表示されます。これは、フォルダーオーバーレイが正しくない場合でも、作業ツリーを表示していることを思い出させます。ファイルはまったくオーバーレイされません。オーバーレイが表示されていなくても、コンテキストメニューは機能することに注意してください。

これに対する特別な例外として、ドライブ`A:`および除外されたフォルダーを「通常」として表示するオプション`B:`は考慮されません。これは、Windowsがドライブを参照することを強制されるため、PCにフロッピードライブがある場合でも、エクスプローラーの起動時に数秒の遅延が発生する可能性があるためです。

#### アイコンセットの選択

**設定ダイアログ、アイコンセットページ**

![設定ダイアログ、アイコンセットページ](images/SettingsOverlayChooser.png)


オーバーレイアイコンセットをお好みのアイコンに変更できます。特に、assume-validやskip-worktreeなどの不要なオーバーレイを無効にすることができますが、他のTortoise *ツールはこれら2つを異なる目的で使用します。オーバーレイセットを変更した場合、変更を有効にするためにコンピュータを再起動する必要がある場合があります。

#### 有効なオーバーレイハンドラー

**設定ダイアログ、アイコンハンドラページ**

![設定ダイアログ、アイコンハンドラページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsOverlayHandlers.png)


使用可能なオーバーレイの数は厳しく制限されているため、一部のハンドラーを無効にして、必要なものを確実にロードすることができます。TortoiseGitは他のTortoiseクライアント（TortoiseSVN、TortoiseCVS、TortoiseHgなど）と共有される共通のTortoiseOverlaysコンポーネントを使用するため、この設定はそれらのクライアントにも影響します。

アイコンオーバーレイとGitステータスの対応およびその他の技術的な詳細については、[「アイコンオーバーレイ」を](https://tortoisegit.org/docs/tortoisegit/tgit-app-internals.html#tgit-app-internals-overlays)参照してください。

Windowsエクスプローラーは固定数の異なるオーバーレイプロバイダー（15）のみを処理でき、TortoiseGitはこれらの6つを使用しています（これら6つはTortoiseOverlaysによって処理されるため、TortoiseSVNおよびTortoiseCVSと共有されます）。TortoiseGitアイコンが正しく表示されない場合は、オーバーレイを提供する他のプログラム（Dropbox、Owncloud、BoxSyncなど）がより高い優先度で登録している可能性があります。[レジストリエディターの開始 ]ボタンを使用して、オーバーレイハンドラーが登録されているキーでレジストリエディターを開きます。不要なものを削除するか名前を変更するか`Tortoise`、リストの最初に来るように二重引用符またはスペース文字を追加します。詳細は[TortoiseGit FAQ](https://tortoisegit.org/support/faq/#ovlnotshowing)をご覧ください。

### ネットワーク設定

**設定ダイアログ、ネットワークページ**

![設定ダイアログ、ネットワークページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsProxy.png)


会社のファイアウォールを通過する必要がある場合は、ここでプロキシサーバーを構成できます。

ここでのプロキシサーバー設定は、Git for Windows（つまり、httpおよびhttpsプロトコル）にのみ影響します。OpenSSH / PuTTY / Tortoise（Git）Plinkを使用している場合は、そこでプロキシサーバーの設定を個別にセットアップする必要があります。これを行うには、TortoiseGitに同梱されていないメインのPuTTYツールが必要です。プロキシ設定を「デフォルト設定」構成に保存して、デフォルトで適用されるようにすることをお勧めします。

リポジトリごとのプロキシ設定をセットアップする必要がある場合は、Git `config`ファイルを使用してこれを構成する必要があります。詳細については、[「git-config（1）」というセクションを](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1))参照してください。

TortoiseGitがsshを使用してアクセスするgitリポジトリへの安全な接続を確立するために使用するプログラムを指定することもできます。TortoiseGitPlink.exeの使用をお勧めします。これは人気のあるPlinkプログラムのバージョンで、TortoiseGitに含まれていますが、ウィンドウレスアプリとしてコンパイルされているため、認証のたびにDOSボックスがポップアップすることはありません。

実行可能ファイルへの絶対パスを指定する必要があります。TortoiseGitPlink.exeの場合、これは標準のTortoiseGit binディレクトリです。[ **参照** ]ボタンを使用して、その場所を特定します。例：

```
「C：\ Program Files \ TortoiseGit \ bin \ TortoiseGitPlink.exe」
```

### ヒント

Git for Windows / msysGitに付属のOpenSSHを使用する場合は、と入力し`ssh.exe`ます。

ウィンドウを持っていないの一つ副作用は、認証が失敗した場合ので、あなたは、単にような何かというメッセージでしょう、行くためにすべてのエラーメッセージのためにどこにも存在しないことである「標準出力に書き込むことができませんが」。このため、最初に標準のPlinkを使用して設定することをお勧めします。すべてが機能している場合は、TortoiseGitPlinkをまったく同じパラメーターで使用できます。

TortoiseGitPlinkはPlinkのマイナーバリアントであるため、独自のドキュメントはありません。[*PuTTYのWebサイト*](https://www.chiark.greenend.org.uk/~sgtatham/putty/)からコマンドラインパラメーターについて[*調べる*](https://www.chiark.greenend.org.uk/~sgtatham/putty/)

パスワードの入力を繰り返し求められるのを避けるために、Pageantなどのパスワードキャッシュツールの使用を検討することもできます。これは、PuTTY Webサイトからダウンロードするか、TortoiseGitパッケージに含まれています。（[「認証」というセクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug.html#tgit-dug-general-auth)もご覧ください。）

最後に、クライアントでのSSHの設定は、このヘルプファイルの範囲を超えている重要なプロセスです。ただし、ガイドは、[付録F「*SSH / PuTTYのヒントとコツ」に*](https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html)リストされているTortoiseGit FAQにあります。

#### メール設定

**設定ダイアログ、メール設定**

![設定ダイアログ、メール設定](https://tortoisegit.org/docs/tortoisegit/images/SettingsEmail.png)


このページでは、メールの送信方法を設定できます。

- SMTP、直接宛先サーバー

  このオプションが選択されている場合、TortoiseGitは特定の宛先メールアドレスを担当するSMTPサーバー（ポート25）に直接接続します。これはTortoiseGitのデフォルトです（いくつかの異なる方法が設定されていない限り）。重要これは、ISPが発信SMTP接続（ポート25）をブロックしている場合、またはダイヤルアップインターネット接続を使用している場合に問題になる可能性があります。ラダーの場合、一部の宛先MTAはメールを受け入れないか、スパムとしてマークする可能性があります。

- MAPI

  このオプションを選択すると、TortoiseGitはメールの送信にMicrosoftメッセージングAPI（MAPI）を使用します。これには、MAPI対応のメールクライアント（ThunderbirdやOutlookなど）が必要です。重要パッチを添付ファイルとして送信しない場合は、自動行折り返しが行われないようにする必要がある場合があります。Thunderbirdでは、アドオン（[*Toggle Word Wrap*](https://addons.mozilla.org/de/thunderbird/addon/toggle-word-wrap/)）を利用できます。

- 構成済みサーバーを使用

  これは、メールの送信に推奨される方法です。メールツール（MUA）と同じデータを入力するだけです。

### 外部プログラム設定

ここでは、TortoiseGitが使用する独自のプログラムを定義できます。デフォルトの設定では、TortoiseGitと一緒にインストールされるツールを使用します。

人々がTortoiseGitで使用している外部の差分/マージプログラムのリストについては、[「外部の差分/マージツール」というセクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-diff.html#tgit-dug-diff-tools)を読んでください。

#### 差分ビューア

**設定ダイアログ、Diff Viewerページ**

![設定ダイアログ、Diff Viewerページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsProgs.png)

外部のdiffプログラムを使用して、ファイルの異なるリビジョンを比較できます。外部プログラムは、他のコマンドラインオプションとともに、コマンドラインからファイル名を取得する必要があります。TortoiseGitは、接頭辞が付いた置換パラメーターを使用し`%`ます。これらのいずれかに遭遇すると、適切な値に置き換えられます。パラメータの順序は、使用するDiffプログラムによって異なります。

- ％ベース

  変更を加えていない元のファイル

- ％bname

  ベースファイルのウィンドウタイトル

- ％私の

  変更を加えた独自のファイル

- ％yname

  ファイルのウィンドウタイトル

- ％bpath

  元のファイルへのフルパス

- ％ypath

  ファイルへのフルパス

- ％brev

  元のファイルのリビジョン（利用可能な場合）

- ％yrev

  2番目のファイルのリビジョン（利用可能な場合）

- ％wtroot

  作業ツリーへのパス

ウィンドウのタイトルは純粋なファイル名ではありません。TortoiseGitはそれを表示する名前として扱い、それに応じて名前を作成します。たとえば、リビジョン123のファイルと作業ツリーのファイルを比較する場合、名前は次のように`filename: revision 123`なります。`filename: working tree`

たとえば、ExamDiff Proの場合：

```
C：\ Path-To \ ExamDiff.exe％base％mine --left_display_name：％bname
    --right_display_name：％yname
```

またはKDiff3で：

```
C：\ Path-To \ kdiff3.exe％base％mine --L1％bname --L2％yname
```

またはWinMergeを使用：

```
C：\ Path-To \ WinMerge.exe -e -ub -dl％bname -dr％yname％base％mine
```

またはAraxisを使用：

```
C：\ Path-To \ compare.exe / max / wait / title1：％bname / title2：％yname
    ％base％mine
```

代替のdiffツールを構成している場合は、コンテキストメニューからTortoiseGitMerge *および*サードパーティツールにアクセスできます。**コンテキストメニュー** → **Diff**はプライマリdiffツールを使用し、**Shift** + **コンテキストメニュー** → **Diff**はセカンダリdiffツールを使用します。

##### Unified-Diff / GNU Diff / Patch File Viewer

TortoiseUDiffの代わりに、unified-diffファイル（GNU diffまたはパッチファイル）用の外部ビューアープログラムを使用できます。基本的に、パラメータは必要ありません-開く統合diffファイルの場合、ファイル名は自動的に追加されます。別のパラメーターとして渡す必要がある場合は、置換`%1`を使用できます。`%title`タイトルバーに表示されるタイトルを渡すために使用できるパラメーター置換（つまり、diffのメタデータ）もあります。

たとえば、メモ帳2（TortoiseGitに同梱）の場合：

```
Notepad2.exe / s "Diffファイル" / t％title
```

または（同等）

```
Notepad2.exe / s "Diff Files" / t％title％1
```

代替の統合diffツールを構成している場合は、コンテキストメニューからTortoiseGitUDiff *および*サードパーティツールにアクセスできます。あなたが保持するときに**シフト** -keyをコンテキストメニューを開いている間に、二次統一差分ツールが起動されます。

#### マージツール

**設定ダイアログ、マージツールページ**

![設定ダイアログ、マージツールページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsMergeTool.png)

競合するファイルを解決するために使用される外部マージプログラム。パラメータ置換は、Diffプログラムと同じ方法で使用されます。

- ％ベース

  あなたまたは他の人が変更していない元のファイル

- ％bname

  ベースファイルのウィンドウタイトル

- ％私の

  変更を加えた独自のファイル

- ％yname

  ファイルのウィンドウタイトル

- ％theirs

  リポジトリにあるファイル

- ％tname

  リポジトリ内のファイルのウィンドウタイトル

- マージされた

  競合したファイル、マージ操作の結果

- ％mname

  マージされたファイルのウィンドウタイトル

- ％wtroot

  作業ツリーへのパス

たとえば、Perforce Mergeの場合：

```
C：\ Path-To \ P4Merge.exe％base％theirs％mine％merged
```

またはKDiff3で：

```
C：\ Path-To \ kdiff3.exe％base％mine％theirs -o％merged
    --L1％bname --L2％yname --L3％tname
```

またはAraxisを使用：

```
C：\ Path-To \ compare.exe / max / wait / 3 / title1：％tname / title2：％bname
    / title3：％yname％theirs％base％mine％merged / a2
```

またはWinMerge（2.12以降）：

```
C：\ Path-To \ WinMergeU.exe / e / ub / fr / wl / wm / dl％bname / dm％tname / dr％yname％base％theirs％mine / o％merged / ar
```

TortoiseGitは、競合するファイル（`CONFLICTED.BASE.EXT`、`CONFLICTED.LOCAL.EXT`および`CONFLICTED.REMOTE.EXT`）と同様のファイル名を持つ一時ファイルを作成します。TortoiseGit、TortoiseGitMerge、またはTortoiseGitIDiffを使用して競合が解決済みとしてマークされると、これらのファイルは自動的に削除されます。

外部ツールを使用する場合、競合するファイルをTortoiseGitで手動で回転させるようにマークする必要があります（これにより、一時ファイルも削除されます）。これは単純化でき、自動化することもできます。TortoiseGitは、同期的にマージツールを実行するように構成できます（外部のマージツールの実行中にTortoiseGitをブロックします）。次に、TortoiseGitは外部マージツールが閉じられるまで待機し、競合を解決するかどうかを尋ねます（どの場合でも一時ファイルは削除されます）。外部マージツールが適切な終了コード（成功の場合は0）を提供する場合は、終了コードを信頼して、競合するファイルを解決済みとして自動的にマークできます（Gitと同様に、[「git-mergetool（1）」というセクション](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-mergetool(1))を参照）。

#### 差分/マージの詳細設定

**設定ダイアログ、差分/マージ詳細ダイアログ**

![設定ダイアログ、差分/マージ詳細ダイアログ](https://tortoisegit.org/docs/tortoisegit/images/SettingsProgsAdv.png)


詳細設定では、ファイル拡張子ごとに異なるdiffおよびmergeプログラムを定義できます。たとえば、Photoshop をファイルの「差分」プログラムとして関連付けることができ`.jpg`ます。

ファイル拡張子を使用して関連付けるには、拡張子を指定する必要があります。`.bmp`Windowsビットマップファイルを説明するために使用します。

#### 代替エディター

**設定ダイアログ、代替エディタページ**

![設定ダイアログ、代替エディタページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsAlternativeEditor.png)

元のWindows NotePadプログラムは、標準のCR-LF行末を持たないファイルではうまく動作しません。ただし、多くのgit構成ファイルには、標準のCR-LF行末がありません。このため、TortoiseGitは無料（出荷済み）のNotePadの代わりに[*Notepad2* ](http://www.flos-freeware.ch/notepad2.html)を使用しており、デフォルトで行末を正しく表示します。

### 保存データ設定

**設定ダイアログ、保存データページ**

![設定ダイアログ、保存データページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsSavedData.png)


便宜上、TortoiseGitは使用する設定の多くを保存し、最近どこにいたかを記憶しています。データのキャッシュをクリアしたい場合は、ここで実行できます。

- URLの履歴

  作業ツリーをチェックアウトしたり、変更をマージしたり、リポジトリブラウザーを使用したりすると、TortoiseGitは最近使用したURLの記録を保持し、コンボボックスで提供します。時々、そのリストは古いURLで乱雑になるので、定期的にフラッシュするのが便利です。コンボボックスの1つから1つのアイテムを削除する場合は、その場で行うことができます。矢印をクリックしてコンボボックスを下にドロップし、削除する項目の上にマウスを移動して、**Shift + Del**を入力し**ます**。

- ログメッセージ（入力ダイアログ）

  TortoiseGitは、入力した最近のコミットログメッセージを保存します。これらはリポジトリごとに保存されるため、多くのリポジトリにアクセスすると、このリストは非常に大きくなる可能性があります。

- ログメッセージ（ログダイアログを表示）

  TortoiseGitは、次にログを表示するときに時間を節約するために、[ログの表示]ダイアログでフェッチされたログメッセージをキャッシュします。他の誰かがログメッセージを編集し、そのメッセージが既にキャッシュされている場合、キャッシュをクリアするまで変更は表示されません。ログメッセージのキャッシュは、[ログキャッシュ ]タブで有効にします。

- ダイアログのサイズと位置

  多くのダイアログは、最後に使用したサイズと画面位置を記憶しています。

- アクションログ

  TortoiseGitは、進行ダイアログに書き込まれたすべてのログを保持します。これは、たとえば、最近の更新コマンドで何が起こったかを確認する場合に役立ちます。ログファイルの長さは制限されており、大きくなりすぎると、最も古いコンテンツが破棄されます。デフォルトでは4000行が保持されますが、その数はカスタマイズできます。ここから、ログファイルの内容を表示したり、消去したりできます。

### ギット

#### 階層git構成

Gitは階層構成の概念を使用します（[「git-config（1）」と呼ばれるセクションを](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1))参照）。つまり、複数のレベルがあります。高いレベルの設定は、低いレベルの値を上書きします。[ 有効 ]タブには、現在のスコープの有効値が表示されます（読み取り専用）。

任意のレベルを選択します（例：ローカル -.git / configにローカルに保存されている現在のリポジトリ設定、プロジェクト - /. tgitconfigのリポジトリ内に保存されている現在のリポジトリの設定、グローバル -現在のユーザーの設定、システム -のすべてのユーザーの設定システム）に保存されている値を確認します。

設定を変更するには、レベルを選択し、値を入力して、保存先を選択し、[ **適用** ]をクリックします。

### 注意

より高いレベルの値を継承したい場合は、テキストボックスを空のままにしないでください（つまり、空の文字列が格納され、と評価される可能性があり`true`ます）、代わりに[ 継承]を選択します。

#### Git設定

**設定ダイアログ、Git**

![設定ダイアログ、Git](https://tortoisegit.org/docs/tortoisegit/images/SettingsGitConfig.png)

git基本設定を設定する

gitが正しく動作するには、名前と電子メールが必要です。

AutoCrlf trueの場合、テキストファイルの行末のCRLFをファイルシステムから読み取るときにLFに変換し、ファイルシステムに書き込むときに逆に変換します。変数はinputに設定できます。この場合、ファイルシステムからの読み取り中にのみ変換が行われますが、ファイルは行の終わりにLFで書き出されます。ファイルは、ファイルのcrlf属性に基づいて「テキスト」（つまり、autocrlfメカニズムの対象となる）と見なされます。または、crlfが指定されていない場合は、ファイルの内容に基づいて見なされます。

SafeCrlf trueの場合、core.autocrlfによって制御されるCRLFの変換が元に戻せるかどうかをgitチェックします。Gitは、コマンドが作業ツリーのファイルを直接または間接的に変更するかどうかを確認します。たとえば、ファイルをコミットしてから同じファイルをチェックアウトすると、作業ツリーに元のファイルが生成されます。これがcore.autocrlfの現在の設定に当てはまらない場合、gitはファイルを拒否します。変数を「警告」に設定できます。その場合、gitは不可逆的な変換についてのみ警告し、操作は続行します。

QuotePathは、`core.quotepath`ASCII以外のファイル名がある場合に興味深い設定を制御します。[「git-config（1）」というセクションを](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1))参照してください。

### 重要

データの入力/保存に問題がある場合は、[「階層git設定」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-hierarchical)を参照してください。

#### リモート

**設定ダイアログ、Git、リモート**

![設定ダイアログ、Git、リモート](https://tortoisegit.org/docs/tortoisegit/images/SettingsGitRemote.png)

gitリモート構成を設定する

リモートリモートの名前`origin`。通常、デフォルトの名前はです。

URLリモートのURL。http / https / ssh / gitプロトコルまたはローカルファイルシステムにすることができます。

プッシュURLリモートのプッシュURL。場合によっては、フェッチとプッシュに同じURLを使用できないことがあります（たとえば、パスワードなしのgitプロトコルを介してフェッチするが、sshを介してプッシュする）。それ以外の場合は、空のままにします。注：これはforkワークフロー用には設計されていません。フォークワークフローでは、2つのリモートが必要です。形式はURLと同じです。

Putty Keyネットワーク操作を実行するときにロードするputtyキーファイル。

タグこれ`remote..tagopt`は、指定されたリモートのデフォルトのタグ取得動作を制御する構成を設定します。`Reachable`：リモートブランチヘッドから到達可能なタグをダウンロードします（デフォルトの動作）。`None`：タグはダウンロードされません（`--no-tags`）。（git 1.9以降）`All`：すべてのタグとブランチがダウンロードされます（`--tags`）。（git 1.9より前）`All tags only`：すべてのタグのみがダウンロードされ、ブランチはダウンロードされません（`--tags`）。使用例`All`：常にgit-svnミラーからタグをフェッチします。トランクにはSubversionタグが存在しないため、このようなタグにはブランチヘッドから到達できません。

デフォルトのプッシュこれを選択すると、常にこのリモートにプッシュすることを意味します（[「git-config（1）」と呼ばれるセクションを](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-config(1))参照）デフォルトはfalseです。

Pruneこれ`remote..prune`は、指定されたリモートのリモート追跡ブランチのデフォルトのプルーンオプションを制御する構成を設定します。デフォルトはfalseです。

#### 資格

**設定ダイアログ、Git、資格情報**

![設定ダイアログ、Git、資格情報](https://tortoisegit.org/docs/tortoisegit/images/SettingsGitCredential.png)



単純な資格情報ヘルパー構成を設定する

Advancedこれは、資格情報ヘルパーの構成が単純な設定と一致しない場合に使用されます。以外を選択した場合`Advanced`、対応するを除いて`credential.helper`、他のすべての設定キー`credential.*`または`credential.*.*`が削除されます。

なしすべての構成レベルに資格情報構成キーはありません。

wincred-このリポジトリでは、ローカル設定でwincred のみが有効になっています。このオプションは、wincredがインストールされている場合にのみ表示されます。

winstore-このリポジトリでは winstore のみがローカル設定で有効になっています。このオプションは、現在のWindowsユーザーにwinstoreがインストールされている場合にのみ表示されます。

wincred-現在のWindowsユーザー wincredがグローバル構成で有効になっています。このオプションは、wincredがインストールされている場合にのみ表示されます。

winstore-現在のWindowsユーザー winstoreがグローバル構成で有効になっています。このオプションは、現在のWindowsユーザーにwinstoreがインストールされている場合にのみ表示されます。

wincred-すべてのWindowsユーザー wincredはシステム構成で有効になっています。このオプションは、wincredがインストールされている場合にのみ表示されます。

高度な資格情報ヘルパー構成

構成タイプローカル、グローバル、またはシステム構成。

URL URLパターンに基づいてコンテキスト固有の構成を定義します。デフォルトでは、パスコンポーネントは別のコンテキストとは見なされません。

ヘルパー資格情報ヘルパープログラムを選択します。wincredとwinstoreはTortoiseGitで事前定義されています。他の資格ヘルパーを使用したり、追加のオプションを使用したりすることが可能です。

ユーザー名デフォルトのユーザー名（URLで指定されていない場合）。

HTTPパスコンポーネントを使用する構成コンテキストと一致するように、URLのパスコンポーネントも考慮します。

詳細については、[「gitcredentials（7）」というセクションを](https://tortoisegit.org/docs/tortoisegit/git-misc.html#gitcredentials(7))参照してください。

### クライアント側フックスクリプト

**設定ダイアログ、フックスクリプトページ**

![設定ダイアログ、フックスクリプトページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsHooks.png)


このダイアログでは、クライアント側で特定のTortoiseGitアクションが実行されたときに自動的に実行されるフックスクリプトを設定できます。

さまざまなセキュリティおよび実装上の理由により、フックスクリプトはプロジェクトプロパティとしてではなく、マシン上でローカルに定義されます。他の誰かがリポジトリにコミットしても、何が起こるかを定義します。もちろん、いつでも、それ自体がバージョン管理されているスクリプトを呼び出すことを選択できます。

このようなフックの1つのアプリケーションは、`GitWCRev.exe`（[第3章、*GitWCRevプログラム*](https://tortoisegit.org/docs/tortoisegit/tgit-gitwcrev.html)）のようなプログラムを呼び出して、コミット後にバージョン番号を更新し、おそらく再構築をトリガーすることです。

**設定ダイアログ、フックスクリプトの構成**

![設定ダイアログ、フックスクリプトの構成](https://tortoisegit.org/docs/tortoisegit/images/SettingsHookEdit.png)


新しいフックスクリプトを追加するには、[ **追加** ] **を**クリックして詳細を入力します。

現在利用可能なフックスクリプトには6つのタイプがあります。

- 開始コミット

  コミットダイアログが表示される前に呼び出されます。フックがバージョン管理されたファイルを変更し、コミットする必要のあるファイルのリストやコミットメッセージに影響を与える場合は、これを使用できます。ただし、フックは早い段階で呼び出されるため、コミット対象として選択されたオブジェクトの完全なリストは使用できないことに注意してください。

- 事前コミット

  ユーザーがコミットダイアログで[ **OK** ]をクリックした後、実際のコミットが始まる前に呼び出されます。このフックには、コミットされる内容のリストが含まれています。

- コミット後

  コミットが正常に終了した後に呼び出されます。

- プレプッシュ

  実際のGitプッシュが始まる前に呼び出されます。

- プッシュ後

  プッシュが完了した後に呼び出されます（成功したかどうかに関係なく）。

- リベース前

  リベースの開始前に呼び出されます（開始または自動開始をクリックした後）。

フックは、特定の作業ツリーパスに対して定義されます。最上位のパスを指定するだけです。サブフォルダーで操作を実行すると、TortoiseGitは一致するパスを自動的に上方向に検索します。`*`すべての作業ツリーのマッチングに使用します。

[ **このリポジトリに対して実行]**チェックボックスを**オンにすると**、フックスクリプトが現在のリポジトリにアタッチされ、クローンとチェックアウトごとに自動的に構成されます（フック情報は`.tgitconfig`リポジトリルートのファイルに保存されるため、他のすべてと自動的に共有されます。 TortoiseGit> = 2.7.1を使用する開発者;セキュリティ上の理由から、TortoiseGitは、リポジトリで設定および共有されるフックを実行する前にユーザーに尋ねます）。この場合、置換文字列を使用してコマンドラインのパスを指定できます。`%root%`作業ツリーフォルダへのパス。フックスクリプトはリポジトリ内にあり、もちろんチェックアウトされている必要があります（以下のセキュリティへの影響にも注意してください）。ユーザーが正確なリポジトリルートフォルダのフックをローカルで構成する場合、クライアント側で定義されたフックが優先されます。

次に、フックスクリプトまたは実行可能ファイルへのパスから始めて、実行するコマンドラインを指定する必要があります。これは、バッチファイル、実行可能ファイル、または有効なWindowsファイルの関連付けを持つその他のファイルなどです。Perlスクリプト。

コマンドラインには、TortoiseGitによって入力されるいくつかのパラメーターが含まれています。渡されるパラメーターは、呼び出されるフックによって異なります。各フックには、次の順序で渡される独自のパラメーターがあります。

- 開始コミット

  `PATH` `MESSAGEFILE` `CWD`

- 事前コミット

  `PATH` `MESSAGEFILE` `CWD`

- コミット後

  `CWD` `(commit was amend (true or false))`

- プレプッシュ

  `ERROR` `CWD`

- プッシュ後

  `ERROR` `CWD`

- リベース前

  `(upstream branch)` `(rebased branch)` `ERROR` `CWD`

これらの各パラメータの意味は次のとおりです。

- 道

  操作がUTF-8エンコードで開始されたすべてのパスを含む一時ファイルへのパス。各パスは、一時ファイルの個別の行にあります。

- メッセージファイル

  コミットのログメッセージを含むファイルへのパス。ファイルには、UTF-8エンコーディングのテキストが含まれています。start-commitフックとpre-commitフックが正常に実行された後、ログメッセージが読み戻され、フックに変更の機会が与えられます。

- エラー

  エラーメッセージを含むファイルへのパス。エラーがなかった場合、ファイルは空になります。

- CWD

  スクリプトが実行される現在の作業ディレクトリ。これは作業ツリーのルートに設定されます。

これらのパラメーターには便宜上名前を付けていますが、フック設定でこれらの名前を参照する必要はありません。特定のフックにリストされているすべてのパラメーターは、必要かどうかにかかわらず、常に渡されます;-)

フックが完了するまでGit操作を保留する場合は、[スクリプトが完了するまで待機する]をオンにします。

通常、スクリプトの実行時に醜いDOSボックスを非表示にする必要があるため、デフォルトでは[ 実行中にスクリプトを非表示]がオンになっています。

### 注意

リポジトリからバージョン管理されたファイル/スクリプトを実行している場合、ファイルがサードパーティによって気付かれずに（たとえば、プルまたはマージ後に）変更される可能性があることに注意してください。

#### 課題トラッカーの統合

TortoiseGitはCOMプラグインを使用して、コミットダイアログで課題追跡を照会できます。このようなプラグインの使用については、[「課題追跡からの情報の取得」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html#tgit-dug-bugtracker-ref)で説明しています。システム管理者からプラグインが提供されており、これはすでにインストールおよび登録されている場合、これは、作業ツリーとの統合方法を指定する場所です。

### ヒント

特定のディレクトリパスではなくプロジェクトに課題追跡プラグインを関連付ける階層的なgit構成もあります。そのような設定はより移植性があります。これらの設定を構成するには、[「バグ追跡システム/課題トラッカーとの統合」というセクションを](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html)参照してください。

**設定ダイアログ、課題トラッカー統合ページ**

![設定ダイアログ、課題トラッカー統合ページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsIssueTrackerIntegration.png)

![設定ダイアログ、課題トラッカー統合ページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsIssueTracker.png)


[ **追加...]**をクリックして、特定の作業ツリーでプラグインを使用します。ここでは、作業ツリーのパスを指定し、登録されているすべての課題追跡プラグインのドロップダウンリストから使用するプラグインを選択し、渡すパラメーターを選択できます。パラメータはプラグインに固有ですが、プラグインが自分に割り当てられている課題をクエリできるように、課題トラッカーにユーザー名が含まれる場合があります。

#### 構成

**設定ダイアログ、課題トラッカー設定**

![設定ダイアログ、課題トラッカー設定](https://tortoisegit.org/docs/tortoisegit/images/SettingsIssueTrackerConfig.png)


さまざまなオプションの説明については、[「バグ追跡システム/課題トラッカーとの統合」というセクション](https://tortoisegit.org/docs/tortoisegit/tgit-dug-bugtracker.html)を参照してください。

### 重要

データの入力/保存に問題がある場合は、[「階層git設定」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-hierarchical)を参照してください。

### TortoiseGitBlameの設定

**設定ダイアログ、TortoiseGitBlameページ**

![設定ダイアログ、TortoiseGitBlameページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsBlame.png)


TortoiseGitBlameで使用される設定は、TortoiseGitBlame自体ではなく、メインコンテキストメニューから制御されます。blameアルゴリズムのパラメーターの詳細は、[「git-blame（1）」というセクションで](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-blame(1))説明されています。

- 色

  TortoiseGitBlameは、背景色を使用して、ファイル内の行の古さを示すことができます。最新および最も古いリビジョンの色を指定してエンドポイントを設定すると、TortoiseGitBlameは、各行に示されているリポジトリリビジョンに従って、これらの色の間の線形補間を使用します。

- フォント

  テキストの表示に使用するフォント、および使用するポイントサイズを選択できます。これは、ファイルの内容と、左側のペインに表示される作成者および改訂情報の両方に適用されます。

- タブサイズ

  ファイルの内容でタブ文字が見つかったときに、展開に使用するスペースの数を定義します。

- 移動またはコピーされた行を検出する

  従来の非難アルゴリズムを無効にしました。親の検索はファイルに限定され、名前の変更に従います。ファイル内ファイルの移動およびコピーされた行を検出するために、検査の追加パスが適用されます（`git blame -M`）。変更されたファイルから注釈付きファイルに加えて、コミット（`git blame -C`）内のすべての変更されたファイルから移動またはコピーされた行を検出します。ファイルの作成時注釈付きファイルとコミット内の変更されたファイルに加えて、ファイルを作成するコミット内の他のファイルから移動またはコピーされた行を検出します（`git blame -C -C`）。既存のファイルからさらに、コミット（`git blame -C -C -C`）で他のファイルから移動または変更された行を検出します。

- 移動またはコピーされた行の検出に必要な文字数

  Gitがそれらの行を親コミットに関連付けるためにファイル間の移動/コピーとして検出する必要がある英数字の数の下限。ファイル内ファイル内の移動行を検出するために必要な英数字の数（`git blame -M||`）。ファイル間ファイル間で移動またはコピーされた行を検出するために必要な英数字の数（`git blame -C||`）。

- 空白を無視

  親のバージョンと子のバージョンを比較して、行がどこから来たかを見つけるときに空白を無視するかどうかを定義します（`git blame -w`）。

- 完全なログを表示

  ログを完全にするかどうかを定義します。つまり、ログにファイルのすべての変更が含まれている場合でも、変更が注釈付きリビジョンのファイルの内容に影響を与えることはありません。非アクティブ化されている場合、ログには注釈付きリビジョンの行を最後に変更したリビジョンのみが含まれます。

- 名前の変更をフォローする

  ログが名前変更に従う必要があるかどうか、つまり、ファイルが以前に名前変更されたときにログが停止しないが、名前変更前のすべての変更を含めるかどうかを定義します。

### TortoiseGitUDiff設定

**設定ダイアログ、TortoiseGitUDiffページ**

![設定ダイアログ、TortoiseGitUDiffページ](https://tortoisegit.org/docs/tortoisegit/images/SettingsUDiff.png)


TortoiseGitUDiffによって使用される設定は、TortoiseGitUDiff自体から直接ではなく、メインコンテキストメニューから制御されます。

- 色

  TortoiseGitUDiffが使用するデフォルトの色は通常は問題ありませんが、ここで設定できます。

- フォント

  テキストの表示に使用するフォント、および使用するポイントサイズを選択できます。

- タブ

  ファイルdiffでタブ文字が見つかったときに展開に使用するスペースの数を定義します。

### 高度な設定



使用頻度の低いいくつかの設定は、設定ダイアログの詳細ページでのみ使用できます。これらの設定はレジストリを直接変更するため、これらの各設定の用途と用途を知っておく必要があります。これらの設定を変更する必要があることが確かでない限り、これらの設定を変更しないでください。

- AutoCompleteMinChars

  エディターがオートコンプリートポップアップを表示する文字の最小量。デフォルト値は`3`です。

- AutocompleteParseMaxSize

  コミットメッセージエディタに表示されるオートコンプリートリストは、ソースコードファイルを解析し、メソッドと変数名を表示できます。これにより、ファイルのサイズがバイト単位で解析されるように制限されます。デフォルト値は`300000`です。

- AutocompleteParseUnversioned

  コミットメッセージエディタに表示されるオートコンプリートリストは、ソースコードファイルを解析し、メソッドと変数名を表示できます。デフォルトでは、バージョン管理されたファイルのみが解析されます。`true`バージョン管理されていないファイルも解析するには、この値をに設定します。

- AutocompleteRemovesExtensions

  コミットメッセージエディタに表示されるオートコンプリートリストには、コミット対象としてリストされているファイルの名前が表示されます。拡張子を削除してこれらの名前も含めるには、この値をに設定します`true`。

- BlockStatus

  別のTortoiseGitコマンド（Update、Commitなど）の実行中にエクスプローラーがステータスオーバーレイを更新しないようにするには、この値をに設定します`true`。

- CacheTrayIcon

  TGitCacheプログラムのキャッシュトレイアイコンを追加するには、この値をに設定します`true`。プログラムを正常に終了できるので、これは本当に開発者にのみ役立ちます。

- CacheSave

  TGitCacheプログラムのキャッシュのロードと保存を無効にするには、この値をに設定します`false`。これは、キャッシュをディスクに書き込みたくない場合に役立ちます。ディスクは大きなファイルになる可能性があります。デフォルトは`true`です。

- CygwinHack

  これにより、TortoiseGitをCygwin Gitで使用できるようにするいくつかの回避策が可能になります。ただし、Cygwin GitはTortoiseGitによって正式にサポートされていません。詳細については、[「一般設定」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-main)を参照してください。デフォルトは`false`です。

- デバッグ

  `true`TortoiseGitProc.exeの起動に使用されるコマンドラインを表示するすべてのコマンドに対してダイアログをポップアップする場合は、これを設定します。

- DebugOutputString

  `true`TortoiseGitで実行中にデバッグメッセージを出力する場合は、これを設定します。メッセージは、特別なデバッグツールでのみキャプチャできます（SysInternals Suiteの[*Debug View*](http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx)など）。

- DiffSimilarityIndexThreshold

  類似度閾値を（パラメータの値としてgitの差分に渡され、この設定を制御`-M`及び`-C`パーセント、参照中`--find-copies`で[「のgit-diffの（1）」と呼ばれる部分](https://tortoisegit.org/docs/tortoisegit/git-command.html#git-diff(1))）。デフォルト値は`50`です。これを`0`に設定することで、名前が変更されてコピーされたファイルの検索を無効にできます`100`。この値を変更した後、キャッシュファイル`tortoisegit.data`とフォルダー内のキャッシュファイルを削除する必要がある場合があります。`tortoisegit.index``.git`

- FullRowSelect

  さまざまなダイアログ（たとえば、コミット、変更の確認、追加、元に戻すなど）で使用されるステータスリストコントロールは、完全な行選択を使用します（つまり、エントリを選択すると、完全な行が選択されます。最初の列）。これは問題ありませんが、選択した行が右下の背景画像を覆い、見苦しく見えることがあります。全行選択を無効にするには、この値をに設定します`false`。

- GroupTaskbarIconsPerRepo

  このオプションは、さまざまなTortoiseGitダイアログおよびウィンドウのWin7タスクバーアイコンをグループ化する方法を決定します。

  A. デフォルト値は`3`です。この設定では、アイコンは作業ツリーごとにアプリケーションタイプごとにグループ化されます。1つの作業ツリーのTortoiseGitからのすべてのダイアログが一緒にグループ化され、1つの作業ツリーのTortoiseGitMergeからのすべてのウィンドウが一緒にグループ化されます...たとえば、作業ダイアログ用のログダイアログとプッシュダイアログが開いていて`C:\A`、 -変更ダイアログと作業ツリーのログダイアログの場合`C:\B`、Win7タスクバーには2つのアプリケーションアイコングループが表示され、各作業ツリーに1つのグループがあります。ただし、TortoiseGitMergeウィンドウはTortoiseGitダイアログとグループ化されていません。

  **デフォルトのグループ化を備えたタスクバー**

  ![デフォルトのグループ化を備えたタスクバー](https://tortoisegit.org/docs/tortoisegit/images/TaskbarGroup1.png) 

  B. に設定した場合`4`、グループ化はに設定した場合と同様に機能し`3`ますが、1つの作業ツリーのTortoiseGit、TortoiseGitMerge、TortoiseGitBlame、TortoiseGitIDiff、TortoiseGitUDiffのウィンドウはすべてグループ化されます。たとえば、ログダイアログを開いてから変更されたファイルをダブルクリックすると、開いているTortoiseGitMerge差分ウィンドウがタスクバーのログダイアログアイコンと同じアイコングループに配置されます。

  **リポジトリをグループ化したタスクバー**![リポジトリをグループ化したタスクバー](https://tortoisegit.org/docs/tortoisegit/images/TaskbarGroup2.png) に設定した場合`1`、グループ化は`3`（アプリケーションによるグループ化）に設定した場合と同様に機能しますが、グループ化は作業ツリーとは無関係に行われます。これは、TGit 1.8.1.2より前のデフォルトです。に設定する`2`と、グループ化`4`は作業ツリーとは無関係に行われることを除いて、設定はに設定した場合と同様に機能します。したがって、すべてのTortoiseGitアイコンは1つのアイコンのみを表示するようにグループ化されます。

- GroupTaskbarIconsPerRepoOverlay

  オプション`GroupTaskbarIconsPerRepo`が`0`（上記を参照）に設定されている場合、これは効果がありません。このオプションをに設定する`true`と、Win7タスクバーのすべてのアイコンに小さな色の長方形のオーバーレイが表示され、ダイアログ/ウィンドウが使用されている作業ツリーを示します。

  **リポジトリのカラーオーバーレイによるタスクバーのグループ化**

  ![リポジトリのカラーオーバーレイによるタスクバーのグループ化](https://tortoisegit.org/docs/tortoisegit/images/TaskbarGroupOverlay.png) 

- LogIncludeWorkingTreeChanges

  このオプションは、ログダイアログに「作業ツリーの変更」のエントリを含めるかどうかを制御します。ネットワークドライブ（Sambaなど）を使用している場合、作業ツリーの変更を計算するときにファイルが大きいため、大きなプロジェクトでログダイアログがハングすることがあります。したがって、可能性のある高価な計算を無効にすることができます。デフォルトは`true`です。

- LogShowSuperProjectSubmodulePointer

  このオプションは、スーパーリポジトリがポイントするサブモジュールのコミットを、ラベルのようなブランチで強調表示するかどうかを定義します（[*問題＃2826を*](https://tortoisegit.org/issue/2826)参照）。デフォルトは`true`です。

- MaxRefHistoryItems

  このオプションは、最大の参照参照履歴を設定します（参照ハイパーリンクを右クリックして検索します）。デフォルトは`5`です。

- Msys2Hack

  これにより、TortoiseGitをMsys2 Gitで使用できるようにするいくつかの回避策が有効になります（Git for Windowsパッケージではこれを有効にしないでください！）。ただし、Msys2 GitはTortoiseGitによって正式にサポートされていません。詳細については、[「一般設定」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-main)を参照してください。デフォルトは`false`です。

- NamedRemoteFetchAll

  設定した場合`false`、`fetch`および`pull`リモートという名前のデフォルトのrefspecをフェッチしません。デフォルトは`true`です。

- NoSortLocalBranchesFirst

  このオプションは、ブランチが名前（`true`）で完全に並べ替えられているか、ローカルブランチがリモートブランチの上に表示されるかどうかを切り替えます（gitのデフォルト、`false`）。デフォルト値は`false`です。

- NumDiffWarning

  この設定で指定した数よりも多くのアイテムの差分を一度に表示する場合は、最初に警告ダイアログが表示されます。デフォルトは`10`です。

- OverlaysCaseSensitive

  TortoiseGit 2.4.0以降、オーバーレイアイコンはファイル名の大文字と小文字を区別します。この変更は、大文字と小文字に関連するいくつかの問題（[*問題＃2654など*](https://tortoisegit.org/issue/2654)）およびgitツール（など`git log`）がパスで大文字と小文字を区別するように修正するために導入されました。際に[*問題＃2980*](https://tortoisegit.org/issue/2980)これはTortoiseGit 2.5.0から設定可能な出発である、しかし、有効にはお勧めしません。デフォルトは`true`です。

- ProgressDlgLinesLimit

  Git進行状況ダイアログには、実行されたgit.exeコマンドの出力が表示されます。行数はパフォーマンス上の理由から制限されています。デフォルトは`50000`、最小は`50`です。

- ReaddUnselectedAddedFilesAfterCommit

  このオプションは、コミット後に選択されていない追加ファイルの再追加を切り替えます。TortoiseGit 1.7.10までは、コミット時にチェックされなかった追加ファイルがインデックスから削除され、コミット後にバージョン管理が解除されました。この値を`false`に設定すると、古い動作が復元されます。この値を`true`に設定して、コミット後にこれらのファイルを再度読み取ります（デフォルト）。

- RefreshFileListAfterResolvingConflict

  このオプションは、コミットが解決済みとしてマークされたときに、コミットダイアログのファイルリスト、競合の解決、およびリベースダイアログを自動的に更新するかどうかを切り替えます。これはデフォルトでに設定されています`true`が、更新に時間がかかる場合や、最上部へのスクロールを禁止する場合など、特定のケースではこれをに設定できます`false`。ただし、その場合は手動で更新する必要があります（例：**F5**を押す）。

- RememberFileListPosition

  このオプションは、追加、コミット、元に戻す、解決、およびリベースダイアログのファイルリストが、更新時に最後に選択された行を記憶するかどうかを切り替えます。デフォルトは`true`です。

- SanitizeCommitMsg

  このオプションは、入力したコミットメッセージの最後にあるスペース、CR、LF文字を削除します。これには、コミット、リベース、メモ、注釈付きタグが含まれます。この値は`true`デフォルトです。このようなトリミングによってスクリプト/プラグインが壊れた場合は、に設定することでトリミングを無効にできます`false`。

- ScintillaDirect2D

  このオプションは、コミットダイアログなどの編集ボックスとして使用されるScintillaコントロールでのDirect2Dアクセラレートドローイングの使用を有効にします（また、添付されたパッチウィンドウ用）、統合されたdiffビューアー、TortoiseGitBlame。ただし、一部のグラフィックカードでは、これが適切に機能しない場合があり、テキストを入力するためのカーソルが常に表示されない、再描画が機能しない、または背景が点滅する場合があります。デフォルトでは無効になっています。この値をに設定すると、この機能をオンにできます`true`。

- ShellMenuAccelerators

  TortoiseGitは、エクスプローラのコンテキストメニューエントリにアクセラレータを使用します。これ`Git Commit`は、アクセラレータを2倍にする可能性があるためです（たとえば、**Alt-C**アクセラレータがありますが`Copy`、エクスプローラーのエントリも同様です）。TortoiseGitエントリのアクセラレータが不要または必要ない場合は、この値をに設定します`false`。

- ShowContextMenuIcons

  これは、Windowsエクスプローラ以外のものを使用する場合、またはコンテキストメニューが正しく表示されない問題が発生した場合に役立ちます。`false`TortoiseGitにシェルコンテキストメニュー項目のアイコンを表示させたくない場合は、この値をに設定します。`true`アイコンを再び表示するには、この値をに設定します。

- ShowAppContextMenuIcons

  TortoiseGitが独自のダイアログでコンテキストメニューのアイコンを表示しないようにするには、この値をに設定します`false`。

- ShowListBackgroundImage

  リストコントロール（コミットダイアログなど）に小さな背景画像を使用したくない場合は、この値をに設定します`false`。この値を`true`に設定すると、画像が再び表示されます（デフォルト）。

- スカッシュデート

  この設定を使用すると、コミットのスカッシュで使用する日付を制御できます。`1`最新のコミットの日付を使用する場合は、この値をに設定します。`2`現在の日付を使用する場合は、この値をに設定します。`0`最初のコミットの日付を使用するには、この値をに設定します（他のすべてのコミットされた日付、デフォルト）。

- StyleCommitMessages

  コミットとログのダイアログでは、コミットメッセージでスタイル（太字、斜体など）を使用します（詳細については、[「コミットログメッセージ」](https://tortoisegit.org/docs/tortoisegit/tgit-dug-commit.html#tgit-dug-commit-log)を参照してください）。これを行わない場合は、値をに設定します`false`。

- TGitCacheCheckContentMaxSize

  TGitCacheは、ファイルをハッシュし、SHA1を比較することでファイルのコンテンツをチェックし、タイムスタンプ（インデックス付け）が一致しない場合にファイルのステータスを計算します。このオプションにより、特定のサイズ（KiB単位）を超えないファイルのこの動作を制限できます。デフォルトの最大ファイルサイズは10 MiBです（つまり、10 * 1024 KiB = `10240`KiB）。これを0に設定して、TGitCacheがタイムスタンプのみをチェックするようにします（TortoiseGit 1.7.0から1.7.12まで、TortoiseGit 1.9.0.0より前はTGitCacheCheckContentによって制御されていました）。ファイルの内容の確認を無効にすると、TGitCacheプロセスのディスクアクセスとCPU時間を削減できますが、オーバーレイの精度は、ファイルの内容の確認を有効にした場合ほど正確ではない場合があります。

- UseCustomWordBreak

  標準の編集コントロールは、パスやURLにあるようなスラッシュで停止しません。TortoiseGitは、編集コントロールにカスタムのワードブレークプロシージャを使用します。それを望まず、代わりにデフォルトを使用する場合は、この値を0に設定します。コンボボックスの編集コントロールのデフォルトのみが必要な場合は、この値を1に設定します。

- UseLibgit2

  これにより、TortoiseGitは可能な限りlibgit2を使用するようになります（たとえば、ファイルをインデックスに追加するため）。TortoiseGitがファイル操作にlibgit2を使用しないようにするには、この値をに設定します`false`。

- バージョンチェック

  TortoiseGitは、約1週間に1度利用可能な新しいバージョンがあるかどうかをチェックします。TortoiseGitにこのチェックをさせたくない場合は、この値をに設定してください`false`。

- VersionCheckPreview

  これを`true`に設定すると、TortoiseGitは新しいプレビューリリースもチェックします。すべての安定版リリースのデフォルトは`false`です。

- Win8SpellChecker

  `true`TortoiseGitがWindows 8以降のスペルチェッカーを使用するようにするには、これを設定します（[「スペルチェック」](https://tortoisegit.org/docs/tortoisegit/tgit-intro-install.html#tgit-intro-instalsl-spell)を参照してください）。デフォルトは`false`です。

### TortoiseGit設定のエクスポート

すべてのクライアント設定をエクスポートして別のコンピューターで使用する場合は、Windowsレジストリエディターを使用してエクスポートできます`regedt32.exe`。レジストリキーに移動し、`HKCU\Software\TortoiseGit`それをregファイルにエクスポートします。他のコンピューターで、そのファイルを再度インポートするだけです（通常、regファイルをダブルクリックするとそれが実行されます）。

Gitの一般設定を忘れずに保存してください。これらは、Git構成ファイル`.gitconfig`または`.config/git`ユーザープロファイルディレクトリにあるフォルダーに保存されています。