前言: 来这家公司上班后, 开始使用 Git 作为项目版本控制系统, 由于以前用的是 SVN, 所以对 Git 也就简单学习了一下. 但是, 实践出真知, 当开始使用 Git 后, 发现遇到了不少问题, 也遇到过血的教训, 于是决定记录一下, 方便以后查看.
一, Eclipse 安装 Git 插件
如果是比较新的 Eclipse 版本, 默认就已经安装了 Git 插件.
菜单栏 --> Help --> About Eclipse, 如下图:
如果有这个图标, 表示 Eclipse 已经安装了 Git 插件, 如果没有这个图标, 就到 Eclipse 插件市场下载 Git 插件, 具体步骤自行百度谷歌.
二, Eclipse 提交代码到 GitHub
1, 登录 GitHub, 创建代码仓库
登录 GitHub, 然后在右上角 + 号下拉列表里找到 New repository, 创建一个新的仓库. 在 Repository name 填入 testgit, 其他保持默认设置, 点击 Create repository 按钮, 就成功地创建了一个空的 Git 仓库.
创建完成后如下图:
将最上方的仓库地址 (也就是这个: https://github.com / 你的 GitHub 账号名称 / Git 仓库名称. Git) 复制下来, 后面要用到.
2, 在 Eclipse 中创建要发布到 GitHub 的项目
我这里是创建了一个最简单的 Spring Boot 项目, 结构如下:
3, 与 GitHub 建立连接, 发布项目到 GitHub
3.1 share project 及创建本地 Git 仓库
选中要发布的项目 --> 右击 --> Team --> Share Project...,
勾选 Use or create repository in parent folder ofproject,
点击红色箭头处, 也就是项目,
点击 Create Repository 按钮, 会在后面显示的路径下建立本地仓库, 最后点击 Finish 按钮即可. 效果如下:
文件会变成未提交状态, 此时我们可以提交代码到本地仓库.
3.2 提交代码到本地 Git 仓库
为了方便提交代码到 Git, 我们在 Eclipse 中打开相应的视图窗口, 菜单栏 Windows --> Show View --> Other...,
在输入框中输入 Git,
选择 Git Staging, 确定即可.
选择项目, 切换到 Git Staging 视图,
在未提交文件区选择要提交的文件, 拖到下面待提交文件区或者右击选择的文件选择 Add to Index, 填写提交信息, 点击 Commit 将文件提交到本地 Git 仓库.
3.3 发布项目到 GitHub
选中要发布的项目 --> 右击 --> Team --> Remote --> Push..., 粘贴 URI(也就是 GitHub 仓库地址, https://github.com / 你的 GitHub 账号名称 / Git 仓库名称. Git), 填写 GitHub 用户名 User, 密码 Password, 点击 next.
点击 Source ref 的下拉框, 选择 master [branch], 然后点击 Add Spec, 下方 Specifications for push 下面会出现要提交的分支信息, 点击 Next, 再点击 Finish, 最后点击 OK 就完成了.
最后在 GitHub 上查看项目.
三, Eclipse 中使用 Git
提交代码流程: 一般是先 commit 到本地仓库, 然后再 pull 更新远程仓库代码到本地, 如果有冲突, 文件会标红, 解决冲突了再 commit, 最后 push 到远程仓库.
用血的教训得到的注意点: 一定要经常 commit 代码到本地仓库!
当初就是因为没有提交代码到本地仓库, 导致本地写的代码被远程仓库的代码覆盖了, 周末加班重新写那些丢失的代码!
四, Eclipse 中解决代码冲突
刚开始使用 Git 时, 出现冲突后修改冲突部分, 再提交到本地仓库, 结果所有文件都冲突了, 对比却又是一样的, 当时不知道怎么办, 就在另外的工作空间重新拉取一套代码, 把修改的代码加进去. 后来又遇到了, 于是就找资料看怎么解决冲突, 所以这里记录一下.
比如我现在的项目冲突情况如下:
现在我们解决冲突, 比如改为下面这样:
右击冲突文件 --> Team --> Add to Index
此时, 冲突文件变为修改图标样式, Git Staging 视图中变成下图:
后面就是正常的提交代码流程了, commit 到本地仓库, 再 push 到远程仓库.
五, 参考资料
Eclipse 提交项目到 GitHub https://www.jianshu.com/p/812717c740a2
eclipse 中 Git 解决冲突
eclipse 中 Git 解决冲突(重点)
来源: https://segmentfault.com/a/1190000018528906