Funactional Mathematicianのブログ

数学(含む、統計学)で考えていることや、PC(特にMac)のTipsについてのメモの集合です。本blogに書かれている内容は、記事を書いた時点での僕の知識や調査によるものです。そのため、僕の不勉強による間違いや勘違いなどが書かれていることもあり得ます。記事の内容の真偽について、ご自身できちんと確かめて下さいますようよろしくお願いいたします。また、不適切な表現や間違えについては、ご指摘頂けると助かります。 (なお、記事の内容は、所属機関を代表するものではなく、僕個人の見解です。)

gitの使い方メモ

ファイルの更新やフォルダの更新を管理するのに便利な "git" があるが、その機能(使い方)は1冊の本になるほど多様かと思う。 そこで、ローカルでの自分の作業による更新のみを管理するために、必要最小限の使い方を自分用メモとして書いておく。*1

gitのインストール

gitのインストールについては、数多くのブログで紹介されているのでググって参考にして行う。 僕の場合はMacですので、Homebrewでインストールした。

brew install git

git最低限コマンド集

gitレポジトリの作成

gitで管理したいファイルやフォルダを含む、好きな上位の親フォルダに移動して、gitのレポジトリ*2を作成する。

cd <gitレポジトリを置きたいフォルダのパス>
git init
  • 1行目でgitレポジトリを起きたいフォルダに移動し、2行目でgitレポジトリを作成している。

gitレポジトリの初期設定

作成したgitレポジトリに対して、アカウントの初期設定(名前とメールアドレスの設定)を行う。

git config --global user.name <hogehoge>
git config --global user.email <hoge@hoge.com>

gitによる管理対象のファイルやフォルダの指定

作成したgitレポジトリで管理対象とするファイルやフォルダを指定する。

git add <フォルタやファイルへの相対パス>
git add .
git add -u .
  • 特定のフォルダ、ファイルを管理下に置きたい場合は1行目を実行する。
  • gitレポジトリのあるフォルダ以下のすべてのフォルダ、ファイルを管理下に置きたい場合は2行目のようにピリオドで省略できる。なおこの時点ではgit管理下の候補になっているだけで、まだgitで指定したフォルダ、ファイルを管理しているわけではない。
  • すでにgit管理下にあるフォルダ、ファイルについて、前回のcommit(次のコマンドを参照)以降に変更があったものについて、すべて更新版を管理下にする

ファイルやフォルダのgitによる管理開始("commit"という)

"git add" でgit管理対象にしたファイルやフォルダについて、管理を開始する。

git commit -m "任意のコメント"
  • [任意のコメント]部分に、自分があとからわかるメモを記載できる。
  • のちのちわかるコメントを記載しておくと、ファイルを変更前に戻したいときに便利です。

ファイルやフォルダのgitによる管理下からの削除

git rm <ファイル名>
git rm --cache <ファイル名>
git rm -r <フォルダ名>
git rm -r --cache <フォルダ名>
  • 基本コマンドは "git rm"
  • オプション "-r" はフォルダを操作したいときにつける。
  • オプション "--cache" の有無の差は、指定したファイルやフォルダを残すかどうか。オプションをつけるとgit管理対象から外れるのみで、ファイルやフォルダは残る。一方で、このオプションをつけないとファイルやフォルダも消えてしまうので要注意。

その他便利(?)なコメント

git status
  • 前回commitした後に、新規にgit管理下になったフォルダやファイル、もともとgit管理下だったが修正・削除されたフォルダやファイルの一覧表を取得できる。
git log
git log --oneline
git log --graph
git log --p
  • 基本コマンドは "git log"
  • オプション "--oneline" をつけると、1つのコミットを一行で表示する。
  • オプション "--graph" をつけると、グラフを用いた表示になる。
  • オプション "-p" をつけると、各コミットでの変更点を表示する。

*1:ということで、本当に最低限のコマンドのみを記載する。また 、使いながら更新していく予定である。

*2:管理に関連するファイルが保存されるフォルダのようなもの