fix
This commit is contained in:
parent
eb699510f9
commit
9a82baa0f5
@ -139,3 +139,23 @@ $ git pull
|
|||||||
|
|
||||||
ssh, gitは鍵認証でpasswordを省略できます。自身が管理するprojectは`git`にしましょう。
|
ssh, gitは鍵認証でpasswordを省略できます。自身が管理するprojectは`git`にしましょう。
|
||||||
|
|
||||||
|
### conflict
|
||||||
|
|
||||||
|
gitを使っていて一番厄介な事は、おそらくconflict(衝突)でしょう。
|
||||||
|
|
||||||
|
例えば、AさんとBさん、Cさんの三人で開発していたとしましょう。
|
||||||
|
|
||||||
|
AさんとBさんは二人とも同じcommitからbranchを切って、作業、つまり、commitを進めていました。一つの丸(commit)があり、そこから別々に枝分かれ(branch)して、丸(commit)が進むイメージです。
|
||||||
|
|
||||||
|
ここで、Bさんのほうが早くにpull-reqを出し、新しいコードが本体にmerge、取り込まれました。
|
||||||
|
|
||||||
|
次にAさんがpull-reqを出します。しかし、mergeしようとすると、できません。conflictが発生したのです。
|
||||||
|
|
||||||
|
AさんもBさんも、同じ箇所に別々の機能を実装しようとしていて、Bさんの変更が先に取り込まれていたからです。
|
||||||
|
|
||||||
|
さて、この解消にはいくつか方法があります。Aさんがconflictを解消するコードに修正するか、mergeするCさんが解消するかです。
|
||||||
|
|
||||||
|
通常は、Aさんがbranchのcommitを最新のコードに対応したものに作り直します。あるいはpull-reqそのものを作り直すかです。通常は前者になります。branchのcommitを進め、conflictが発生しないように修正するのです。この場合、pull-reqを作り直す必要はありません。
|
||||||
|
|
||||||
|
修正は、例えば、他の場所に機能を移すか、Bさんの機能を合体させたものを作るかなどの方法があります。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user