
























个人开发分支: zhengjintao-ppt-developV2.1
专门拉出来的用于测试的分支:zhengjintao-test
可以通过顶部的 git ——> show git log 进入log界面

也可以通过对项目文件夹的名称右键操作进入:

比如我想把我个人开发分支 zhengjintao-ppt-developV2.1 上的某一项提交 摘取 过来。
先筛选分支:

在这里,我筛选的是 Local 本地的分支 zhengjintao-ppt-developV2.1 ,实际开发中,一般是摘取远程某个分支的代码改动,这里就可以选择 origin 远程的某个分支。
User 最好筛选 me ,只看自己提交的代码改动。
筛选自己需要摘取的改动:

在这里,而已挑选摘取哪些改动,可以按 Ctrl 键选择多个,也可以选择一个之后按 Shift 键选择连续的多个。然后右键,选择 Cherry-Pick 即可。
待补充:至于摘取之后,可能还需要提交到远程,自己可以在 Terminal 终端中通过 git status 命令查看当前代码状态。
如果我个人分支的某个需求开发了一两个月, 提交了几十次,最后合并到开发分支的时候,可能我都忘了都哪些是本次需要上线的需求改动和提交,这时候我可以把之前的几十次的提交压缩成一次提交,到时候我切换开发分支,摘取我个人分支的时候,只用摘取压缩后的那一次提交即可。
下面举例说明:
比如我选择了整个三月份的提交记录,压缩成一次提交的话,就选中整个三月份的提交记录,右键,然后选择 Squash Commits :

点击 Squash Commits ,然后显示如下界面:

这里面是需要填写压缩提交的信息,比如我填写:压缩的3月份的提交,然后点击 OK 按钮:

等待压缩:

压缩完成后,历史记录中会显示一条新的提交记录,然后整个之前被压缩的3月份的提交记录就都没有了:

如果想撤销压缩,点击右下角的 Event Log,展开信息后,点击 Undo ,即可取消压缩。

以上可以针对个人开发分支的某个需求的多次提交进行压缩,到时候切换到上线分支,摘取个人分支的时候,只摘取压缩后的一个提交即可。
针对某个分支摘取的时候,如果发现出现需要merge的状态, merge 的过程中发现合并错了代码,如何取消。
下面先一步步的介绍。
我目前处于 test 的测试分支,我想摘取我个人开发分支的某一个提交,然后出现了代码冲突,就会出现以下的界面,我选择 Merge 进行代码融合。

点击 Merge 按钮之后:

我一开始就是没有搞明白,左右两边的代码各是哪里的,导致我合代码合到一半发现错了,代码没有完全合完,我就直接关闭了上面的弹框。
关闭弹框后,会出现以下界面,右下角不再显示 test分支了,显示的是Cherry-picking in test ,说明摘取没有完成:

此时怎么回退到没有摘取之前的代码状态呢?有两个方法。
方法一:
点击顶部菜单栏 Git → 找到 Abort Cherry-Pick 选项
点击后,IDEA 会自动回滚所有因 Cherry-Pick 产生的临时改动和冲突标记,你的测试分支会恢复到执行操作前的干净状态。

方法二:
1、在 IDEA 底部打开 Terminal 终端(或直接使用系统命令行)。
2、确保当前目录是你的项目根目录(也就是包含 .git 文件夹的地方)。
3、输入以下命令并回车:
这条命令会立即:
- 取消正在进行的 Cherry-Pick 操作
- 清空所有因冲突产生的临时文件
- 将你的测试分支完全恢复到 Cherry-Pick 之前的状态
执行完后,用 git status 查看,应该会显示 working tree clean,文件冲突就彻底解决了。

在这里我采用方法二试一下(方法一我已经操作过了,没问题),方法二的命令执行完毕之后就正常了:

此时代码已经回到了没有摘取之前的状态了。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。