mk-toolブログ

エンジニアと家のことをごちゃごちゃと書いてます

【GitBucket】簡単な使い方まとめver2

前回では、ローカルの変更をリモートに反映する方法と
リモートの変更をローカルに反映する方法を説明しました
gamushiros.hatenablog.com

今回はブランチに関してです、早速スタートです

現在のリポジトリの状態はマスターだけが存在する
https://confluence.atlassian.com/bitbucket/files/304578655/760120131/1/1435760209923/git-beforebranch.png

とりあえずbanchを作成する(branchを切る、とも言います)

$ git branch future-plans

そうすると、状態的には以下のようになる
https://confluence.atlassian.com/bitbucket/files/304578655/760120130/1/1435760209724/git-after-branchcreate.png

現在の作業対象のbranchはmasterのため、先ほど作成したブランチに変更する
コマンド実行後はブランチが「future-plans」に変わりました、と出てきます

$ git checkout future-plans 
Switched to branch 'future-plans'

branchが変更されたイメージは以下
https://confluence.atlassian.com/bitbucket/files/304578655/549191692/3/1435758961843/infographic-checkout-feature-201.png

ローカル側のstationlocationsファイルに上書きをする

<p>Bitbucket has the following space stations:</p>
<p>
    <b>Earth's Moon</b><br>
    Headquarters
</p>
<p>
    <b>Mars</b><br>
    Recreation Department
</p>

現在の状態を確認してみる(ver1で確認したので説明は割愛します)

$ git status

ステージングエリアに編集を行ったファイルを適用する

$ git add stationlocations

ステージングエリアに配置したファイルをローカルリポジトリへ配置する

$ git commit stationlocations -m 'making a change in a branch'


その際の状態は以下のイメージ
とりあえず、future-plansブランチでの修正は終了した状態
https://confluence.atlassian.com/bitbucket/files/304578655/760120129/1/1435760209497/branchwithchange-premerge.png

●masterとfuture-plansを合成する
現在のブランチがfuture-plansであることを確認する

$ git status 

合成する際は、合成後にmasterとなるブランチをカレントブランチとする

$ git checkout master

合成する

$ git merge future-plans

その際のイメージが以下
masterがfuture-plansにおいついた
https://confluence.atlassian.com/bitbucket/files/304578655/549191693/3/1435758963964/infographic-ffmerge-beforeafter-201.png

合成後、古いブランチは削除する

$ git branch -d future-plans

●リモートにpush!!
https://confluence.atlassian.com/bitbucket/files/304578655/760120127/1/1435760208265/basicpush.png

実行コマンドは以下

$ git push origin master 

(※今回はリモートのmasterブランチに、直接pushしていますが、チームでの開発ではmasterブランチに直接pushすることはほぼありません。他の開発者に怒られると思います。とりあえず、適当なブランチをリモートにpush(コマンド例は下記)し、最終的な確認が済んだらプルリクエスト(すみません記事にできていません)する、という流れが一般的だと思います)

$ git push origin hogehoge(master以外のブランチ名)

コミット履歴を確認したり
https://confluence.atlassian.com/bitbucket/files/304578655/753893695/2/1436364472627/commits_after_push_git.png

ファイルのバージョン管理もできる!
https://confluence.atlassian.com/bitbucket/files/304578655/753893721/2/1438197692894/history_after_push_git.png