首頁技術(shù)文章正文

Java培訓(xùn):git實(shí)戰(zhàn)技巧-如何將暫存區(qū)的多個(gè)功能代碼分成多次提交

更新時(shí)間:2022-06-22 來源:黑馬程序員 瀏覽量:

  1、解決思路

  當(dāng)前git情況:

1655878050835_1.jpg

  通過idea工具,比較簡(jiǎn)單,但依賴工具

  通過原生命令,稍稍復(fù)雜些,但不依賴其它工具

  如果文件很多,通過交互式窗口選擇比較麻煩的情況下 也可以使用命令清空暫存區(qū), 然后在有選擇的

  `add + commit`

  ```

  git rm --cache [fileName] 刪除暫存區(qū)文件的指定文件(本地工作區(qū)未刪除)

  ```

  2、動(dòng)手實(shí)踐

  基于idea工具解決

  > 點(diǎn)擊提交代碼

  >

  > Default Channgelist 變更清單中,只勾選第一天的變更代碼

  >

  > 填寫提交信息,點(diǎn)擊commit提交

  >

  > 完成頻道管理commit提交

1655878082848_2.jpg

  > 再次點(diǎn)擊提交代碼

  >

  > Default Channgelist 變更清單中,勾選第二天的變更代碼

  >

  > 填寫提交信息,點(diǎn)擊commit提交

  >

  > 完成敏感詞管理commit提交

1655878108410_3.jpg

  > 點(diǎn)擊下方git : log日志 查看

1655878136659_4.jpg

  兩次commit提交記錄

  基于git命令行解決

  > 輸入 `git add -i` 進(jìn)入暫存區(qū)交互式窗口

1655878200655_5.jpg

  ```

  1. 暫存區(qū)的文件路徑及提交情況

  2. 要交互執(zhí)行的命令

  1. status: 暫存區(qū)狀態(tài) 和 git add -i 效果類似

  2. update: 可以將已經(jīng)tracked的文件添加到暫存區(qū)

  3. revert: 可以根據(jù)提示選擇,將暫存區(qū)文件刪除

  4. add untracket: 可以將未跟蹤tracked的文件添加到暫存區(qū)

  5. patch: 用于離線打補(bǔ)丁,通過代碼版本

  6. diff: 對(duì)比暫存區(qū)文件 和 倉庫源文件差異

  7. quit: 退出交互式窗口

  8. help: 查看幫助

  3. what now: 你現(xiàn)在要做什么呢?

  輸入上面指令對(duì)應(yīng)的數(shù)字 或 首字母 即可執(zhí)行對(duì)應(yīng)指令

  ```

  > `what now>>` 輸入 `3` 回車

1655878241229_6.jpg

  ```

  彈出暫存區(qū)文件列表

  并且下面的命令行窗口 提示: revert>>

  我們可以按要求輸入 文件的編號(hào),多個(gè)文件以空格隔開

  這些文件,是要從暫存區(qū)刪除的哦

  比如:

  現(xiàn)在要提交 頻道管理的代碼, 那么先把敏感詞的代碼從暫存區(qū)刪除

  敏感詞對(duì)應(yīng)的文件編號(hào): 2 4 6 8 10

  ```

  > `revert>>` 輸入 `2 4 6 8 10` 回車

1655878269492_7.jpg

  ```

  彈出暫存區(qū)文件列表

  選擇revert的文件編號(hào)前,有 * 號(hào)標(biāo)記

  再次回車 這些文件 會(huì)從暫存區(qū)刪除

  ```

  > `revert>>` 回車

1655878305323_8.jpg

  ```

  敏感詞相關(guān)文件,已經(jīng)變?yōu)?untracked 未跟蹤狀態(tài)

  ```

  > `what now` 輸入 1 (查看狀態(tài))

1655878330839_9.jpg

  ```

  暫存區(qū)中,只剩下頻道管理的代碼

  這時(shí)退出交互窗口 commit 提交代碼 就可以了

  ```

  > `what now` 輸入 7 退出交互窗口

1655878354566_10.jpg

  > 輸入`git commit -m '功能:開發(fā)完成頻道管理CRUD'`

1655878398939_11.jpg

  ```

  完成頻道管理模塊代碼提交

  ```

  > 輸入`git add .` 將敏感詞代碼再次提交到暫存區(qū), 并查看`git status`

1655878428170_12.jpg

  > 輸入`git commit -m '功能:開發(fā)完成敏感詞管理CRUD'`

1655878466093_13.jpg

  > 輸入`git log`查看提交記錄

1655878482386_14.jpg

  ```

  暫存區(qū)的代碼,已經(jīng)分為兩次commit啦

  ```

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!