GIT:僅提交本地工作區部分文件的方法


偶爾會有某一部分的代碼或缺陷修復需要臨時被提前發布,假設當前分支已修改了這個BUG,但當前分支已存在其他未開發完的代碼,無法臨時提交全部代碼的情況。

解決方法

1. 嚴格切分支: 為每個 BUG / 需求 從當前模塊的主分支中切一個分支出來對應開發。

2. 串行開發&頻繁push:在該分支中不進行並行開發,每開發或修復一個需求,就進行一次push。

3. 提交指定文件(非常靈活)

本文介紹第三種方法的具體實現操作

首先來明確 Git 的三個板塊:

  • 工作區
  • 暫存區
  • 版本庫

git結構

我們在 Git 的工作區進行開發

用 add 命令將工作區變更的代碼保存至暫存區

用 commit 命令將暫存區的變更推送至本地倉庫的版本庫

最后用 push 命令將本地的版本庫上傳推送至鏈接的遠程倉庫

命令行

########## 依據上下文順序執行 ##########
git status -s                     # 查看倉庫狀態
git add [src/.../.../文件名]      # 將工作區中指定的文件提交至暫存區 [路徑](參考上一條命令 git status 輸出的被修改文件的路徑)
git stash -u -k                   # 忽略工作區未被執行 git add 的文件變更,將其隱藏起來,這樣在執行 git commit 時不會被影響
git commit -m [提交了一個版本]    # 將已執行 git add 的暫存區中的文件提交至版本庫,並為本次提交書寫注釋 [版本注釋]
git push                          # 將版本庫推送至遠程倉庫(remote/origin)
git stash pop                     # 恢復工作區被忽略的文件

Git status -s 狀態碼

例如:

路徑前的紅色字母位置為狀態碼占位符

A 當前分支本地倉庫的新增文件(遠程倉庫不存在)
C 文件的一個新拷貝
D 當前分支本地倉庫被刪除的文件(遠程倉庫仍存在)
M 內容 / mode變更的文件
R 文件名被修改的文件
T 類型改變的文件
U 當前分支本地倉庫中未被合並的文件(需要完成合並才能進行提交)
X 未知狀態的文件(可能是遇到 Git 的 bug 了,可以向 Git 提交 bug report)
? 未被 Git 進行管理的文件,可以使用 git add src/.../.../file 把文件名為 file 的文件添加至 Git 的被管理目錄

- END -


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM