物知らずPGの覚え書き

「理解したこと」や「こうやって使えた」などのプログラムの覚え書きとなります

git(コンソールver)の基本的な使い方 ~branch編~ [Windows]

はじめに

前回はローカルリポジトリからリモートリポジトリにプッシュする方法とリモートリポジトリからClone/Pullする方法について説明したので、今回はbranchについて説明します。

f:id:YoiTaka:20171023181625p:plain

branch

履歴の流れを分岐して保存しておくためのものです。名前の通り枝のようなものであり、前回まではmasterブランチの枝一本のみで開発を行っていました。

今回はその枝(branch)を増やして開発を行っていきます。

運用方針

私は個人での開発を想定していますので、作成するブランチは2つとしています。
1つめに、統合ブランチであるmasterブランチです。このブランチでは主に安定している状態を保存するために使用します。
2つめに、トピックブランチであるworkブランチです。このブランチでは、新しい機能を追加したい場合に使用します。

使用方法

branch一覧表示

C:\Sample>git branch
* master

最初はmasterブランチしかありません。

branchの作成

下のコマンドでworkブランチが作成され、一覧表示で確認するとworkが追加されていることがわかります。

C:\Sample>git branch work

C:\Sample>git branch
* master
  work

branchの削除

下のコマンドでworkブランチが削除され、一覧表示で確認するとworkが削除されていることがわかります。

C:\Sample>git branch -d work
Deleted branch work (was 9492d3f).

C:\Sample>git branch
* master

branchの切り替え

切り替えにはcheckoutコマンドを使用します。*印がworkについていれば切り替えは完了です。

C:\Sample>git checkout work
Switched to branch 'work'

C:\Sample>git branch
  master
* work

workブランチで作業をすすめる

現在のブランチがworkに変更できたのでこの状態で開発を進めます。 今回は、新たにtest2.txtとファイルを追加します。そして、ローカルリポジトリにコミットします。

C:\Sample>git add "test 2.txt"

C:\Sample>git commit -m "add test 2"
[work 0ce0306] add test 2
 1 file changed, 1 insertion(+)
 create mode 100644 test 2.txt

merge

mergeとは複数のブランチの履歴を併合することを意味します。

workブランチで追加した機能(今回は"test2.txt")が正常に動作することが確認出来た場合に、workブランチをmasterブランチにマージします。

C:\Sample>git branch
* master
  work

C:\Sample>git merge work
Updating d6d29b9..0ce0306
Fast-forward
 test 2.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 test 2.txt

これにより、workとmasterが同じ履歴位置となる。

おわりに

今回はbranchとmergeについて簡単に説明しました。が、あくまで個人開発の際の使い方なので、チームで開発を行う際にはもっとややこしくなると思います。。。
私はworkとmergeの2つのブランチのみを上の方法で使用しているので基本的にfast-forwardマージとなるので、ややこしさはありません。(統合問題を気にしなくて良い) 次回はGUIでの使い方を説明したいと思います。

/* パンくずリスト*/ /* カテゴリ階層化*/