Eclipse使用Git
Eclipse使用Git
说明:使用的是 Oxygen Eclipse操作
Eclipse中Git介绍
eclipse在较早的版本中已经内置了Git的插件,较早的版本中是没有内置SVN的也进一步说明Git的活跃度。在Eclipse -> Window -> Preferences -> Team - > Git
进入Git的 Configuration中 选择 User Settings 可以看到Git的全局配置文件的路径:C:\Users\zhzhouq.gitconfig,Key模块中显示的信息,就是在全局配置文件中配置的内容(User是我们之前博客中提及到的全局系统签名,这个core是我自己配置的一个Git过滤文件的配置项)。配置方式这里不再描述,可以查看我这篇博客:
eclipse配置svn 和 git 过滤文件的方式
当然了操作全局配置文件也可以直接在Eclipse中 直接Add Entry来设置签名等其他信息。
点击Repository Settings 查看当前Eclipse工作区的Git仓库, 此时还没有Git的仓库。
Eclipse中初始化Git仓库
在我们当前Eclipse 工作区创建一个普通的项目
选中项目,右键 Team -> Share Project -> Git -> Next
首先要勾选 下图中红框的复选框,
然后会进入这个页面,我们按照图中内容一步步执行,当点击了Create Repository按钮的时候就会在 对应得路径初始化本地仓库。
第三步执行完成的时候,就相当于执行了git init
命令
Eclipse中设置Git当前仓库签名
在进入之前Git 的 Configuration,查看仓库信息。我们可以在.git/config中配置当前仓库的一些配置信息,例如签名等。
Git图标说明
Git staging窗口描述,并提交
右键项目 - > Team
或者直接使用快捷键 Ctrl + Shift + 3 进入
在这里我提示一下,如果我们是没有配置过滤文件的配置项,那么在未被追踪的区域会显示很多没有用的文件例如:.classpath,.project等等的文件。会影响我们工作效率。所以必须要配置过滤文件,参考
eclipse配置svn 和 git 过滤文件的方式 博客
Git 在Eclipse中的基本操作
修改文件查看图标
将其推送到远程仓库
推送到远程仓库的前提是你GitHub必须要有一个仓库才可以。-> 在GitHub上建立自己的仓库。
点击Next
等待…
在远程仓库查看即可
远程仓库克隆到本地,被Eclipse管理
右键Eclipse -> import 选择Git
我们导入一个Maven工程,这个工程在提交时已经使用了过滤文件的配置项,仓库中Maven结构目录并不齐全。所以从Git克隆下来之后并不能直接使用。(目录结构不是Maven的目录结构)需要进行一些处理
点击Next即可。
需要进行如下的处理即可。会生成Maven目录结构,我们在提交的时候一定是要配置过滤文件的,有的内容我们不能提交到远程仓库。如果我们提交了一些本地IDE工具生成的文件,那其他人下载下来的项目和其他人本地的IDE工具会发生冲突造成问题。
Eclipse解决冲突
将2个项目各自提交到各自的本地仓库
将其中一个项目推送到远程仓库,此时另外一个再推送的时候,就接受不了。需要解决冲突
需要先执行pull 拉取的操作
解决冲突的文件 -> 添加暂存区 -> 提交到本地仓库 - > 推送到远程仓库即可,另外一个项目此时就可以pull拉取最新的文件下来。到这里冲突就解决完了。
介绍Git工作流程
- 首先是拥有一个Master分支,此分支为主干分支。(生产环境代码内容)。
- 之后开发人员会克隆下来Master在自己本地形成Develop开发分支,
- 我们并不在这个开发分支进行代码的迭代。比如现在要开发一个小游戏功能,就以开发分支为基准创建开发小游戏功能的分支。在小游戏分支进行代码的迭代。
- 当我们小游戏功能开发完成,在和Develop开发分支进行合并。合并之后推送到Master分支。
- 如果在开发过程中生产环境出现了 BUG,会建立hotfix热点修复分支,在这个分支上修改BUG,BUG修改结束后推送到Master分支。然后再在Develop开发分支上pull 拉取最新的Master分支内容。当我们小游戏开发完成与Develop开发分支合并的时候 生产BUG此时也和小游戏功能同时存在开发分支上了。最终推送到master
- 还有一种情况,开发功能结束后会由Develop开发分支为基准建立release分支进行测试任务(UAT,123轮测试等等)。最终由release分支推送到master分支上。
- 目前所介绍的流程,并不是绝对的,需要按照自己公司实际情况选取Git工作流的哪一种方案,重点是深入理解下Git工作的流程
Eclipse中分支使用
修改testBranch分支文件
提交到本地仓库
将修改内容推送到远程仓库。此时对于远程仓库来说是新建立分支的操作,因为是按照testBranch分支push的。如果想要把testBranch分支的内容合并到master分支上应该怎么做?
首先再testBranch分支修改文件提交到本地仓库,然后要切换到master分支。
然后选择Merge进行合并,最后再由Master分支 push到远程仓库即可
对于另外一个项目就可以进行拉取pull 操作
既然第二个项目已经有了testBranch分支,那么就可以执行合并操作,使第二个项目master分支上也有了 testBranch分支的内容。
GitLab 和 码云Gitee
对于我们使用Git来说,这2个服务其实和GitHub没太大的变化。GitLab重点是英语公司局域网内,再Linux平台搭建GitLab起到和GitHub一样的作用都可以作为Git的服务器,并且还有一些权限控制等等。而Gitee码云是在公网上的服务器,服务器在国内,我们自己玩项目的时候可以选择使用码云速度比GitHub快多了。并且码云也可以导入GitHub上的项目。使用起来不会有太大的差别。