第一步,github上建乙個自己的倉庫 新增乙個readme檔案,隨便寫一些文字進去,盡量行數大於1。如圖所示:
第二步,點右上角code,複製鏈結
第三步, 在自己電腦的某個資料夾下右鍵,gitbash ,出現黑框框後 輸入 git clone 你複製的git** 如圖
第四步,故意製造衝突
故意修改為下面的樣子
儲存。進到帶.git的資料夾
右鍵->gitbash->git add *->git commit -m "本地更新"
然後先別push,現在還沒衝突呢。
之後去github上,在網頁上修改readme檔案(這樣做,其實是在模擬,有同事在你之前提前對這個檔案修改並提交了,造成你本地修改了這個檔案,並且遠端分支上也跟你clone下來的版本不一致)
現在,遠端分支和你本地的分支對同乙個檔案同一行進行了修改
之後再剛才那個commit的gitbash中,執行 git push
可以看到,error rejected,就是拒絕了的意思。並且黃字建議你先git pull一下。那咱們git pull一下
執行完了git pull命令,咱們再來看看本地的readme.txt變成啥樣了。
自動變成了這樣,可以看到,git pull的時候解決不了衝突 他就把兩個版本的內容都列出來了。這時候就算要咱們解決衝突了。
首先,刪除<<<<<>>>>>>>>和他後面的那串,這三個識別符號是告訴你這個地方有衝突的。
然後在這兩行中選擇你要保留的行,可以是兩個都保留,可以是兩個都不保留,可以是選擇其中乙個留下。
這裡我假設我兩個都想要(模擬你和你同事寫的兩個方法都想留下)
修改後變成這樣
當然,中間的換行什麼的,刪不刪都隨你。
當你確定現在的樣子是你要的版本的時候。
再次在gitbash 裡執行 git add *
git commit -m "我已經解決好衝突了"
git push
嗯。ok 這次不衝突了。再去github上看一下
衝突就算解決了。
注:git add * 是在這次實驗中用到的。真實的專案場景,建議 git add 你修改的檔名
git 找到衝突 git 衝突解決
用git pull來更新 的時候,遇到了下面的問題 出現這個問題的原因是其他人修改了 php並提交到版本庫中去了,而你本地也修改了 php,這時候你進行git pull操作就好出現衝突了,解決方法,在上面的提示中也說的很明確了。1 保留本地的修改 的改法 1 直接commit本地的修改 也一般不用這...
git衝突解決
2年前 2013 08 09 10564瀏覽 同事在使用git pull 時,經常會碰到有衝突的情況,提示如下資訊 error your local changes to c environ.c would be overwritten by merge.aborting.please,commit...
git解決衝突
一 當發生以下三種情況時,git會自動進行合併 1.修改不同的檔案 2.修改相同檔案的不同區域 3.同時更改檔名和檔案內容 二 邏輯衝突 自動合併成功執行後,並不一定意味著萬事大吉,在某些特殊情況下,確存在者邏輯衝突。假如乙個使用者修改了函式返回值,但是,另外乙個使用者仍然使用舊的返回值,雖然成功合...