Help us understand the problem. What is going on with this article?

Gitをインストールしたら真っ先にやっておくべき初期設定

More than 1 year has passed since last update.

概要

Git 初期設定の鉄板です。
何回やっても忘れるのでメモ。
気がついたら追記していきます。

2018-06-06 もう Git 2.17 ですよ。この記事は 2013 年代ぐらいに書かれた記事です。

ユーザー情報を設定する

最近の Git はこれを設定しないとエラーを吐くようになりました。いい機会です、是非設定しましょう。

git config --global user.name "First-name Family-name"
git config --global user.email "username@example.com"

エディタを Vim に設定する

コミットログを書くとき、 Ubuntu のデフォルトだと nano に設定されてしまうのでこれをvimに修正する。

git config --global core.editor 'vim -c "set fenc=utf-8"'

そもそも nano なんて使わねーよという時

ブコメや、 @fumiyas さんからも指摘がありましたが、 nano 自体を全体的にそもそも使いたくないときは

  • nano は削除する
sudo dpkg -P nano
  • ほかのエディタをデフォルトにする
export GIT_EDITOR=

or

export EDITOR=

or 私のやった方法は以下です。

$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 4 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /bin/nano            40        自動モード
  1            /bin/ed             -100       手動モード
  2            /bin/nano            40        手動モード
  3            /usr/bin/vim.basic   30        手動モード
  4            /usr/bin/vim.tiny    10        手動モード

現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 3
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.basic を使います

その他

git diff に色付けしたい

git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto

push 方式を指定

Git 1.8系 以降で使える。というか警告が表示される。
新しい Git だと警告が表示されるので push 方式を明示する。

git config --global push.default simple

Git 1.8系以前 だとこれを設定すると Malform だって言われて以下の様なエラーになっちゃう。ひい。

error: Malformed value for push.default: simple
error: Must be one of nothing, matching, tracking or current.
fatal: bad config file line 8 in /home/wnoguchi/.gitconfig

以下のようにして削除する。

git config --global --unset push.default

詳しくは以下を参照。

Macユーザーに贈るUTF-8問題解決設定(macOS Sierraまで)

Git 1.7.12以降で使える。
Mac ユーザーの中では有名ですが、濁点つきのディレクトリ・ファイルが分けて表示されてしまう UTF8-MAC 問題の解決方法。
忘れがちなので注意。

2018-01-13 追記
以下の手順は macOS High Sierra 以降については標準のファイルシステムが APFS になったので未来の若者には無問題なのかな。

  • 今後クローンするリポジトリに対して有効になる
git config --global core.precomposeunicode true
  • 既存リポジトリの .git/config に対してすること
git config --local core.precomposeunicode true

git status とかで表示される日本語ファイル名がエスケープされてうざい

git config --global core.quotepath false

まとめ

以下のスクリプトを流し込むとそれっぽく初期設定してくれる。

git-bootstrap.sh
#!/bin/bash
git config --global user.name "First-name Family-name"
git config --global user.email "username@example.com"
git config --global core.editor 'vim -c "set fenc=utf-8"'
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
#git config --global push.default simple
git config --global core.precomposeunicode true
git config --global core.quotepath false

現在の設定を確認する

% git config --list
user.name=Wataru Noguchi
user.email=username@example.com
core.quotepath=false
core.excludesfile=/Users/noguchiwataru/.gitignore_global
core.precomposeunicode=true
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
difftool.sourcetree.path=
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
mergetool.sourcetree.trustexitcode=true
push.default=simple

参考サイト

  1. git 1.7.12でUTF8-MAC問題が解決 | Butaman-kun Project
  2. git push時に表示されるwarning: push.default is unset...の意味と解決方法 - Qiita キータ
  3. 引数なしのgit pushは危険なので気をつけましょう - DQNEO起業日記
  4. gitのコミットログ編集用エディタをvimにする - Sticker@Something
  5. git git diff で色付け - mat_akiの日記
  6. git config --global で追加した設置値を削除したい場合 - knt45の日記
wnoguchi
Software Engineer(Server, Network): Design, Implementation, Operation. Infrastructure Division.
https://pg1x.com/
unicast
ユニキャストは、茨城大学工学部発の学生ベンチャー企業として、2005年に産声をあげました。 ミッションである『テクノロジを通じて「驚き」と「感動」を創造し、人々の「夢」と「希望」を支えます。』を合言葉に、これからも幅広く価値発信してまいります。
http://www.unicast.ne.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした