eclipse使用git及github学习笔记

项目托管

1.首先须要在github上创建一个远端仓库 
这里写图片描述java

点击Create repository后,会在github上创建相应的git仓库,并会出现以下界面: 
这里写图片描述
复制https或者ssh的仓库地址,远端仓库的操做即告一段落。git

2.eclipse建立项目。然后在项目上右键–>Team–>Share Project,会打开以下界面: 
这里写图片描述
此界面须要咱们对该项目的本地git仓库进行配置,可使用当前项目所在目录做为该项目的git仓库,也能够自定义其余位置的目录做为git仓库。须要说明的是,若是自定义其余位置做为git仓库,那么将项目托管到其定义的位置后,项目本来所在的workspace下就没有该项目了。这里我使用项目所在的workspace下的项目根目录做为git仓库,所以须要勾选use or create repository in parent folder of project。接着就会出现以下的界面: 
这里写图片描述
勾选项目,并点击create Repository按钮新建.git文件夹,完成git仓库的配置。github

此时查看项目,能够看到以下的显示: 
这里写图片描述web

这里须要先说说HEAD这个概念,能够理解为游标或者索引。它能够记录对文件操做的相关版本信息,咱们能够依据HEAD的信息来切换到咱们想要获取的版本。能够参考上一篇文章所使用的git reset命令。 
这里显示NO-HEAD,说明项目的文件尚未加入到git的版本管理中,因而咱们须要再次右键–>Team–>Commit,对项目下的文件进行提交,将其提交到本地的git仓库中,以下图所示: 
这里写图片描述 
填写注释,选择要提交的文件,点击commit and push,这样就会将文件提交到本地的仓库而且向远端仓库进行推送。以后会出现以下的界面: 
这里写图片描述 
这就须要用到咱们以前从github上复制的地址了,将其粘贴到URI处,而后一路Next下去,直到Finish。然后会出现向远端仓库推送的界面,以下: 
这里写图片描述 
等待进度条走到头,即完成了向远端仓库推送的操做。 
此时再看项目,能够看到已经再也不是NO-HEAD了,而是在master主分支上了,说明已经和主分支创建了关联。 
这里写图片描述数据库

进入github中咱们新建的仓库,便可看到已经托管成功的文件了。eclipse

新增文件

在src目录下新增HelloGit的java文件,然后会看到文件名及其上层目录上都带有一个问号,这代表该文件没有被添加到git仓库中。咱们能够进行以下操做将其添加到git本地及远端仓库。右键–>Team–>Synchronize workspace,会打开同步的操做视图,以下: 
这里写图片描述ssh

接着就和上面说过的提交同样,点击右键–>commit–>填写注释–>commit and push,这样新增的文件就提交到本地和远端的git仓库中了。编辑器

在我的分支进行开发

一般咱们须要从master分支上新建我的分支,而后在我的分支上进行开发,最后再将我的分支的修改合并到master分支上。因此咱们能够经过以下操做来新建我的分支并将其同步拉取到本地进行开发使用。 
在github上新建我的分支,以下: 
这里写图片描述工具

打开eclipse,右键–>Team–>pull,会显示以下的界面: 
这里写图片描述 
点击OK,即将远端创建的earl的我的分支同步拉取到本地了。学习

此时咱们须要切换到我的分支进行开发。右键–>Team–>switch to–>other,这时会出现以下界面: 
这里写图片描述 
点击checkout,在下一界面点击checkout as new local branch,然后Finish。这一系列的操做完成后,就切换到咱们的我的分支上了,能够看到项目名后面的分支再也不是master,而是earl了。

分支合并

当咱们在本身的分支下完成了代码的编写,测试确认无误后,须要将其提交到master分支上。一般咱们不直接提交master,而是提交到远端的我的分支下,而后将此分支与master进行merge操做。下面咱们就来看看如何进行我的分支与master分支的合并。 
1. 在项目中新建系统配置文件system.config.properties,向其添加数据库的链接信息,再提交到远端的我的分支下。 
2. 打开github上的远端仓库,选择提交system.config.properties文件的我的分支,点击new pull request按钮,进入以下界面这里写图片描述
能够在此界面看到本次提交的合并请求涉及到哪些文件,这些文件有哪些内容有过改动。填写本次合并请求的描述信息,点击create pullrequest按钮,会出现下面的界面: 
这里写图片描述
确认后点击merge pull request按钮,填写描述,再点击confirm merge按钮,完成合并操做。 
此时切换到master分支,便可看到该配置文件已经合并到其中。

冲突的解决

在实际开发过程当中,经常会遇到多人修改同一文件的状况,此时若是多人向同一文件进行内容修改并想将其合并到master中时,就会出现冲突的状况,若是须要将修改的内容加入到master中,那么就须要将冲突解决后再进行合并。下面咱们来看看如何对冲突的状况进行解决。 
1. 模拟多人修改同一文件的情景。在远端仓库再新建一个分支,也将其拉取到本地。 
2. 在本地的该分支上修改分支合并中涉及到的system.config.properties文件,保存并提交到远端分支。 
3. 在github远端仓库上选择该分支,并点击new pull request按钮,会出现以下界面:这里写图片描述能够看到,当前不能对该分支与master分支进行自动合并,缘由是两个分支之间存在冲突,须要解决冲突后才可进行合并。填写完描述后,点击create pull request按钮,会打开以下界面这里写图片描述此页面用于解决分支见文件的冲突,可使用web编辑器或者命令行来进行冲突的解决,此处咱们使用web编辑器进行修改。 
4. 点击resolve conflicts按钮,打开修改页面,以下:这里写图片描述
咱们进行修改后,点击mark as resolve按钮,将冲突文件标记为合并,而后点击commit changes按钮,将此文件进行提交。提交后便可看到正常合并分支的操做页面,此时按照分支合并的操做来进行便可完成该分支到master的合并。

后记

eclipse基本上已经集成了git命令行的大部分操做,对于不熟悉命令行操做的童鞋来讲,掌握eclipse对git的操做也能够提高本身的工做效率。无论白猫仍是黑猫,抓到老鼠就是好猫。无论命令行仍是GUI,能实现版本管理就是好工具。eclipse对于git的操做还有不少,我将持续更新对其的学习总结。

相关文章
相关标签/搜索