GitHub3(ブランチ、競合の解消、git commit コミットメッセージを修正する–amend -m)

その2から続きます

ブランチとは?

・ブランチは別々の作業を並行して行うために利用
・ブランチを作ることで各ブランチごとに別の作業を同時に進めることができる
・実務上masterブランチを直接編集することはないらしい
・masterブランチからトピックブランチを作成して、それを編集してマスターリポジトリにマージするのが基本

現在いるブランチの確認
git branch

ブランチの生成(例としてfeature-A)
git branch feature-A

ブランチfeature-Aに切り替え
git checkout feature-A

a.jsにconsole.log(‘feauture-A ブランチで追加’); 追加

git add a.js
git diff HEAD
git commit -m "update to feature-A"

マスターbranchに移動

git checkout master
git branch

 

ブランチをわけて開発することで、複数の機能開発をブランチ間で影響与えることなく同時進行で行うことができる。

つまりチーム開発するために都合が良い

一つ前に選択していたブランチに切り替えるには
git checkout -
git branch

* feature-A
master

ブランチのマージ

git checkout master
git merge --no-ff feature-A


ブランチからマージされた履歴を残すために↑のオプションをつけている
ブランチの変化を視覚的に確認するためには

git log --graph

競合の解消(わざと競合をおこし解消する)

git checkout -b feature-B
a.jsの1行目をconsole.log('BBB');にする
git branch
git add a.js
git commit -m "update to feature-B"
git checkout master
git checkout -b feature-C
a.jsの1行目をconsole.log('CC');にする
git add a.js
git commit -m "update to feature-C"
git checkout master

feature-Bブランチをマスターブランチにマージ

git merge --no-ff feature-B

feature-Cブランチをマスターブランチにマージ

git merge --no-ff feature-C

console.log(‘CC’);を正しい方にしたいとき

↑のように修正してコミットし直す

git add a.js
git commit -m "fixed conflict"

実務上は競合を解消するときにバグにならないように気をつける、そもそも競合が発生しないようにコミュニケーションをするなどする。

コミットメッセージを修正する

git commit --amend -m "fixed conflict -update-"

その4に続きます

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です