git 開發注意問題和衝突解決辦法

1、分支切換,一般需要將當前分支全部提交。如不提交,可以stash(暫存),考慮當前分支未提交部分是否需要merge到目標分支,如果需要,直接切換,如果不要先提交或者暫存。

git checkout [branch-name] 

如果[branch-name] 遠程分支有,本地分支沒有,則新建本地[branch-name] 分支,並跟蹤至遠程[branch-name] 分支;若本地[branch-name] 存在,則直接切換。

2、提交回滾,同事新創建一次提交事件,兩次commit,需要一併push,代碼會回滾到第一次提交之前的代碼。


3、 git 各倉庫版本

HEAD  commit版本

Index stage版本


4、開發中提交 流程

推薦使用工具sourceTree

修改代碼——>(選中需要提交的文件)commit——>pull(查看代碼有無衝突)

代碼未更新的部分和自己修改的部分能夠智能合併——>push(至此完成提交工作)

代碼未更新部分不能和自己提交部分智能合併,這是文件會出現

<<<<<<< HEAD
//web edit 6 local edit7
=======
//web edit 7
>>>>>>> d466c254cfea3d9bcc71d0a553a2226372147c83


種情況是同一文件給了同一位置所致,手動合併之後,刪掉衝突文件

遠程代碼

//8 web edit 3
//local edit5
//local edit 6
//web edit 7

本地修改之後的代碼

//8 web edit 3
//local edit5
//local edit 6
//web edit 6 local edit7

手動解決衝突之後,commit——>push


git命令操作

添加需要提交的文件

git add .(.是所有文件,如果不是所有則單個添加 或者根據匹配xxx/*)

git commit -m "提交的描述"

git pull(看看有沒有衝突)

git push(提交,如果沒有指定提交分支,默認提交到當前分支)


5、分支合併,各分支合併之前需要各自提交完,push完。然後執行

sourceTree操作(將master合併至20170710_standard_coupon)

切換當前分支爲目標分支(20170710_standard_coupon

將鼠標單擊點到master分支,郵件,選擇Merge master into current branch


然後完成合並,合併之後需要觀察有無衝突,然後push


命令操作

git merge dev1 dev0:將dev1合併至dev0

git merge develop:將develop分支合併到當前分支


如果將master分支合併到dev

首先提交當前dev分支所有東西(見step4)

切換到master分支:git checkout master

拉master最新代碼:git pull

切換回開發分支dev:git checkout dev

合併master到dev:git merge master

在合併過程中若出現衝突,手動解決衝突文件,再次commit,然後push


6、stash


如果在代碼還沒寫完,需要切換分支,可以暫存自己的代碼(stash)

暫存之後,應用暫存文件,以sourceTree工具爲例




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章