項目開發中-git代碼回滾和解決衝突總結

經常有人問我git提交代碼問題,在這簡單做下總結。

一、工作中Git提交代碼遠程倉庫基本流程:

基本流程: 

  1. push自己代碼到遠程倉庫前
  2. 先stash緩存本地代碼(以防別人也有修改有衝突)
  3. 然後pull拉取遠程代碼
  4. 拉取完後stash pop拋出本地代碼 
  5. 有衝突時對照提示解決衝突文件,沒有則直接add暫存區
  6. commit 提交說明
  7. push到遠程倉庫

具體操作命令介紹如下

1、查看遠程分支

git branch -a

2、切換分支

git checkout xxx

3、備份當前工作區的內容

git stash

 

4、拉取代碼

git pull

 

5、拋出備份的本地代碼

git stash pop

 

6、提交遠程倉庫說明

git commit -m "xxxxx"

 

7、將工作區的代碼存放到暫存區(有三種命令自行選擇)

git add . (將當前工作區的所有文件存放到暫存區)

git add -u   (提交更新所有改變的文件,即提交所有變化的文件)

git add -A    (提交已被修改和已被刪除文件,但是不包括新的文件)

8、將本地代碼推到遠程倉庫(根據項目不同後綴有所不同)

git push origin HEAD:refs/for/dev

 

二、當提交時出現問題的解決方法命令

 基本流程:

  1. 首先查看log日誌
  2. reset --soft回退到沒有衝突的版本(軟回退)
  3. 然後stash緩存本代碼
  4. pull遠程代碼
  5. stash pop拋出本地備份代碼
  6. 有衝突則解決衝突,然後add
  7. commit
  8. push

 具體解決操作命令介紹如下

1、查看日誌

git log

2、回退版本(兩種命令自行選擇)

git reset --hard xxx  (本地文件和commit信息都回退了   出現dev|MERGING)

git reset --soft xxx  (本地文件還在,當commit信息已經回退)

 

4、修改上一次提交,將兩次提交合併爲一次提交(即-m '日誌')

git commit --amend

git commit --amend -m "xxxxxx"

 

5、拋棄合併過程並且嘗試重建合併前的狀態(合併後出現問題時使用)

git merge --abort

 

6、不加參數即默認比較工作區與暫存區

git diff

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