首页技术文章正文

Java培训:git实战技巧-如何将暂存区的多个功能代码分成多次提交

更新时间:2022-06-22 来源:黑马程序员 浏览量:

  1、解决思路

  当前git情况:

1655878050835_1.jpg

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

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

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

  `add + commit`

  ```

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

  ```

  2、动手实践

  基于idea工具解决

  > 点击提交代码

  >

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

  >

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

  >

  > 完成频道管理commit提交

1655878082848_2.jpg

  > 再次点击提交代码

  >

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

  >

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

  >

  > 完成敏感词管理commit提交

1655878108410_3.jpg

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

1655878136659_4.jpg

  两次commit提交记录

  基于git命令行解决

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

1655878200655_5.jpg

  ```

  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` 回车

1655878241229_6.jpg

  ```

  弹出暂存区文件列表

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

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

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

  比如:

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

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

  ```

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

1655878269492_7.jpg

  ```

  弹出暂存区文件列表

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

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

  ```

  > `revert>>` 回车

1655878305323_8.jpg

  ```

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

  ```

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

1655878330839_9.jpg

  ```

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

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

  ```

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

1655878354566_10.jpg

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

1655878398939_11.jpg

  ```

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

  ```

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

1655878428170_12.jpg

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

1655878466093_13.jpg

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

1655878482386_14.jpg

  ```

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

  ```

分享到:
在线咨询 我要报名
和我们在线交谈!