リポジトリ作成からコミットまで
最近、SVNではなくGitを触ってるのでメモ。
- Git
プログラムなどのソースコードを管理する分散型バージョン管理システム。
動作がはやい、ネットワークがなくてもリビジョン管理ができるなどが特徴
コマンドの数が多かったので色々戸惑ってますが、動作がはやいのが中々いいなと思います。
以下、実際にリポジトリ作成からコミットするまでのコマンドです。
- リポジトリを持ってくる
$ git clone [repository_URL] [directory_name]
[repository_URL]:リポジトリのURLを指定
[directory_name]:作成するディレクトリ名を指定する場合、ディレクトリ名を指定
- 変更点を確認
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: README # # Changed but not updated: # (use "git add <file>..." to update what will be committed) # # modified: benchmarks.rb #
On branch [branch_name]でどのブランチとの変更かを確認。masterはSVNでいうtrunk。
Gitでは
・コミットされるもの
・コミットされないけどローカルで変更されたもの
※上記例だとbenchmarks.rb
のステータスを確認できる。
このままだと編集したものがコミットされないので
コミット対象にする必要がある。
- コミットするファイルを指定する
Gitでは上記に加え、変更したファイルのステージング、衝突したファイルに対する解決済みなどでも使う。
$ git add benchmarks.rb $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: README # modified: benchmarks.rb #
benchmarks.rbをaddしたことでコミット対象になった。
- 変更点をコミットする
$ git commit
いちいち変更したファイルをaddするのが面倒くさい時は
$ git commit -a
aオプションをつければ変更したファイルを自動検出してコミットします。
ただ、これだと新規ファイルはコミット対象にはならないです。
Gitはコマンドが多いのでなかなかに手ごわいですが、
使いこなせばコミット間違いをしれっと直せたり、
あとは何と言っても動作がはやいのでSVNより使えるのではと思ったりします。
参照元
「Pro Git」
「Gitを使いこなすための20のコマンド」