Gitの設定

Gitとは

Gitプログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムです。ソースコードに限らず、電子データ全般のバージョン管理ができます。Linus Benedict Torvalds がLinuxのソースコードを管理するために作りました。複数人でのプロジェクト管理に向いていて、そのサーバーとしてメジャーなGitHub上では様々なプロジェクト管理が行われています。例えば、東京都のCOVID-19の情報サイトはGitHub上で開発されています(GitHubへのリンク)。台湾のIT大臣がコード改善に協力し、話題を呼びました(ITmedia News)。

東京のCOVID-19の情報サイトのスクリーンショット。GitHub上で共同開発されています (https://stopcovid19.metro.tokyo.lg.jp/)

Gitと実験化学

Git, GitHubはプログラミングや情報科学の世界では広く用いられていますが、実験科学の世界では、まだあまりメジャーではありません。でも、これから先、どんどんメジャーになっていくと勝手に思っています。例えば、Gitを使えば、簡単に研究開発の進捗管理・履歴管理ができますし、GitHubを使えば、複数人でおこなうプロジェクトの管理も簡単です。ここでは、簡単なGitのインストール方法を紹介したいと思います。

Git・GitHubを使えば、簡単にプロジェクトの進捗管理ができる。この画面はGitのグラフィカルなクライアントであるSourceTree

Gitのインストールと設定

Gitのインストールと基本設定

Git は、Macには最初から入っていますが、バージョンが古いので、Homebrew で最新版をインストールします。
$ brew install git  #最新版のgitをインストール

Git のインストールができたら、設定をしていきます。

$ git config --global user.name "Taro YAMADA" #自分の名前で
$ git config --global user.mail "hogehoge@hoge.com" #自分のアドレス 
$ git config --global core.precomposeunicode true 
$ git config --global core.quotepath false 
$ 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 full.rebase false

これらのコマンドで設定が~/.gitconfig に書き込まれます。

.gitignore を gibo で生成する

作業フォルダには履歴管理したくない個人的な設定ファイルや一時ファイルなどもできます。例えば、Wordだとdocxファイルを開くと、”~$”で始まる一時ファイルが作成されます。このようなファイルを Git で履歴管理する必要はありません。このような履歴管理したくないファイルはホームフォルダ上の .gitignore に設定して除外します。.gitignore をいちいち手で書くのは面倒ですが、これを自動生成してくれるのが gibo です。gibo は Home brew でインストールできて、設定も簡単です。

$ brew install gibo  #giboをインストール
$ brew update  #最新版にアップデート

リストは下記コマンドで見られます。

$ gibo list

この何から、関係ありそうなものをピックアップして、インストールします。下のような感じです。

$ gibo dump macOS Windows MicrosoftOffice VisualStudioCode Dropbox Python >> ~/.gitignore

これでgitの履歴管理から、これら設定ファイルが除外されるようになります。

Sourcetreeのインストール

Gitはコマンドラインから使いますが、初心者にはちょっととっつきにくいです。そこで、素人にも親しみやすいグラフィカルなGitクライアントであるSourceTreeがおすすめです。SourceTreeはHomebrewでインストールできます。

$ brew install --cask sourcetree

 

 

>mitsudo.net

mitsudo.net