此文只是带大家简单的了解一下IDEA关于Git的操作,详细的处理未介绍.总之多用多看多深究. 用IDEA的一个痛点是改代码之前不喜欢切换分支.
一. Git目录
1. commit File: 修改代码提交本地仓库
在IDEA中,我们会看到文件被标识着不同颜色:红色,绿色,蓝色。它们分别代表什么意思呢?
红色:未被版本控制的文件,即未添加到版本控制的文件,例如我们添加到ignore中的文件。
绿色:新加入版本的文件,即我们新创建的文件,还未提交到远程仓库。
蓝色:修改过的文件,即远程仓库中已有该文件,我们这次对它进行了修改,但是还未提交。
2. Add: 把本地文件从工作目录添加到本地仓库的stage区,对应Git的Add命令
3. Annotate: 分析此文件
4. compare with the same repository version: 与当前 同版本号的 资源比较
5. Compare with Branch…:与远程分支比较。我们提交前可以通过此功能比较下我们工作目录中代码和远程分支代码的异同。
6. Show History:查看历史修改版本记录。
7. Revert:回滚,会将你的本地修改回滚。
8. Repository:各种仓库命令。
二. Git提交树
命令: git log --oneline --graph --decorate --all
Git提交树在Git的使用是非常重要的,用于排查哪一步出现问题,列如场景,中间提交一个不着急上线的版本分支到release分支上,需要紧急撤回等.不深究水太深,没事多看看
三. 分支操作
1. 当我想从远程仓库里拉取一条本地不存在的分支时
git checkout -b 本地分支名 origin/远程分支名
如果出现提示:
fatal: Cannot update paths and switch to branch 'dev2' at the same time.Did you intend to checkout 'origin/dev2' which can not be resolved as commit?
表示拉取不成功。我们需要执行
git fetch# 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git checkout -b 本地分支名 origin/远程分支名
Checkout: 切换本地分支
Show DIff with Working Tree: 比较俩分支文件改动
Merge into Current: 合并到当前分支
Delete: 删除当前分支
四. Annotate-分析此文件
Close Annotation: 关闭左侧的改动记录
View: 左侧展示的数据
Show in Git Log: 展示此文件的更改提交树
五. 合并(Merge)
在开发中难免会遇到多人修改同一个文件,造成版本冲突,这时候如果需要程序正常运行并且确保功能完整就需要开发人员手动解决这些冲突,并将代码合并,得到最终一致性的代码最后再push到远程。
而这一块往往对很多人来说是最头疼的,操作不当可能会造成代码紊乱造成事故,其实理解了原理,熟练之后其实也没那么复杂。