git(コンソールver)の基本的な使い方 ~branch編~ [Windows]
はじめに
前回はローカルリポジトリからリモートリポジトリにプッシュする方法とリモートリポジトリからClone/Pullする方法について説明したので、今回はbranch
について説明します。
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での使い方を説明したいと思います。