国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

git中的不同分支下的同一文件,到底怎么樣才能算作是沖突?
我想大聲告訴你
我想大聲告訴你 2017-05-02 09:47:39
0
3
843

比如有兩個(gè)分支,masterdevelop。針對(duì)1.txt文件,

master分支
222
3333 66
555

develop分支
222
4444 77
888

先是有master,然后我創(chuàng)建了develop分支,然后再在develop分支下修改了1.txt,然后add和commit,然后切換回master分支,然后merge,就只報(bào)66和77沖突,別的兩個(gè)地方不報(bào)沖突

為什么只有66和77那會(huì)產(chǎn)生沖突。而4444與3333,還有555和888不沖突呢?不明白

看上圖,在master分支是555555,在dev我改成了5445,然后add commit,然后切換回master分支,merge,沒(méi)有沖突,最后合并為了5445,是不是你說(shuō)的情況?

我想大聲告訴你
我想大聲告訴你

Antworte allen(3)
巴扎黑

是否出現(xiàn) Conflicts(沖突),取決于 commit 修改先后順序

樓上朋友提到了自動(dòng)合并,也就是不會(huì)產(chǎn)生沖突的情況,舉個(gè)例子:
master 上面,你有一個(gè) commit,內(nèi)容是 "1234"

這時(shí)候你在 master 基礎(chǔ)上創(chuàng)建了新的 branch,叫 develop,那么這個(gè) develop branch 上面也有內(nèi)容為 "1234" 的那個(gè)commit

然后你提交了新的 commit,把 "1234" 變成了 "1234 666",那這個(gè)時(shí)候你 merge,就不會(huì)有沖突


再舉個(gè)例子,會(huì)產(chǎn)生沖突的情況:

master 里面有一個(gè) commit,內(nèi)容是 "1234"
你在這個(gè) commit 之后創(chuàng)建了新的 branch,叫 develop。那這個(gè)時(shí)候你的 develop branch 里有第一個(gè) commit,內(nèi)容為 "1234"

然后你在 develop 里面,提交了一個(gè) commit,內(nèi)容是 "1234 777"
在這期間,你的 master 更新了,你的同事或者朋友,或者你自己,在 master 上提交了一個(gè)新的 commit,把它更新成了 "1234 666"

這時(shí)候你再 merge,就會(huì)有沖突了,因?yàn)?git 發(fā)現(xiàn)這兩個(gè) branch 有個(gè)共同的祖先(ancestor),也就是那個(gè) "1234",但 git 并不知道你現(xiàn)在合并,到底是要 "666" 還是 "777"


回到你的問(wèn)題,建議你先看下你兩個(gè) branch 的 commit 歷史紀(jì)錄,對(duì)比一下??茨懿荒苷业筋?lèi)似這樣的情況,也就是兩個(gè) branch 有一個(gè)共同的 commit 作為起始點(diǎn)(ancestor),但之后的 commit 出現(xiàn)了分歧(pert)

如果還是不能解釋你的問(wèn)題,方便的話發(fā)一下你這個(gè)的 github 的地址

給我你的懷抱

因?yàn)檫€有自動(dòng)合并啊。你是在手動(dòng)合并分支時(shí)看到?jīng)_突的嗎?

洪濤

試過(guò)發(fā)現(xiàn)不行,下面是原答案。

都是我的。

一開(kāi)始master類(lèi)似這樣:

222
3333 22
555

然后你fork了一個(gè)develop,修改成這樣:

222
4444 77
888

這個(gè)時(shí)候,develop是可以直接合并會(huì)master的,沒(méi)沖突,因?yàn)閐evelop在master后,是對(duì)master的修改。

但是你沒(méi)合并develop,而是改了master:

222
3333 66
555

這時(shí)66和77那里就沖突了。因?yàn)間it知道develop里的4444是從3333改的,888是從555改的,現(xiàn)在的master那個(gè)位置還是有3333和555。但是77本來(lái)是從22改的,但是現(xiàn)在master的22那里變成66,就有了兩個(gè)沖突的修改,git就不能把77合并到66那里了。

或者說(shuō)本來(lái)master和develop是一條線上的,但是你改了master,這個(gè)新的master就和原來(lái)的develop不在同一條線上了。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage