[git] git 備忘録 – タグとブランチ
11月 13th, 2008 Posted in git
gitのタグとブランチの基本操作を備忘録として書いておきます。
タグ関連
・タグを作成
$ git tag < タグ名>
・現在作成されているタグの確認
$ git tag -l test test2 example
ワイルドカードも使えます
$ git tag -l "test*" test test2
・タグがリンクしているハッシュ値を確認する
$ git rev-parse test c8d5c281933cfe5c94222cb2a1b761eae7901b32
ブランチ関連
・ブランチを作成する
$ git branch < ブランチ名>
現在のコミット(HEAD)からブランチが作成されます
・ブランチを確認する
$ git branch * master test-branch
masterはgit cloneでローカルリポジトリを作成したときに最初から作られるブランチです。
現在のブランチに*が付きます。
・タグを指定してブランチを作成
$ git chekout -b < ブランチ名> < タグ名>
現在のブランチは、新しくチェックアウトしたブランチに切り替わります。
・ハッシュ値を指定してブランチを作成
$ git chekout -b < ブランチ名> < ハッシュ値>
同様にブランチが切り替わります
例です
$ git checkout -b test-branch2 test2 Switched to a new branch "test_branch2" $ git branch master test-branch * test-branch2 $ git checkout -b test-branch3 c8d5c281933cfe5c94222cb2a1b761eae7901b32 Switched to a new branch "test_branch3" $ git branch master test-branch test-branch2 * test-branch3
・ブランチを切り替える
$ git checkout test-branch Switched to a new branch "test_branch" $ git branch master * test-branch test-branch2 test-branch3
ファイルを変更後、コミットせずにブランチを切り替えた場合、切り替えた先のブランチにどうファイルが存在する場合は変更が適用されます。
$ git branch master * test-branch test-branch2 test-branch3 (foo.phpを編集) $ git checkout test_branch2 M foo.php Switched to a new branch "test_branch2"
切り替える前のブランチのfoo.phpには変更は残っていません。
$ git branch -d < ブランチ名>
現在使用中のブランチは削除できません
例です
$ git branch master * test-branch test-branch2 test-branch3 $ git branch -d test-branch Cannot delete the branch 'test_mmmm' which you are currently on. $ git branch -d test-branch3 Deleted branch test-branch3 $ git branch master * test-branch test-branch2
削除しようとしたブランチにHEADへマージされていないコミットがある場合には、エラーが出ます。
間違い防止のための機能のようです。-Dオプションを付ければ強制的に削除できます。
$ git branch master test-branch * test-branch2 (foo.phpを編集) $ git commit foo.phpinsertions(+), 0 deletions(-) $ git checkout test-branch Switched to branch "test-branch" $ git branch -d test_branch2 error: The branch 'test_branch2' is not a strict subset of your current HEAD. If you are sure you want to delete it, run 'git branch -D test_mobile'. $ git branch -D test_branch2 Deleted branch test_branch2.
branchの削除については、こちらもご覧ください。