这里以git@oschina举例说明。
git的pull就相当于svn的update,push就相当于commit。

前提

虽然idea集成了git插件,但你仍然需要安装git(windows版本git for windows)。
然后在idea的Version Control中选择git.exe的位置。

下面的例子已osc@git为例说明

一、从git仓库checkout项目到idea

复制git仓库地址,然后idea中选择VCS->Check out from Version Control->Git

后面会提示你输入osc@git的用户名和密码,然后就可以checkout下来了。

二、将idea中已有的项目分享到git@osc

1 .在osc@git上创建一个仓库,比如:
https://git.oschina.net/qincd/readimage.git
2 .idea操作
没有办法像SVN一样,直接将项目share到远程仓库。
需要使用命令行执行git命令。如下:
1)选择要share的项目,然后vcs->Import into Version Control->Create git repository

然后选择你要share的项目。

2)打开命令行,切换到你要share的项目路径,执行下面的命令

执行完毕后,就将本地仓库和远程仓库建立了联系。

3)回到idea,执行git->add命令,然后commit and push就可以了,后面就可以愉快的执行pull/push操作了。

注意:
执行git的commit只是提交到本地仓库,需要再执行push命令才能提交到远程git仓库

提交代码到远程操作

1.执行add操作(右键Git–>Add),将文件添加到版本控制;
2.执行commit操作(右键Git->Commit Directory/File),将文件提交到本地仓库;
3.执行push操作(这一步是将本地仓库的变更提交到远程仓库)。

如果在第2步,最后点的“Commit”按钮,那么可以通过右键->Git->Repository->Push来执行Push操作。

从远程仓库更新代码

右键Git-Repository-Pull即可。

注意:如果有多个分支,注意选择对应的分支更新。

查看提交历史记录

右键Git->Show History。
注意:所有pull/push操作都是可以针对某个目录或文件的。

git冲突解决

如果本地修改了某个文件,此时从远程仓库更新会提示冲突。
解决方法有2种:
1.执行commit,然后push操作,这时会提示你有冲突(会弹出一个提示窗口,可以选择Merge),Merge即可;

2.如果代码未开发完,此时还不想提交。可以执行Git->Repository-Stash Changes(此操作会将你的本地变更保存起来)起一个名字,然后执行pull操作。
此时更新操作会成功,然后执行Git->Repository-Unstash Changes,选择刚刚Stash Changes起的名字,此时会提示代码有冲突。会弹出Merge窗口,执行Merge操作即可。

注意:执行此操作后Merge后的文件只是在本地,需要执行Git Commit&Push来提交到远程仓库。

参考:https://blog.csdn.net/qq_33039699/article/details/82866785

Checkout某个分支/Tag/某次提交

1.checkout某个分支
一般开发中都会有Master/Develop/feature/fix等等分支,checkout某个分支很简单。
在idea右下角显示的是当前的分支,点击当前显示的分支,然后选择当前项目的要切换的分支,选择Checkout即可。

2.checkout某个Tag
在idea右下角显示的是当前的分支,点击当前显示的分支,然后点“Checkout Tag or Revision”,然后输入Tag即可。

3.checkout某次提交
a. Git->Show History,找到你想checkout的某次提交;
b. 右键,选择“Copy Revision Number”;

c. 点击在idea右下角的当前显示的分支,然后选择“Checkout Tag or Revision”,然后粘贴刚刚复制的Revision Number即可。

注意:如果已经checkout了某个分支,比如feature,你切换到其他分支,比如develop,此时想切到feature,那么选择的是“local branch”,然后点“checkout”。

合并分支

比如我们在Develop分支开发,在上线后需要将Develop分支合并到Master分支。

1.checkout master分支;
2.点击要Merge的项目的Remote Branches,选择要合并的分支(这里是Develop),然后选择“Merge into current”。

创建/搜索/删除Tag

创建Tag
1.Git->Show History。
2.选择要打tag的某次提交,然后右键New Tag,然后输入Tag的名字。名字最好有意义,可以是版本号。这里只是测试,输入的名字为testtag2

3.push到远程仓库。项目右键Git->Repository-Push。注意要勾选“Push Tags”,另外注意一下All和Current Branch的区别。

All和Current Branch的区别:

也就是说,如果你选择All,不属于当前选择分支的tag也会提交到远程仓库;如果你选择Current Branch,那么就只会提交当前分支的Tag。

搜索Tag
在Git->Show History中,点击查找按钮,然后输入Tag名字即可,回车后即跳转到创建Tag的某次提交记录。

删除Tag
1.查找到Tag对应的提交记录;
2.右键->Tag xx->delete

3.在删除本地的Tag后,会有提示框,点击“Delete On Remote”来删除远程参考的Tag。

创建/删除分支

创建分支
1.Git->Show History。
2.选择要创建分支的某次提交记录。
3.右键New branch,然后输入名字。

此时,分支只是在本地创建好了。修改代码,然后提交到远程仓库在远程参考创建分支。

删除分支
1.Git->Show History。
2.搜索要删除的分支;
3.右键选择Branch XXX -> Delete。此时idea询问是否删除远程的branch,选择是,这样远程参考的分支就删除了。