更新時(shí)間:2022-06-22 來源:黑馬程序員 瀏覽量:
1、解決思路
當(dāng)前git情況:
通過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提交
> 再次點(diǎn)擊提交代碼
>
> Default Channgelist 變更清單中,勾選第二天的變更代碼
>
> 填寫提交信息,點(diǎn)擊commit提交
>
> 完成敏感詞管理commit提交
> 點(diǎn)擊下方git : log日志 查看
兩次commit提交記錄
基于git命令行解決
> 輸入 `git add -i` 進(jìn)入暫存區(qū)交互式窗口
```
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` 回車
```
彈出暫存區(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` 回車
```
彈出暫存區(qū)文件列表
選擇revert的文件編號(hào)前,有 * 號(hào)標(biāo)記
再次回車 這些文件 會(huì)從暫存區(qū)刪除
```
> `revert>>` 回車
```
敏感詞相關(guān)文件,已經(jīng)變?yōu)?untracked 未跟蹤狀態(tài)
```
> `what now` 輸入 1 (查看狀態(tài))
```
暫存區(qū)中,只剩下頻道管理的代碼
這時(shí)退出交互窗口 commit 提交代碼 就可以了
```
> `what now` 輸入 7 退出交互窗口
> 輸入`git commit -m '功能:開發(fā)完成頻道管理CRUD'`
```
完成頻道管理模塊代碼提交
```
> 輸入`git add .` 將敏感詞代碼再次提交到暫存區(qū), 并查看`git status`
> 輸入`git commit -m '功能:開發(fā)完成敏感詞管理CRUD'`
> 輸入`git log`查看提交記錄
```
暫存區(qū)的代碼,已經(jīng)分為兩次commit啦
```