gitの使い方
ソースコードのバージョン管理したいから,そろそろgitの使い方をいい加減おぼえる.
導入
ここらへんを参考にすると良い.
http://linux.keicode.com/prog/git.php
http://www.backlog.jp/git-guide/intro/intro2_1.html
$ sudo apt-get install git-core $ sudo apt-get install git-doc
gitk(たぶんGUIバージョンのgit)も使うなら
$sudo apt-get install gitk
次に名前とメールアドレスを登録
$ git config --global user.name "foo" $ git config --global user.email "bar@baz.com"
gitコマンド
コミット
git status
これで,管理しているレポジトリの状態を確認できる.
管理するファイルをaddしてからコミットする必要がある.
git add .
これでそのディレクトリの全ファイルがaddされる.
.gitignoreを作っておいて,"*~"とか書いておけばemacsのバファ的なやつは無視されるので良い.
もう一回statusで確認すると,ファイルがaddされたのを確認できる.
これでコミットの準備は完了.次のコマンドでコミットする.
git commit -m "コメント"
logを見ることで,レポジトリの変更履歴を参照できる.
git log
バージョンを戻す
コードがおかしくなってバージョンを戻すとき,
git logでログを確認してそこに表示されているコミットIDで指定して行う.
戻す系のコマンドはここに良くまとまっている.
http://tech.basicinc.jp/Git/2013/06/15/git_command/
基本的には git reset で戻すのだが,-hardオプションを付けないと,
コミット結果が元に戻るだけで,レポジトリ内のファイルは戻らない.
コミットIDっていうのは,logででてくる長ったらしいSHAのやつ.
% git reset --hard 864e191767e5ad7b8dc883e5fe1e7dcf0b941f07 HEAD is now at 864e191 sample: foo
こういう感じで実行すると元に戻る.
うわーまちがってresetしてファイル消しちゃった~ってときも,上記URLに戻す方法のってる.
戻す方法は,resetの他にもrevertというのがあって,
前者はコミット履歴も戻り履歴が削除されるが,後者の場合は履歴が残る.たぶん.
注意
まだ試してないけど,レポジトリ内のファイルを削除したり,リネームしたりするときは
git rm foo git vm foo bar
とかってやらないと,まずいことになるっぽい.注意.
branchで管理するともっとやりやすくなるだろうから,そこらへんもあとで調べる.