Git(2)TortoiseGitでGitの設定を行う

2014-03-15

旧ブログ

t f B! P L

前の関連記事:Git(1)Git for Windows(msysgit)のアンイストールとインストール


Git for Windows(msysgit)に続いてTortoiseGitをインストールしてこれでGitを設定します。リモートリポジトリをローカルディスクに置いて変更履歴が残るバックアップツールとして使う予定です。

TortoiseGitでエクスプラーラの右クリニックメニューでGitを操作できるようにする


tortoisegit - Windows Shell Interface to Git - Google Project HostingのDownload TortoiseGitからTortoiseGit 1.8.7.0 - 64-bitとLanguage PacksのJapaneseをダウンロードしました。

TortoiseGit-1.8.7.0-64bit.msiをダブルクリックしてデフォルト設定のままインストール。

Windows環境でGitを使うを参考にさせて頂きましたがSSHクライアントの選択項目はでてきませんでした。

以前インストールしたときに設定したものがどこかに残っているのかもしれません。

(インストール後にエクスプローラで右クリック→TortoiseGit→設定→ネットワーク、のSSHクライアントの項目を見るとC:\Program Files\TortoiseGit\bin\TortoiseGitPLink.exeになっていました。)

次に日本語化パックTortoiseGit-LanguagePack-1.8.7.0-64bit-ja.msiをインストール。

これも自動的に日本語に設定されました。

(されていなければエクスプローラで右クリック→TortoiseGit→Settings→Gneral→Languageで日本語を選択する必要があります。)


エクスプローラのフォルダの中で右クリックするとこのようなメニューが追加されました。

ヘルプなどは日本語にはなりません。

以後はこのメニューからGitを操作します。

(H26.3.20追記。IDEのGitプラグインでは設定できないことが多いのでこのTortiseGitは頻繁に使うことになります。)

Gitの設定ファイルは3種類ある


右クリック→TortoiseGit→設定、とすると以下のようなダイアログが毎回出てきます。


これは、Gitの設定は階層構造になっていますよ、と書いてあります。

毎回でてきてうっとうしいので「このメッセージを再び表示しない」をチェックして「OK」しました。

これは設定画面のGitの項目にでてくる「設定のでどころ」のことを指しています。


これの以下の部分です。


右下の「ヘルプ」をクリックして出てくるヘルプ画面の3.35.6.1. The hierarchical git configurationの項目に解説がありますが1.5 使い始める - 最初のGitの構成7.1 Git のカスタマイズ - Git の設定も読むとよく理解できます。

全ユーザー共通の設定は「システム」、このユーザの設定は「グローバル」、このリポジトリのみの設定は「ローカル」で設定します。

「システム」→「グローバル」→「ローカル」の順で読み込まれ、後で読み込まれた設定が優先されます。

(I.e. there are multiple levels; settings in higher levels override values in lower levels.の文からは逆だと思ってしまいました。「システム」がlower levelsになるようです。)

どの階層で設定するかを選択して設定値を入力して「適用」をクリックすると設定が完了します。

上図のように[引き継ぐ」をチェックしないまま空欄で「適用」すると「名前」、「メール」に空欄の""が設定されてしまいますので注意が必要です。

「有効値」を選択するとそのフォルダで適用される値を確認できます。

一番下に並んでいるボタンをクリックするとそれぞれの設定ファイルが開きます。


具体的にはそれぞれ以下のファイルが開きます。

「ローカルリポジトリの設定を編集」=「ローカル」  .git\config(.gitはリポジトリフォルダ内の隠しフォルダ)

「このユーザの設定を編集」=「グローバル」  C:\Users\ユーザー名\.gitconfig

「全ユーザ設定を編集」=「システム」  C:\Program Files (x86)\Git\etc\gitconfig

.tgitconfigというのは"Project - settings for the current repository stored within the repository in /.tgitconfig"とTortoiseGitのヘルプに書いてあるのですがよくわかりませんでした。

まずはこのGitの項目から設定していきます。

TortoiseGitでGitの設定を行う


(2014.3.17追記。「自動改行コード(CrLf)変換」に関するところが間違っていたので訂正しました。)


このように設定しました。メールアドレスはダミーです。

リモートリポジトリをローカルPCに置いたとしてもコミットするにはユーザー情報の「名前」と「メール」は必須です。


設定せずにコミットしようとしてもこのように言われてしまいます。


この「自動改行コード(CrLf)変換」はsafecrlfとautocrlfの設定です。


左の「自動改行コ」というのがsafecrlfの設定でチェックボックスにチェックが入っているとtrue、四角が入っていると設定なし、チェックが外れているとfalseとなります。

msysgitのインストール時に設定した「Configuring the line ending conversions」と同じです。
$ git config --global core.autocrlf input
この設定は、Windows にチェックアウトしたときの CRLF への変換は行いますが、Mac や Linux へのチェックアウト時は LF のままにします。またリポジトリにコミットする際には LF への変換を行います。
Git - Git の設定
このようにinputはWindowsではtrueと同じ動作になるので設定がないのでしょう。

Windowsだけで使うファイルならfalseにしといてよいでしょう。

(H26.3.20追記。PyCharmを使っていると推奨設定にするように促されるので結局促されるままにautocrlfはtrueとしました。)

例えばfalseなら、スタート→Git→Git Bashで以下のようにコマンドを打つのと同じです。

$ git config --global core.autocrlf false

これはsafecrlfの設定です。
core.safecrlf は true の値を持つとき、改行コードの混在したファイルの commit や、他のいかなる改行コードの変換を伴うコマンドを拒否するということのようだ。
git config の core.safecrlf って何のためよ? - 必ず隣あり
autocrlf = falseにしている場合はこの設定は関係ないと思うのでsafecrlf = falseにしました。

autocrlf = trueのときはsafecrlf = trueかwarnにしとけば混在した改行コードのときは勝手に変換しないようにできます。


「パスの非ASCIIを数値で」のチェックをははずしておきます。

これをチェックしていると日本語のファイルやフォルダ名が数値に置換されて表示されます。

$ git config -–global core.quotepath false

「適用」をクリック後「このユーザの設定を編集」をクリックしてC:\Users\ユーザー名\.gitconfigをみてみると以下のようになっていました。

[user]
name = p--q
email = pq@pq.com
[core]
quotepath = false
autocrlf = false
safecrlf = false

TortoiseGit の基礎勉強 ~ TortoiseGit によるバージョン管理 ~ — バージョン管理システム入門(初心者向け)を読むとpush.default upstreamの設定も推奨されています。

$ git config -–global push.default upstream

引数なしのgit pushは危険なので気をつけましょう - DQNEO起業日記

この解説がわかりやすかったです。

とりあえず設定しといたほうがよさそうな気もしますけどTortoiseGitを使っている場合はどうなのかがわからなかったのでまだ設定しないでおきます。

Windows7でバックアップツールとしてGitを使う


Gitは分散型バージョン管理システムなので本来はネットワーク上にデータを置かないと「分散型」にはならないのですが、私は1台のPCだけでしか使わないのでバックアップツールとして使うことにします。

(以下"フォルダ"を"ディレクトリ"と同じ意味で使っています。)


バックアップ対象フォルダをこの流れでバックアップします。

ローカルリポジトリにコミットすることで変更履歴を残すことができます。

ローカルリポジトリの.gitフォルダは隠しフォルダですのでエクスプローラのメニューから、ツール→フォルダオプション→表示、ファイルとフォルダーの表示、で、隠しフォルダーを表示、を選択しないと見えません。

ちなみにGit管理下のあるフォルダをGit管理からはずしたいときはこの.gitフォルダを削除すればGit管理でなくなります。

ただしGitの設定だけでなく履歴もすべて消えてしまいます。

リモートリポジトリはプッシュするときだけつなげる外付けハードディスクに保存することにします。

Windows7でのTortoiseGitの使い方はTortoiseGit の基礎勉強 ~ TortoiseGit によるバージョン管理 ~ — バージョン管理システム入門(初心者向け)が詳しいです。

ここに書いてある通りにしてだいたい使い方がわかりました。

ファイル名の変更とファイルの削除はTortoiseGitを使ってやらないといけないようです。

ファイル名の変更は、ファイルを右クリック→TortoiseGit→名前を変更。

ファイルの削除は、ファイルを右クリック→TortoiseGit→削除。

履歴を残したい時点でコミットします。

参考にしたサイト


tortoisegit - Windows Shell Interface to Git - Google Project Hosting
エクスプローラでの右クリックメニューにGitのコマンドを追加してくれます。

Windows環境でGitを使う
インストールはここを参考にさせていただきました。

1.5 使い始める - 最初のGitの構成
Gitの基本的設定項目の解説。

7.1 Git のカスタマイズ - Git の設定
上記の解説の続き。

Git - Git の設定
Gitの設定についてはTortoiseGitのヘルプよりこちらの方がわかりやすいです。

TortoiseGit の基礎勉強 ~ TortoiseGit によるバージョン管理 ~ — バージョン管理システム入門(初心者向け)
Windows7での使い方に詳しいです。

git config の core.safecrlf って何のためよ? - 必ず隣あり
safecrlf = falseの意味が解説されています。

#22 Gitメンテナ 濱野 純:小飼弾のアルファギークに逢いたい♥|gihyo.jp … 技術評論社
現在Gitの維持管理されている方との対談です。

次の関連記事:Git(3)既存のフォルダからローカルリポジトリとリモートリポジトリを作成

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ