Github ブランチ
こちらがテスト用に作成したリポジトリです。
リモートからローカルにリポジトリをクローンしてきます。
git clone git://github.com/junki929/test.git
Cloning into 'test'...
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
Checking connectivity... done
確認します。
ls -ltr
total 0
drwxr-xr-x 4 nishizakijuntakashi staff 136 12 16 16:27 test
testフォルダが作成されました。
次にローカルにブランチを作成してみます。
developブランチを作成
git clone git://github.com/junki929/test.git
Cloning into 'test'...
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
Checking connectivity... done
確認します。
ls -ltr
total 0
drwxr-xr-x 4 nishizakijuntakashi staff 136 12 16 16:27 test
testフォルダが作成されました。
次にローカルにブランチを作成してみます。
developブランチを作成
git branch develop
feature_branchesを作成
feature_branchesを作成
git branch feature_branches
実際にローカルにブランチが作成されたかどうか確認してみます。
git branch
develop
feature_branches
* master
無事にdevelopとfeature_branchesの2つのブランチが作成されました。
現在masterで作業を行っているので、作成したdevelopブランチへ切り替えてみます。
git checkout develop
* develop
feature_branches
master
developブランチに切り替わりました。
※このようなエラーが表示される場合は以下のコマンドを入力してください。
git checkout master
fatal: This operation must be run in a work tree
強制的にブランチを切り替えます。
強制的にブランチを切り替えます。
git symbolic-ref HEAD refs/heads/develop
するとブランチが切り替わります。
git branch
* develop
feature_branches
master
するとブランチが切り替わります。
git branch
* develop
feature_branches
master
ではローカルで作成した2つのブランチをGithubへプッシュしてみようと思います。
develop
feature_branches
* master
master以外のブランチを削除します。
git branch -D develop
Deleted branch develop (was b8d1698).
git branch -D feature_branches2
Deleted branch feature_branches2 (was b8d1698).
確認します。
git branch
* master
master以外のローカルブランチが削除されました。
リモートのmasterブランチからローカルへdevelopブランチを作成します。ちなみに-bのオプションを付けることで、作成後に自動的にそのブランチに切り替わります。
git checkout -b develop origin/master
Branch develop set up to track remote branch master from origin.
Switched to a new branch 'develop'
確認します。
git branch
* develop
master
ファイルの内容を変更してみます。
git commit -m "変更しました1"
[develop 8cb9145] 変更しました1
1 file changed, 1 insertion(+), 5 deletions(-)
masterブランチへプッシュします。
git push origin master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1/1), done.
Writing objects: 100% (3/3), 286 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://github.com/junki929/test.git
b8d1698..0f4b63b master -> master
Githubのサイトを確認してみます。
このように変更内容が反映されました。
ブランチも上記のように変更があったことを表示しています。
次にこのmasterブランチからdevelopブランチを作成します。
git checkout -b develop origin/master
Branch develop set up to track remote branch master from origin.
Switched to a new branch 'develop'
確認します。
git branch
* develop
master
ファイルの内容を変更します。
vi test.txt
git push origin develop
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@github.com/junki929/test.git
* [new branch] develop -> develop
git push origin feature_branches
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@github.com/junki929/test.git
* [new branch] feature_branches -> feature_branches
リモート(Github)に反映されているか確認します。
git branch -r
origin/develop
origin/feature_branches
origin/master
リモートに2つのブランチが追加されています。
ローカルのブランチfeature_branchesをfeature_branches2に名称を変更してみます。
git branch -m feature_branches feature_branches2
ブランチ名が変更されているか確認してみます。
git branch
* develop
feature_branches2
master
feature_branches2にブランチ名が変更されました。
ローカルのブランチ名は変更されましたが、リモートのブランチ名はそのままになっています。ですが、リモートのブランチ名を変更するコマンドは現在無いらしく、一旦リモートのブランチを削除して再プッシュするのが普通みたいです。
まずリモートのブランチを削除してみようと思います。
git push --delete origin feature_branches
To ssh://git@github.com/junki929/test.git
- [deleted] feature_branches
確認します。
git branch -r
origin/develop
origin/master
さらに再プッシュしてみます。
git push origin feature_branches2
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@github.com/junki929/test.git
* [new branch] feature_branches2 -> feature_branches2
確認します。
git branch -r
origin/develop
origin/feature_branches2
origin/master
これでリモートのブランチ名が変更されます。
ちなみにリモートへローカルと別名でプッシュするには以下のように行います。ローカルのブランチfeature_branches2をリモートへfeature_branches3という名前でプッシュします。
git push origin feature_branches2:feature_branches3
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@github.com/junki929/test.git
* [new branch] feature_branches2 -> feature_branches3
確認してみます。
git branch -r
origin/develop
origin/feature_branches2
origin/feature_branches3
origin/master
feature_branches3という名前で追加されています。
masterを除くローカルのブランチを削除してみます。
git branch
* develop
feature_branches2
master
現在の作業ブランチからmasterへ切り替えます。
git checkout masterdevelop
feature_branches
* master
master以外のブランチを削除します。
git branch -D develop
Deleted branch develop (was b8d1698).
git branch -D feature_branches2
Deleted branch feature_branches2 (was b8d1698).
確認します。
git branch
* master
master以外のローカルブランチが削除されました。
リモートのmasterブランチからローカルへdevelopブランチを作成します。ちなみに-bのオプションを付けることで、作成後に自動的にそのブランチに切り替わります。
git checkout -b develop origin/master
Branch develop set up to track remote branch master from origin.
Switched to a new branch 'develop'
確認します。
git branch
* develop
master
ファイルの内容を変更してみます。
次にdevelopブランチでファイルの内容を変更します。
vi test.txt
ファイル内容を変更しましたよ!!
変更した内容をdevelopブランチにコミットします。
git add . git commit -m "変更しました1"
[develop 8cb9145] 変更しました1
1 file changed, 1 insertion(+), 5 deletions(-)
masterブランチへプッシュします。
git push origin master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1/1), done.
Writing objects: 100% (3/3), 286 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://github.com/junki929/test.git
b8d1698..0f4b63b master -> master
Githubのサイトを確認してみます。
このように変更内容が反映されました。
ブランチも上記のように変更があったことを表示しています。
次にこのmasterブランチからdevelopブランチを作成します。
git checkout -b develop origin/master
Branch develop set up to track remote branch master from origin.
Switched to a new branch 'develop'
確認します。
git branch
* develop
master
ファイルの内容を変更します。
vi test.txt
ファイル内容を変更しましたよ!!2回目です!!
コミットします。
git add .
git commit -m "test2"
[develop fa60e13] test2
1 file changed, 1 insertion(+), 1 deletion(-)
この変更内容をリモートのdevelopブランチにプッシュします。
git push origin develop
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 302 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://github.com/junki929/test.git
* [new branch] develop -> develop
Githubを確認してみます。
このように作成したdevelopブランチへ変更が反映されました。
ブランチも上記のように作成され、変更があったことを表しています。
この変更した内容をmasterブランチへプルリクエストします。
プルリクエストをしたあと、続けてmasterブランチへマージします。
マージした後はmasterブランチが変更されているか確認してみます。
このようにdevelopブランチの変更内容がmasterブランチへ反映されました。
ブランチもこのようにマージされたことを表しています。
次にfeature_branchesとfeature_branches2をdevelopブランチから作成します。
git checkout -b feature_branches origin/develop
Branch feature_branches set up to track remote branch develop from origin.
Switched to a new branch 'feature_branches'
git checkout -b feature_branches2 origin/develop
Branch feature_branches2 set up to track remote branch develop from origin.
Switched to a new branch 'feature_branches2'
確認してみます。
git branch
develop
feature_branches
* feature_branches2
master
feature_branchesブランチで作業を行うので切り替えます。
git checkout feature_branches
Switched to branch 'feature_branches'
ファイルの内容を変更します。
vi test.txt
ファイル内容を変更しましたよ!!もう3回目なんです!!
変更内容をコミットします。
git add .
git commit -m "test3"
[feature_branches 24b88af] test3
1 file changed, 1 insertion(+), 1 deletion(-)
この変更内容をリモートのfeature_branchesブランチにプッシュします。
git push origin feature_branches
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 316 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://github.com/junki929/test.git
* [new branch] feature_branches -> feature_branches
次にfeature_branches2ブランチで作業を行うので切り替えます。
git checkout feature_branches2
Switched to branch 'feature_branches2'
ファイルの内容を変更します。
vi test.txt
ファイル内容を変更しましたよ!!これで4回目になります!!
変更内容をコミットします。
git add .
git commit -m "test4"
[feature_branches2 9318563] test4
1 file changed, 1 insertion(+), 1 deletion(-)
この変更内容をリモートのfeature_branches2ブランチにプッシュします。
git push origin feature_branches2
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 320 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://github.com/junki929/test.git
* [new branch] feature_branches2 -> feature_branches2
Githubで確認してみます。
feature_branchesとfeature_branches2ともに変更されています。
ブランチも上記のように新たに2つ追加されています。
次にfeature_branchesをdevelopブランチへプルリクエストをします。
変更内容をマージします。
変更されているかmasterブランチを確認します。
ブランチを確認してみます。
上記のようにマージされていることが分かります。
0 件のコメント:
コメントを投稿