ブランチ
VSSでの共有・分岐と同じか?前回作成した c:\www\ のステータスを確認
$ git status
On branch master
nothing to commit, working tree clean
→ 「On branch master」と表示されるので「master」という名前のブランチにいることがわかる。On branch master
nothing to commit, working tree clean
ブランチ一覧表示
git branchコマンドを使用する。$ git branch
* master
→ masterブランチのみ存在* master
git logコマンドの「--oneline --decorate」オプションでポインタ(ブランチ)がどのコミットを指しているかを確認
$ git log --oneline --decorate
2074ba2 (HEAD -> master) modify test
23b5e47 first commit
2074ba2 (HEAD -> master) modify test
23b5e47 first commit
ブランチの作成と切り替え
git branch ブランチ名 で作成secondという名前のブラントを作成してみる。
$ git branch second
ブランチ一覧で確認
$ git branch
* master
second
→ secondブラントが増えた* master
second
ブランチの切り替えは git checkout ブランチ名 で行う。
$ git checkout second
Switched to branch 'second'
test@test-PC MINGW32 /c/www (second)
$ git branch
master
* second
→ カレントブランチ名の先頭には"*"が表示される?Switched to branch 'second'
test@test-PC MINGW32 /c/www (second)
$ git branch
master
* second
ログを確認
$ git log --oneline --decorate
2074ba2 (HEAD -> second, master) modify test
23b5e47 first commit
→ 1行目(2074ba2)に secondが増えた。現在、masterとsecondは同じコミットを指している。(ただしカレントはsecond)2074ba2 (HEAD -> second, master) modify test
23b5e47 first commit
ブラント上でファイルの編集
現在のsecondブラント上でindex.htmlを編集しbodyノードを追加、コミットする。$ git commit -m "add body to index.html"
On branch second
nothing to commit, working tree clean
test@test-PC MINGW32 /c/www (second)
$ git status
On branch second
nothing to commit, working tree clean
On branch second
nothing to commit, working tree clean
test@test-PC MINGW32 /c/www (second)
$ git status
On branch second
nothing to commit, working tree clean
ログを確認
$ git log --oneline --decorate
a689281 (HEAD -> second) add body to index.html
2074ba2 (master) modify test
23b5e47 first commit
a689281 (HEAD -> second) add body to index.html
2074ba2 (master) modify test
23b5e47 first commit
マージ
secondブランチの変更をmasterブランチに反映させる。masterブランチに切り替えログを確認
$ git checkout master
Switched to branch 'master'
test@test-PC MINGW32 /c/www (master)
$ git log --oneline --decorate
2074ba2 (HEAD -> master) modify test
23b5e47 first commit
Switched to branch 'master'
test@test-PC MINGW32 /c/www (master)
$ git log --oneline --decorate
2074ba2 (HEAD -> master) modify test
23b5e47 first commit
この状態でindex.htmlを見ると、secondブランチで追加したbodyは存在しない。
git merge ブランチ名 でマージ実行、ログを確認
$ git merge second
Updating 2074ba2..a689281
Fast-forward
index.html | 1 +
1 file changed, 1 insertion(+)
test@test-PC MINGW32 /c/www (master)
$ git log --oneline --decorate
a689281 (HEAD -> master, second) add body to index.html
2074ba2 modify test
23b5e47 first commit
→ masterブラントとsecondブラントが同じコミットになったUpdating 2074ba2..a689281
Fast-forward
index.html | 1 +
1 file changed, 1 insertion(+)
test@test-PC MINGW32 /c/www (master)
$ git log --oneline --decorate
a689281 (HEAD -> master, second) add body to index.html
2074ba2 modify test
23b5e47 first commit
mergeした際に「Fast-forward」と表示された → Fast-forward(早送り)マージと呼ぶ。
ブランチ削除
git branch -d ブランチ名 で削除。secondブランチを削除してみる。$ git branch -d second
Deleted branch second (was a689281).
test@test-PC MINGW32 /c/www (master)
$ git branch
* master
Deleted branch second (was a689281).
test@test-PC MINGW32 /c/www (master)
$ git branch
* master
0 件のコメント:
コメントを投稿