idea下git使用教程
前言
- 首先你需要对git有一定了解,可以看一下以下文章
-
首先创建一个远端项目,之后拉取至本地。
根据提示拉下来项目,之后使用idea打开项目,右下加显示目前分支
输入图片说明
分支新建和上推
- 点击后选择 new branch,输入develop,此时右下角显示目前分支已进入develop
之后如下图:



-
下一步,将本地分支上推至远端
输入图片说明


分支提交
-
那么此时如果也要开发新功能,比如添加一个Dog相关开发,那么你可以创建一个feature/dog分支并推入远端。创建新分支的流程和创建develop分支流程相同
输入图片说明
-
之后你需要在项目中添加一个dog.txt文件


此时会弹出一个add File to Git
选择add就加入git工作区,cancel则不加入,我们选择add

-
之后我们编辑dog.txt,输入
小黄豆
三个字 -
同样的方法我们再次新建.gitignore文件,内容
.idea
*.iml
out
gen
- 提交本次修改
输入图片说明
输入图片说明
此时点击Commit
会直接提交至本地,点击▼则会出现额外选项,Commit and Push
会提交至本地后直接执行推送操作,create Patch
教程不再详细说明
注意,commit之后只是提交到了本地,需要push才是真正提交到了代码库,merge操作也是在本地操作,在push之后会在代码库中看到结果
我们选择 Commit and Push

Commit and Push

此时本地远端分支也有feature/dog
了 !

分支合并
之后我们要把 feature分支合并至develop分支需要做以下操作:
-
先切到develop分支
输入图片说明
-
之后选择feature/dog分支进行merge
输入图片说明
-
merge完成后在进行push操作
输入图片说明
输入图片说明
我们发现在push信息里有了在feature上的内容,我们push完成后,就完成了分支合并操作
分支删除
在以上操作完成后,feature/dog分支就没有用了,之后以将已完成分支删除,同样在右下角分支管理中选择delete,将本地和远端的分支删除


冲突处理
当远端和本地同时修改同一行内容会产生冲突,此时需要手工解决冲突
如果远端和本地都修改了 dog.txt 第一行,我们本地执行commit and push 操作时会有冲突产生
push 被拒绝



左侧是你本地修改内容,右侧是远端修改内容,中间是修改的最终结果,我们可以根据左右修改内容调整最后结果手工处理冲突
当你处理完所有冲突时

Apply
,确认冲突解决
冲突解决完成后我们需要再次 push

我们可以看到多了一条merge的操作记录,说明本地提交时远端和本地提交不一致,idea自动执行了merge命令,将远端分支merge到本地
多项目管理分支管理
打开多项目项目,目录如下

此时除了分支管理,其他和单项目相同
我们点击右下角git




这里所作的操作是对所有项目进行的公共操作,但是前提是他们的分支名称是相同的
另外
中的创建新分支也是针对所有项目的
如果没有公共操作需要在setting中勾选

日常操作
提交记录查看界面

右键具体记录可以看到git相关操作

常见的patch和cherry pick等操作
stash操作(暂存操作)

多修改列表切换

提交界面,在具体文件上点击鼠标右键,则可以将该文件移动到另外一个修改列表
使用场景,修改了配置文件但是不想提交,可以将java代码和配置文件放在不同修改列表,提交时只处理java文件所在修改列表
插件推荐
Git ToolBox
网友评论