menu
書いてる野郎
orebike@gmail.com
Git は分散型なので運用にSVNのようにサーバを必要としない。なのでローカルだけで完結して運用もできるのだ。 ローカルにサーバを立てる必要も無い。Git というのは Git リポジトリのファイルを操作するアプリであると考えるとよい。
以下チュートリアル的にローカルでファイル管理してみる
$ mkdir sample01 $ cd sample01
$ git init
これで管理対象ディレクトリの中に.git
ディレクトリができてその中に管理ファイルができあがる。
これで準備OK。つまるところ Git とは SVN のようなサービスではなく、この管理ファイルを読み書きする単なるツールということだ。
ローカルのみで運用するので、remote を追加する必要が無い。 当然後々このローカルリポジトリを Github とか Bitbucket 等のリモートで管理に移行することも簡単である。
追加するファイルを新規に作る
$ touch hoge1.txt
現在のディレクトリ状態を確認する
$ git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # hoge1.txt nothing added to commit but untracked files present (use "git add" to track)
表示されている情報を見ると
・・・と読み取れる
コミット準備する ということでhoge1.txtをコミット準備状態にする
$ git add hoge1.txt
$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: hoge1.txt #
コミット準備にhoge1.txtが入ったのがわかる
説明に
$ git rm- --cached ...
とやれば、準備を取り消せるっぽいのでやってみる
$ git rm --cached hoge1.txt
ワーク状態を確認すると。また戻っていることがわかる。
再び準備してコミット
$ git add hoge1.txt $ git commit -m "This is first."
ワーク状態確認すると
$ git status # On branch master nothing to commit (working directory clean)
変更分がなくなっていることがわかる
$ touch hoge2.txt
次は一気に追加する方法でコミット準備を行う
$ git add .
引数にファイルではなくドットを指定すると、変更分のファイルを一気にステージすることができる。
表示されている説明を読むとさっきとは戻すやり方が違う
$ git reset HEAD ...
これは指定ファイルだけHEAD状態まで戻せよって意味だろう。
単にやるのも面白くないのでドットを指定して全部解除できるかやってみよう
$ git reset HEAD .
うむ、全部解除できた。
再びステージしてコミットする
$ git add . $ git commit -m "This is 2nd."
もういっちょ
$ git touch hoge3.txt $ git add . $ git commit -m "This is 3nd."
ここまでのコミットの履歴を見てみる
$ git log
コミットした時刻の降順に表示される。
$ git log --graph --color
とやればより見やすくでるね。