天天看點

Git指令行使用實踐

作為一個開發人員,了解版本控制工具不僅可以更好的管理公司的項目,也可以提高自己的開發效率,接觸Git有較長一段時間了,最近換了新的公司,公司團隊内部制定了使用git的送出代碼的規範。一直使用git指令來進行相應的代碼送出操作,疏于對自己的要求,并沒有具體了解過git指令所用參數的含義,今天總結一下。

舉例,假設本地有一個dev分支

1.建立新分支

git branch [feature-network] - - 具體的分支名稱
           

2.切換到新分支

git checkout [feature-network]
           

3.送出修改後的代碼到本地

git commit -a -m “描述語言”
參數說明:
-a  -all  stage all modified and deleted paths
意思就是隻将所有被修改或者已删除的且已經被git管理的文檔送出到倉庫中,會先把所有已經track的檔案的改動add進來,然後送出(有點像svn的一次送出,不用先暫存). 對于沒有track的檔案,還是需要git add一下.
-m 用來指定送出的資訊
           

4.切換到develop分支

git checkout dev
           

5.更新develop分支代碼

git pull origin dev
           

6.送出完成後就要将目前分支合并到dev分支

git merge --no-ff feature-network
參數說明:
--no-ff: generate a merge commit even if the merge resolved as a fast-f
解釋一下:不使用fast-forward方式合并,保留分支的commit曆史,可以儲存你之前的分支曆史。能夠更好的檢視 merge曆史,以及branch 狀态
           

7.如果有沖突,需要解決沖突,并進行送出

git commit -a -m “解決沖突”
           

8.之後将本地代碼推到遠端倉庫中

git push origin dev
           

9.删除本地建立的feature-network分支

git branch -d feature-network
參數說明:
-d —delete delete a fully merged branch 
删除一個全部已經合并完的分支
PS:有的時候采用上述指令在删除分支時會報如下錯誤:the branch  XXX is not fully merged, 原因分析: XXX分支有沒有合并到目前分支的内容
可以使用大寫的D 強制删除  git branch -D XXX 
           

最後,在使用git指令的時候隻是明白使用時不夠的,還是應該多了解一下具體參數,這樣遇到問題的時候才能對症下藥。

參考:https://git-scm.com/book/zh/v2

路漫漫其修遠兮,吾将上下而求索。