Gitはバージョン管理システムと呼ばれるシステムの一つでファイルの履歴を管理するシステムである。 他のバージョン管理システムとしては、CVS、Subcersionなどがある。 GIT: 使い方: Gitの使い方を示す。 初期設定: 適当な作業ディレクトリを作成しそのディクレトリ上でGitの初期化を行う。 $mkdir WorkingDirectory $cd WorkingDirectory $git init
Gitディレクトリが作成されているのがわかる。 $ls -a ./ ../ .git/ ユーザー設定。 $git config --global user.name 'ABC XYZ' $git config --global user.email test@test.jp 上記の設定が~/.gitconfigに反映されているのがわかる。 $cat ~/.gitconfig [user] name = ABC XYZ email = test@test.jp 【追記】(2013/1/3): WorkingDirectory下に.gitignoreというファイルを作成し中にファイル/ディレクトリ名を記載すれば管理対象から外れる。 例: $more .gitignore #emacs backup files *~ #Not for public protect/ 作業: Gitでは作業ディレクトリ、インデックス、履歴(コミット)との間でファイルのやり取りを行うことによってファイル管理が行なわれている。 まず、作業ディレクトリに対象ファイル(README)を作成する。 $touch README これをインデックスにコピーを行う。 $git add README 履歴に保存 $git commit README コミットするときに同時にコメントを載せる方法として $git commit README -m 'First Commit' などがある。 これでREADMEファイルがインデックスされコミットされたことになる。 ファイルの状況を確認するにはgit statusコマンドでわかる。 $git status # On branch master nothing to commit (working directory clean) 現在はすべてが管理されていることを示している。 例えば、管理されているファイルに変化もたらせるように $echo "test changes" > README $git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: README # no changes added to commit (use "git add" and/or "git commit -a") このように、何かがインデックス、コミットされてないとgit statusで知らせてくれる。 ここまでが一連の流れになる。 【追記】(2013/1/3): githubに上げたものを消す方法の一つとして、 git rm --cached file と入力し、順にadd, commit, pushをすると消せる。 作業ディレクトリからファイルは消えない。 【追記】(2013/4/16): 一連の流れの再説明: github.comでのアカウント取得、 ssh設定は済んでいることを仮定して: git init git add --all git commit -a -m 'First Commit' git remote add origin git@github.com:XXXXXXXXXXX git remote push origin master GitHubの利用: GitHubは自分の理解ではgitでコミッタしたものを公開するためにgithubへ上げるものと捉えている。 手順はhelp.github.comにわかりやすく書かれている。 (ID取得などの手順は省く) まず最初にGitHub上にリポジトリを作成する。 リポジトリと同名のディレクトリを作成する。 $mkdir test ディレクトリ上で初期化を行う。 $cd test $git init ファイルを作成。 $touch README 追加、コミット $git add README $git commit -m 'first commit' プッシュを行う。 $git remote add origin https://github.com/username/test.git $git push origin master *) username:自分のユーザID ここでgithubを見るとファイルがアップされているのがわかる。gist: gistはgithubから提供されているペーストビンサービスの一種である。 平たく言えばソースコードを載せるのに適しているサイトである。 で、ここにソースコードを載せるにはソースファイルからコピペ(コピー&ペースト)という方法とgisty, gistコマンドの利用による方法がある。 gistyをいれると $gisty post 001.py gistコマンドの場合だと $gist < 001.py となる。 gistyを入れる場合rubyで書かれており、gem環境でインストールが必要となるのでrubygemsなどをパッケージマネージャ(apt-get, yum...)などでインストールし $git clone git@github.com:swdyh/gisty.git でソースファイルを取得し、ディレクトリに移動し $gem install gisty と入力しインストールが始まる。 他にも環境設定が必要となるが、それらは を参考に。 参考文献/サイト |