gitインストール後のgit設定

はじめに

業務でGit Labを使用することになったので備忘録として記事を書く

注意点

今回Cygwinを使用してGitをインストールした後に実施する手順を書くのでCygwinについてや、Gitのインストール方法についての記載は省略する

Git Labとは?

インストール後の手順について記載する前にGIt Labについて確認する。

Git LabはGit Hub同様、Gitベースのソースコード管理機能や、マージリクエストによるレビュー機能を備えたサービス。

コストやセキュリティの観点でGit Hubを使えない企業などが使用する。

インストール後の手順

1.ユーザーの設定

ユーザー情報は必須項目なためgit configを使用して設定する

・ユーザー名の設定

$ git config --global user.name "ユーザー名"

・メールアドレスの設定

$ git config --global user.email メールアドレス

○ --globalオプションについて

--globalオプションを使用すると設定が~/.gitconfigに保存されるため、そのログインユーザーの設定を変更、参照することになる。

使用しないと設定が.git/configに保存されるため、そのリポジトリの設定をすることになる。例としては「改行コードをcrlfにしたい」という場合にそのリポジトリだけ変更することが可能。

今回の場合は全ての操作に対して常にこの設定した情報を参照させたいので、--globalオプションを使用している。

2.改行コードの設定

最近はWindowsはCRLF、それ以外のシステムはLFに分かれている。

今回の場合はUNIXを使用する想定で設定するためLFに設定する

・改行コードの設定

$ git config --global core.autocrlf input

inputとするとCRLFをcommitするとLFになり、checkoutの時は何もしない、つまりLFのままになる

注意点としては、ローカルでCRLFで作成したファイルがあった場合、PULLしてマージしない限りLFにはならない。

また、逆にPULLしてきたファイルはLFになっているため、CRLFとLFが混ざってしまう可能性がある。

大抵のエディタは新規で作成するとCRLFになるので保存するときにLFを選択するなどの手順をする。

3.マージのデフォルト設定

gitのデフォルトの動作では、ff(Fast-Forward)でマージされているようになっている。

ffとはマージされるブランチのHEADをマージするブランチの先端にそのまま移動させるマージを指す。

例えば3からdevブランチを作ってBに進んだとする。

main: 1 - 2 -3

       ↓

dev:   A -B

このままdevをmainにマージするとmainは

main: 1 - 2 - 3 - A -Bのようになる。

ffとならないようにマージした場合は

main: 1 - 2 - 3 - - - 4

                       \        /

dev:                 A - B

のようにマージ用のコミットが作成される。

コマンドでマージする際に --no-ffオプションを指定すれば良いが、毎回するのであれば設定した方が楽なため設定する。

・--no-ffオプションを省略するための設定

$ git config --global -add merge.ff false

上記コマンドだけだとpullしてマージした際にもマージコミットができてしまうので以下のコマンドを実行する。

$ git config --global --add pull.ff only

まとめ

個人でGit Hubを使用したことがあるためある程度の流れや、意味などは理解できてはいるが実務で使用するのが初めてなこと、チームで使用することが初めてなため分からないことが多かった。

なので学習して知識不足な点などを補っていければと思っている。

参考にした記事

seleck.cc

yu8mada.com