構成

クライアント MacBook
サーバ Linux
作業ディレクトリ myproj

初期設定

名前とメールアドレスの設定。

$ git config --global user.name "hoge"
$ git config --global user.email "hoge@mail.com"

色の設定。

$ git config --global color.ui auto

リポジトリ作成

myproj ディレクトリをリポジトリ化する。

$ mkdir myproj
$ cd myproj
$ git init

リモートサーバに空のリポジトリつくる。

$ ssh remote-host
$ mkdir myproj
$ cd myproj
$ git init --bare

ファイル追加&コミット

ファイルを追加する。

$ vi a.txt
$ git add a.txt
$ git commit -m "add a.txt"

add 取り消し

間違って add したファイルを取り消す

$ vi b.txt
$ git add b.txt
$ git rm --cached b.txt

間違って add したディレクトリを再帰的に取り消す

$ mkidr src
$ cd src
$ vi c.cpp
$ cd ../
$ git add src
$ git rm --cached -r src

svn revert 的な機能

a.txt を元に戻したい場合。

$ git checkout a.txt

リモートにプッシュ&プル

リモートサーバに push, リモートサーバから pull する。

$ git remote add origin name@remote-host:myproj
$ git push origin master
$ git pull origin master

push, pull の default を設定

push, pull する default 宛先を設定する。
今回は、branch master → origin へ。

$ git config --add branch.master.remote origin
$ git config --add branch.master.merge master

このままだと push するとき waring が出るので、 config に適切な値を設定する。

$ git config --global push.default matching

参考:git config push.default matching

ファイル移動&リネーム

ファイルやディレクトリの移動、リネームをする。

$ git mv a.txt b.txt

大文字から小文字へといったリネームの際、失敗することがある模様。
以下、実際にエラーが出た例。

$ git mv LaunchDaemons/ launchdaemons/ 
fatal: renaming LaunchDaemons failed: Invalid argument

いったん、別名にしてあげれば対処可能。
なんか腑に落ちなくはあるけども。

$ git mv LaunchDaemons/ launch_daemons/
$ git mv launch_daemons/ launchdaemons/