IDEA下用图形界面操作Git,节省一半以上工时

介绍

GIT与Idea结合开发,可以节省程序员大量的时间。

上传代码

这里只增加一个.gitignore文件和README.md文件

命令行提交

IDEA提交

点击右上角绿色对勾

弹出对话框

左上方的框显示了改动过的文件(后面会演示到)和新增的文件,改动和内容和新增的内容都会在下方显示,并且改动过的文件会对比显示(非常方便)

要保存哪些文件选中即可(类似于 git add filename)

Commit Message框内填写了commit的内容(类似于 git commit -m "项目初始化")

弹出commit的对话框,commit按钮有个下拉选项,可以直接commit and push,也可以配置按钮

在项目中任意地方右键->git->Repository->Push,可以发现push的快捷键是Ctrl+Shift+K,这个快捷键会和输入法冲突,所以我一般会把push命令设置成tool bar,用起来超级方便

步骤如下

点击File-Settings,找到如图所示位置,我要在commit按钮后面加push,选中commit,点击“Add After”,

弹出对话框,在Version Control Systems目录下,点击图中所示位置,

可以看到Tool Bar上有了push按钮

点击push按钮即可,可以修改remote和branch,点击push即可,idea在下方对比显示,并将修改的内容用另一个种背景颜色显示,非常方便看到我们修改了哪些内容

拉取代码

当我们想拉取远程仓库最新的代码时

命令行拉取

git pull origin master

IDEA拉取

点击上面的【Pull】按钮,弹出确认框,点击OK,

默认选项,点击OK即可,可以选中不再显示这个对话框。这样上传和拉取就不用敲命令,3个按钮搞定一切,上图中的按钮含义:

Update Type 选择

Merge:结果与运行 git fetch ; git merge 或 结果相同 git pull。

Rebase:结果与运行 git fetch ; git rebase 或 结果相同 git pull --rebase。

Branch Default:此选项用于选择应用分支的默认命令。default 命令 branch. 在 .git/config 配置文件的部分中 指定 。

使用场景:

Merge:因为成员的代码开发工作已经完成了,也不需要再保留这个分支了,所以我们可以把这个成员分支 merge 到主分支上,当然冲突在所难免,手工解决的工作肯定逃不掉,但是利大于弊不是吗。merge 以后,分支就不存在了,但是在 Git 的所有分支历史中还能看到身影。

Rebase:如果修改了某个公用代码的 BUG,这个时候就应该是把所有的 OEM 版本分支 rebase 到这个修复 BUG 的分支上来,在 rebase 过程中,Git 会要你手动解决代码上的冲突,你需要做的就是把修复 BUG 的代码放到目标分支代码里面去。rebase 的结果是:所有的分支依然存在。

比如说自己在自己分支开发了一段时间,之后另外的同事开发的功能正式上线到 master 分支了,那么我可以在当前的分支下 rebase 一下 master 分支,这样我这个分支的几个 commits 相对于 master 还是处于最顶端的,也就是说 rebase 主要用来跟上游同步,同时把自己的修改顶到最上面

merge 结果能够体现出时间线,但是 rebase 会打乱时间线。

而 rebase 看起来简洁,但是 merge 看起来不太简洁。

最终结果是都把代码合起来了,所以具体怎么使用这两个命令看项目需要。

版本回退

点击钟表的那个按钮,下方会显示所有的提交记录,版本回退有如下2种方式,用revert命令,

如果对版本回退不太清楚的,右键选中要回退的版本,点击【Get】按钮

切换分支,tag,commit

切换本地分支和远程分支,直接点就行,想切换tag或者某次commit,点Checkout Tag or Revision那个按钮

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200430A0BZBU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券