2.IDEA 集成 Git
1.配置 Git 忽略文件
一些文件与项目的实际功能无关,不参与服务器上部署运行,例如:IDE工具的配置文件,日志文件,把它们忽略掉能够屏蔽 IDE 工具之间的差异。
(1) 创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore
)
这个文件的存放位置是任意的
git.ignore
1 | # Compiled class file |
(2) 在.gitconfig 文件中引用忽略配置文件
.gitconfig
文件在 Windows 的家目录中,C:/Users/[用户]/.gitconfig
2. IDEA 配置 Git
选择 git.exe,点击 Test,显示安装的 Git 的版本号

3.初始化本地库
创建一个工程项目,选择 VCS
-> Import into Version Control
-> Create Git Repository...

4. 添加到暂存区(Add)
新建文件

Add: 右键 -> Git -> Add,将文件添加至暂存区,添加至暂存区的文件会由红色变为绿色

5. 提交到本地库(Commit)
右键 -> Git -> Commit File…

右键 -> Git -> Commit Directory…

填写 Comment,点击 Commit

6.切换版本
修改代码,源代码会变成蓝色,蓝色的源代码文件可以先 Add 再 Commit,也可以直接 Commit

查看版本信息

切换版本

右键 -> Checkout Revision


7.创建分支




8.切换分支

9.合并分支(正常合并)
在 dev 分支上修改代码,

Commit 修改

切换到 master 分支,右键点击 dev 分支 Merge into Current

10.合并分支(冲突合并)
在 dev 分支修改代码,然后 Commit
在 master 分支修改代码,然后 Commit
切换到 master 分支,右键点击 dev 分支 Merge into Current,出现冲突

手动合并代码



11.设置 GitHub 账号
选择 Settings -> Version Control -> GitHub -> Add Account...

或者选择 Log In with Token...


在 GitHub 账户生成 Token


12.将本地工程上传到 GitHub

Remote: 远程仓库别名


提示成功后,然后就可以在 GitHub 账户查看到上传的本地工程了
13.将远程仓库 clone 到本地
选择 VCS -> Get from Version Control…

或者选择 VCS -> Git -> clone…

输入 url 和 本地目标路径

14.从远程仓库 pull 更新本地仓库


然后就可以看到本地代码更新了
注意: pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还解决代码冲突的问题。
15.将本地修改 push 到远程仓库
先 Commit 代码修改

然后将代码修改 push 到远程仓库


然后就可以在远程仓库看到代码的修改了
注意: push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说, 要想 push 成功,一定要保证本地库的版本要比远程库的版本高! 因此在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!