1兴溜、合并沖突
- 遠(yuǎn)程倉庫test下有三個分支dev蜻直、master、test括眠。在dev下修改了README.md文件彪标,然后主分支執(zhí)行git merge dev合并dev分支,然后推送到遠(yuǎn)程倉庫掷豺。
文件結(jié)構(gòu)
2.這時再切換到test分支上捞烟,同樣修改README.md的同一行,執(zhí)行合并主分支git merge master当船,就會出現(xiàn)錯誤提示题画,提示說自動合并出現(xiàn)了沖突
然后輸入git status查看文件狀態(tài),可以看到右上角的藍(lán)字出現(xiàn)了MERGING狀態(tài)
image.png
查看both modified:README.md文件
等號下面的就是master與test分支在README.md沖突部分德频,選取想要留下的修改解決沖突
重新add commit push提交成功
2婴程、遠(yuǎn)端修改本地?zé)o法提交
-
在遠(yuǎn)端修改了a.md文件
- 在本地目錄中添加了新的b.md文件,提交報錯抱婉,遠(yuǎn)程倉庫包括了一些東西你本地沒有档叔,你需要在你提交前git pull
3.執(zhí)行了git pull 自動進(jìn)入vim編輯器解決沖突,按i進(jìn)入編輯模式:wq保存退出
4.重新push 提交成功蒸绩,列表中多了b.md
3衙四、本地滾回,遠(yuǎn)程倉庫版本高于本地?zé)o法提交問題
當(dāng)前README.md內(nèi)容
本地滾回患亿,但遠(yuǎn)程倉庫代碼并沒有滾回传蹈,還是“第二次branch修改”
這時本地push報錯,意思大概是當(dāng)前分支所在的位置低于你遠(yuǎn)程倉庫的版本
可以git push origin test -f 強(qiáng)制推送步藕,這樣可以強(qiáng)制推到遠(yuǎn)程倉庫惦界,但這樣以前的版本記錄都沒了,所以十分不推薦這么做咙冗。
這時候可以revert沾歪,它會認(rèn)為你回滾的東西是一次新的修改提交,這樣滾回會有沖突解決沖突的辦法和merge一樣雾消,然后push直接提交就好了灾搏。
4、origin問題
每次提交都去輸入git push origin master ,origin是遠(yuǎn)程倉庫的名字是可以自定義的立润,master代表分支名狂窑。
添加遠(yuǎn)程倉庫地址示例
5、pull的問題
當(dāng)存在許多分支時桑腮,直接git pull會出錯泉哈,意思是需要指定分支
指定從master分支上pull,這樣就從master分支上同步到了b1分支,記得每次寫代碼的時候先pull一下。