220
Help us understand the problem. What are the problem?

posted at

updated at

Mac Git 初期設定

目的

Gitの初期設定を行います。

関連記事

設定確認

git バージョン確認

$ git --version
git version 2.13.6 (Apple Git-96)

まず、MacにインストールされているGitのバージョンを確認しておきましょう。
Windowsと違ってMacはGit標準搭載されているので良きです。

万が一、Gitのバージョンが1系であればアップデートしておいた方が良いでしょう。

git 設定確認

* ローカルの設定
$ git config -l
* グローバルの設定
$ git config --global -l

設定ファイルの場所

  • Local: .git/config 各対象のリポジトリの.gitディレクトリ
  • Global: ~/.gitconfig

基本はLocalとGlobalの設定ファイルの場所だけ覚えておけばokです。
設定ファイルはコマンドから書き換えることを推奨します。
直接書き換えてしまってもokです。

Git初期設定手順(必須)

git ユーザー名、メールアドレスの設定

ユーザ名、メールアドレスは必ず設定しておきます。
公開リポジトリだとWebから見れてしまうので、本名は設定しない方が無難です。

$ git config --global user.name "ゆうきゃん"
$ git config --global user.email "ucan-lab@example.com"

ディレクトリ、ファイル設定

$ mkdir ~/.ssh
$ touch ~/.ssh/config
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*
$ xattr -cr ~/.ssh

必要に応じて実行してください。
パーミッションはディレクトリは700、ファイルは600である必要があります。
xattr コマンドでMacの拡張ファイル属性(extended attributes)、いわゆるアットマークが付いてるのを削除できます。

ssh config

$ vi ~/.ssh/config

Host *
  StrictHostKeyChecking no
  UserKnownHostsFile=/dev/null
  ServerAliveInterval 15
  ServerAliveCountMax 30
  AddKeysToAgent yes
  UseKeychain yes
  IdentitiesOnly yes

メールアドレスのプライバシー設定

プライベートなメールアドレスが表示されるのが嫌な場合は
Keep my email address private にチェックを入れて、
ID+ユーザー名@users.noreply.github.comuser.email に設定しましょう。

global .gitignore 設定(推奨)

~/.config/git/ignore

$ mkdir -p ~/.config/git

ディレクトリがない場合作成する。

.DS_Store

[Git] .gitignoreの仕様詳解

Git初期設定(お好み)

ユーザー名とメールアドレスの設定以外はお好みです。

git push 時に同じ名前のリモートブランチを作成する

$ git config --global push.default current

git status 追跡されていないファイルはすべて表示

$ git config --global status.showUntrackedFiles all

追跡されていないファイルはすべて表示させたい。

改行コードの自動変換機能

$ git config --global core.autocrlf input

input の場合は改行コードをコミット時に LF に変換してくれます。
(Mac, Linuxは LF, Windowsは CRLF がデフォルトの改行コードです。)

この自動変換を無効にしたい場合は false を設定してください。

git パーミッションの変更を無視する

$ git config --global core.filemode false

チーム開発時は他の人と合わせましょう。

git ファイル名の大文字・小文字の変更を検知する。

$ git config --global core.ignorecase false

ファイル名の大文字・小文字だけを変更することは希にあるので、この設定は割と重要かも。

git カラー設定

$ git config --global color.ui true
$ git config --global color.diff auto
$ git config --global color.status auto
$ git config --global color.branch auto

git 日本語ファイル名をエスケープせずに表示

$ git config --global core.quotepath false

git 濁点つきのディレクトリ・ファイルが分けて表示されてしまう UTF8-MAC 問題の解決方法

$ git config --global core.precomposeunicode true
  • git 1.7.12以降で使用可能
  • git 1.8.5以降はデフォルトでtrueとなっている

マージコンフリクトを見やすくする

$ git config --global merge.conflictStyle diff3

設定まとめ

git config --global status.showUntrackedFiles all
git config --global core.autocrlf input
git config --global core.filemode false
git config --global core.ignorecase false
git config --global color.ui true
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
git config --global core.quotepath false
git config --global core.precomposeunicode true
git config --global merge.conflictStyle diff3

Git CLIツール

詳細は Git使うのに便利なCLIツール の記事に詳しくまとめられています!

次回

GitHub SSH接続設定も合わせて行いましょう!

参考

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
Sign upLogin
220
Help us understand the problem. What are the problem?