1. 程式人生 > 程式設計 >詳談git 提交程式碼步驟,乾貨

詳談git 提交程式碼步驟,乾貨

利用命令列提交程式碼步驟

提交程式碼之前,需先從伺服器上面拉取程式碼,以防覆蓋別人程式碼。

1:拉取伺服器程式碼

git pull

2:檢視當前工作目錄樹的工作修改狀態

git status

狀態:

1:Untracked: 未跟蹤,此檔案在資料夾中,但並沒有加入到git庫,不參與版本控制. 通過git add 狀態變為Staged.

2:Modified: 檔案已修改,僅僅是修改,並沒有進行其他的操作.

3:deleted: 檔案已刪除,本地刪除,伺服器上還沒有刪除.

4:renamed:

3:將狀態改變的程式碼提交至快取

git add + 檔案

git add -u + 路徑:將修改過的被跟蹤程式碼提交快取

git add -A + 路徑: 將修改過的未被跟蹤的程式碼提交至快取

例如:

git add -u vpaas-frontend/src/components

將 vpaas-frontend/src/components 目錄下被跟蹤的已修改過的程式碼提交到快取中

git add -A vpaas-frontend/src/components

將 vpaas-frontend/src/components 目錄下未被跟蹤的已修改過的程式碼提交到快取中

4:將程式碼提交到本地倉庫中

git commit -m “註釋部分 ref T3070”

注:

T3070: 任務號

5:將程式碼推送到伺服器

git push

問題

1:誤將程式碼提交到快取中(利用 git add 命令誤將程式碼提交的快取中)

解決辦法:利用 git reset 命令將撤回快取中的程式碼。

2:誤將程式碼提交到本地倉庫(利用 git commit 命令誤將程式碼提交到本地倉庫)

解決辦法:

git reset —soft + 版本號

回退到某個版本,只回退了commit的資訊,不會改變已經修改過的程式碼。

git reset —hard + 版本號

徹底回退到某個版本,本地的程式碼也會改變上一個版本內容。

補充知識:使用TortoiseGit處理程式碼衝突

場景一

user0 有新提交

user1 沒有pull -> 寫新程式碼 -> pull -> 提示有衝突

解決辦法一

-> stash save(把自己的程式碼隱藏存起來) -> 重新pull -> stash pop(把存起來的隱藏的程式碼取回來 ) -> 程式碼檔案會顯示衝突 -> 右鍵選擇edit conficts,解決後點擊編輯頁面的 mark as resolved -> commit&push

解決辦法二

(儘量少使用,這種方法的優點是在在原編輯器裡處理衝突,程式碼邏輯看得更清楚一些)

-> stash save(把自己的程式碼隱藏存起來) -> 重新pull -> stash pop(把存起來的隱藏的程式碼取回來 ) -> 程式碼檔案會顯示衝突 -> 右鍵選擇resolve conflict -> 開啟檔案解決衝突 -> commit&push

場景二

user0 有新提交

user1 沒有pull -> 寫新程式碼 -> commit&push -> 提示有衝突

解決辦法一

-> pull -> 程式碼檔案會顯示衝突 -> 右鍵選擇edit conficts,解決後點擊編輯頁面的 mark as resolved -> commit&push

以上這篇詳談git 提交程式碼步驟,乾貨就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。