1、解决思路

  当前git情况:

  通过idea工具,比较简单,但依赖工具

  通过原生命令,稍稍复杂些,但不依赖其它工具

  如果文件很多,通过交互式窗口选择比较麻烦的情况下 也可以使用命令清空暂存区, 然后在有选择的

  `add + commit`

  ```

  git rm --cache [fileName] 删除暂存区文件的指定文件(本地工作区未删除)

  ```

  2、动手实践

  基于idea工具解决

  > 点击提交代码

  >

  > Default Channgelist 变更清单中,只勾选第一天的变更代码

  >

  > 填写提交信息,点击commit提交

  >

  > 完成频道管理commit提交

  > 再次点击提交代码

  >

  > Default Channgelist 变更清单中,勾选第二天的变更代码

  >

  > 填写提交信息,点击commit提交

  >

  > 完成敏感词管理commit提交

  > 点击下方git : log日志 查看

  两次commit提交记录

  基于git命令行解决

  > 输入 `git add -i` 进入暂存区交互式窗口

  ```

  1. 暂存区的文件路径及提交情况

  2. 要交互执行的命令

  1. status: 暂存区状态 和 git add -i 效果类似

  2. update: 可以将已经tracked的文件添加到暂存区

  3. revert: 可以根据提示选择,将暂存区文件删除

  4. add untracket: 可以将未跟踪tracked的文件添加到暂存区

  5. patch: 用于离线打补丁,通过代码版本

  6. diff: 对比暂存区文件 和 仓库源文件差异

  7. quit: 退出交互式窗口

  8. help: 查看帮助

  3. what now: 你现在要做什么呢?

  输入上面指令对应的数字 或 首字母 即可执行对应指令

  ```

  > `what now>>` 输入 `3` 回车

  ```

  弹出暂存区文件列表

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

  我们可以按要求输入 文件的编号,多个文件以空格隔开

  这些文件,是要从暂存区删除的哦

  比如:

  现在要提交 频道管理的代码, 那么先把敏感词的代码从暂存区删除

  敏感词对应的文件编号: 2 4 6 8 10

  ```

  > `revert>>` 输入 `2 4 6 8 10` 回车

  ```

  弹出暂存区文件列表

  选择revert的文件编号前,有 * 号标记

  再次回车 这些文件 会从暂存区删除

  ```

  > `revert>>` 回车

  ```

  敏感词相关文件,已经变为 untracked 未跟踪状态

  ```

  > `what now` 输入 1 (查看状态)

  ```

  暂存区中,只剩下频道管理的代码

  这时退出交互窗口 commit 提交代码 就可以了

  ```

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

  > 输入`git commit -m '功能:开发完成频道管理CRUD'`

  ```

  完成频道管理模块代码提交

  ```

  > 输入`git add .` 将敏感词代码再次提交到暂存区, 并查看`git status`

  > 输入`git commit -m '功能:开发完成敏感词管理CRUD'`

  > 输入`git log`查看提交记录

  ```

  暂存区的代码,已经分为两次commit啦

  ```

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐