Gitの設定ファイル(git-config)のまとめ

Gitの設定ファイルには多くの設定があるが、設定ファイルの種類やよく使うコマンドについてまとめてみた。 設定ファイルの種類 設定ファイルは以下の三つがあり、上から順に優先順位が高い。 ファイルパス 対象 使用するオプション .git/config リポジトリごと --local または指定なし ~/.gitconfig ユーザーごと --global /etc/gitconfig /usr/local/etc/gitconfig など(※1) システム全体 --system (※1)私のPCのWindows7ではC:\Program Files\Git\mingw64/etc/gitconfigにある 設定の一覧を表示 $ git config (--system|--global|--local) -l 現在有効な設定を表示 $ git config -l リポジトリ設定、ユーザー設定、システム設定をあわせて表示される 設定値がどのファイルで設定されているかを表示 $ git config (--system|--global|--local) --show-origin -l 設定ファイルをエディタで編集 $ git config (--system|--global|--local) -e(--edit) 設定(置き換え) $ git config (--system|--global|--local) 設定名 設定値 # 設定が複数ある場合のすべて置き換え $ git config (--system|--global|--local) --replace-all 設定名 設定値 設定の追加 $ git config (--system|--global|--local) --add 設定名 設定値 設定の削除 $ git config (--system|--global|--local) --unset 設定名 # 設定が複数ある場合の1つを削除 $ git config (--system|--global|--local) --unset 設定名 設定値 # 設定が複数ある場合のすべてを削除 $ git config (--system|--global|--local) --unset-all 設定名 よく使う設定一覧 よく使う設定名と設定する内容を表にした。随時追加する予定。

TortoiseGitのアイコンオーバレイが表示されない件の解決方法

TortoiseGitのアイコンオーバレイがなんらかのタイミングで表示されなくなったので解決方法のメモです。 アイコンオーバレイとはエクスプローラーのフォルダやファイルのアイコン上に表示されるマークです。 TortoiseGitの設定確認 TortoiseGitの[設定]-[アイコンオーバーレイ]-[オーバーレイハンドラー]の順に開きます。 TortoiseGit以外で9個のオーバーレイがインストールされているようです。 レジストリの確認 レジストリエディターを起動するをクリックし、レジストリを確認します。 キー:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers TortoiseGitで9個とTortoiseGit以外で9個で合計18個のオーバーレイの設定があります。 Windowsの上限は15個のようです。 この上限を超えると優先順位の低いものから表示されなくなるようです。 不要レジストリの削除 解決方法としては、不要なオーバーレイアイコンを削除します。 Dropboxのオーバーレイアイコンが4つありますが、Dropboxはほとんど使ってないので削除します。 ちなみに一番下の三つのオーバーレイアイコンはWindowsで使用しているらしいのでそのままにしておきます。 EnhancedStorageShell Offline Files SharingPrivate 00aswと00avastも削除して問題ないと思いますがとりあえずそのままにしておきます。 PC再起動 オーバーレイアイコンの設定が15個以下になったのでPCを再起動します。 オーバーレイアイコンが表示されることを確認できました。

ローカルリポジトリから共有リポジトリを作成する方法

今回はローカルリポジトリが存在する状態で共有リポジトリを作成する方法を調べてみました。 以下の二つがあるようです。 空の共有リポジトリを作成しローカルリポジトリからプッシュする ローカルリポジトリを共有リポジトリとして複製する 準備 以下のディレクトリを用意します。 共有リポジトリを作成するディレクトリ:c:/share ローカルリポジトリのあるディレクトリ:c:/gittest/hoge (コミット履歴ありのリポジトリ) 方法1.空の共有リポジトリを作成しローカルリポジトリからプッシュ $ cd c:/share # 共有リポジトリは慣例としてディレクトリ名の終わりを`.git`にします $ mkdir hoge.git $ cd hoge.git $ git init --bare --shared --bareはベアリポジトリを作成するオプション。 ベアリポジトリとは作業ディレクトリを持たないリポジトリです。 --sharedはリポジトリを共有するときのアクセス権を設定するオプションで--shared=0666のようにアクセス権を設定します。 パーミッション指定なしの場合は0664です。 同じグループのみに読み書き許可するには0660を指定します。 これで空の共有リポジトリが作成できました。 あとはローカルリポジトリから共有リポジトリにプッシュします。 $ cd c:/gittest/hoge # 送信対象で"*"を指定するとすべてのブランチ、タグがプッシュされるようです $ git push c:/share/hoge.git "*" 方法2.ローカルリポジトリを共有リポジトリとして複製する $ cd c:/share $ git clone --bare c:/gittest/hoge hoge.git --bareはgit initと同様にベアリポジトリを作成します。 方法1.と2.で設定ファイルが微妙に違ったりしますが、特に問題ないと思います。 あとはこのリポジトリをサーバー上に置き、アクセスするためのプロトコルの準備をすると他の開発者と共有できるようになります。

Gitで使うエディタを変更してみる

gitでコミットのメッセージを編集するときなどに使うエディタはviエディタが使われます(※)。viに慣れていない人にとっては他のエディタを使いたいかもしれません。ここではWindows環境で他のエディタを使用するように設定を変更してみます。 (※)ただし、デフォルトエディタ(環境変数VISUALまたはEDITOR)が設定されている場合は、そのエディタが使われます。 エディタを変更する エディタを変更するためには以下のコマンドを実行します。 $ git config --global core.editor "エディタを実行するコマンド" 今回はサクラエディタに変更してみます。 # パスにスペースがあるのでシングルクオーテーションで囲む # -CODE=4はUTF-8で開くためのサクラエディタのオプション # フォルダの区切りは「/」(スラッシュ) $ git config --global core.editor "'C:/Program Files/sakura2-2-0-1_x64/sakura.exe' -CODE=4" # サクラエディタの実行ファイルのフォルダにパスが通っている場合は以下でもOK $ git config --global core.editor "sakura.exe -CODE=4" 実際にファイルを用意し、コミットすると $ echo a > a.txt $ git add a.txt $ git commit a.txt コミットメッセージのファイルがサクラエディタで開きました。 まとめ viに慣れてない、またはお気に入りのエディタがある人は変更するとよいでしょう。

Hugoを使いはじめる

前回はHugoをインストールしたので今回はサイトを作って記事を書いて動作確認までやってみる。 環境 Windows7 64bit Hugo v0.20.7 サイト作成 適当なディレクトリでhugo new siteコマンドを実行しサイトディレクトリを作成。 hugo new site [path] ここではC:\hugo\sitesにmysiteというサイトを作成する。 $ mkdir c:\hugo\sites $ cd c:\hugo\sites $ hugo new site mysite $ tree . /F C:\HUGO\SITES\MYSITE │ config.toml │ ├─archetypes ├─content ├─data ├─layouts ├─static └─themes 1ファイル、6ディレクトリが作成された。 ファイル/ディレクトリ 説明 config.toml サイト全体の設定ファイル。デフォルトでは設定ファイルはTOML形式だがYAMLまたはJSONも使用できる。 archetypes このディレクトリのdefault.mdの設定が新しい記事に適用される。 content サイトのコンテンツ(記事など)を置く。 data config.toml以外にサイト全体で使用する設定ファイルを置く。TOML、YAML、またはJSON形式。 layouts コンテンツを静的なサイトに変換するために使用するレイアウト(html)を置く。 static 画像、CSS、JavaScriptなどの静的コンテンツを置く。 themes サイトのテーマを置く。テーマは独自に作成することも可能。 記事作成 サイトディレクトリでhugo newコマンドを実行し記事を作成。

Gitのローカルリポジトリ作成

Gitのローカルリポジトリを作成するには以下の二つの方法があります。 1. ディレクトリでリポジトリを作成(git init) 2. 共有リポジトリを複製する(git clone) 実際にローカルリポジトリを作成してみます。 ディレクトリでリポジトリ作成 Gitで管理したいディレクトリを右クリックし、Git Bash Hereを選択してGit Bashを起動 Git Bashでgit initを実行 $ git init Initialized empty Git repository in C:/gittest/sample/.git/ すると、空のローカルリポジトリとして.gitディレクトリが作成されます。 .gitディレクトリにはリポジトリデータ、設定ファイルなどが入っています。 ローカルリポジトリの作成は、ディレクトリが空の場合でも、すでにファイルが存在する場合でも関係なく実行できます。 なので、開発しているプロジェクトを途中からGitで管理することが可能です。 共有リポジトリを複製 ローカルにある共有リポジトリを複製してみます。 共有リポジトリのパス:c:/share/test.git 複製するディレクトリのパス:c:/gittest # Git Bash起動し複製するディレクトリに移動 $ cd c:/gittest $ git clone c:/share/test.git Cloning into 'test'... done. $ ls test/ testディレクトリができました。 サーバーにある共有リポジトリの複製についてはまた後日やってみたいと思います。

Gitの初期設定

前回、Gitのインストールを行いました。今回はGitを使い始めるためのいくつかの設定をします。 名前とメールアドレスの設定 GitでファイルをコミットしたときにAuthorが記録されるのですが、名前とメールアドレスを設定していないとコミット時にエラーになるので最初に設定しておきます。 以下の二つのコマンドを実行します。 $ git config --global user.name "Yamada Taro" $ git config --global user.email "yamadataro@example.com" git configコマンドはGitの設定を表示したり変更したりするコマンドです。 --globalを指定するとユーザのGitの設定が対象で、指定なしの場合はリポジトリのGitの設定が対象となります。 ~~globalで設定した内容は下記のファイルに書かれます。 ~/.gitconfig このファイルを直接編集してもよいのですが、いちいち開くのは面倒ですのでコマンドの方が便利です。また、以下のコマンドを実行すると.gitconfigをエディタで開くことができ、編集することもできます。 $ git config --global -e または $ git config --global --edit 日本語ファイル名を表示する ファイル名に日本語が含まれる場合、git statusなどでファイル名がエスケープして表示されます。これを防止するには以下のコマンドを実行します。 $ git config --global core.quotepath false これでGitを使うための準備ができました。