Eclipse中使用Git——快速入门教程

前言

Git简介

git是目前流行的分布式版本管理系统。它拥有两套版本库:本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。git又使用了SHA-1哈希算法确保了在文件传输时变得不完整、磁盘损坏导致数据丢失时能立即察觉到。

Git的基本工作流程的示例图:
在这里插入图片描述
相关命令的作用:

  • git clone:将远程仓库的代码克隆到本地仓库
  • git checkout:切出分支出来开发
  • git add:将文件加入暂存区
  • git commit:将暂存区改变的代码提交到本地代码库中
  • git push: 将本地仓库中的代码提交到远程仓库

Eclipse中的Git插件(EGit)简介

(Eclipse从LUNA版本开始默认支持了GIT客户端)在Eclipse中安装Git插件教程:https://blog.csdn.net/qq_32786873/article/details/80917058

Eclipse中对于git的操作都在项目的右键菜单中的Team、Replace With、Compare With中。
在这里插入图片描述

如果学习了Git,对于Team中的一些选项都能看名字知道其作用。下图标注了常用选项的功能:
在这里插入图片描述

下面是我学习过程中总结的一些操作。

一、把工程初始化为本地库

1.选择工程→右键→Team→Share Project,打开如下页面:
在这里插入图片描述
2.勾选了复选框后进入页面转换成这样:
在这里插入图片描述
执行完上图的操作后,就完成了这个工程的本地库初始化。在这个工程的目录中就多了个隐藏的.git文件夹。
在这里插入图片描述

二、设置本地库范围签名

1.在Eclipse中,点击顶部菜单栏的Window–>preferences–>Team–>Git,进入如下页面:
在这里插入图片描述
2.点击add Entry按钮,然后在如下页面添加用户信息:
在这里插入图片描述
3.添加完成后,点击Apply按钮即完成了本地库签名的配置。
在这里插入图片描述

三、Eclipse中Git图标介绍

1.在Eclipse中,点击顶部菜单栏的Window–>preferences–>Team–>Git–>Label Decorations,就可以看到Git图标介绍:
在这里插入图片描述

四、忽略Eclipse中的特定文件

Eclipse项目中的特定文件是为了管理我们创建的工程的文件,包括了.classpath文件,.project文件,以及.setting目录下的文件。这些文件可以在Navigator视图下查看:
在这里插入图片描述
因为同一个团队中很难保证大家都使用相同的IDE工具。而IDE工具的版本不同时,相关工程的特定文件就有可能不同。如果将这些文件加入到版本控制中,就有可能需要花时间解决在合并时的冲突情况。

下面来设置git忽略Eclipse中的特定文件和target目录(这个目录下包含的是工程编译后的字节码文件)下的文件。

1.首先找到GitHub官网提供的默认的关于Java的配置文件https://github.com/github/gitignore/blob/master/Java.gitignore,然后复制这里的内容。
在这里插入图片描述
这里直接复制了过来:

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

2.然后在.gitconfig文件的目录(默认是~/.gitconfig)下,创建一个Java.gitignore(这里的名字随意)文件,然后粘贴上面的内容,并添加以下几行。

.classpath
.project
.settings
target

在这里插入图片描述
3.编辑~/.gitconfig文件引入上面创建的文件,添加内容如下:

[core]
        excludesfile = C:/Users/LENOVO/Java.gitignore

注意:这里路径中一定要使用“/”,不能使用“\”。

4.然后在Eclipse中打开Window–>preferences–>Team–>Git–>Configuration,查看key是否有core。
在这里插入图片描述
可以看到core中的excludesfile配置。此时重启Eclipse,就能看到上面配置的文件都被Git忽略了。
在这里插入图片描述

五、本地库基本操作

1.选择Windows–>Show View–>Other,搜索Git Staging。这里还可以选择打开Git Reflog等可视化界面。
在这里插入图片描述
点击Open即可打开如下视图,可以很方面的查看工作区和暂存区的文件情况,也可以快速执行提交和推送操作。
在这里插入图片描述

2.将工程添加到暂存区,右击工程名–>Team->add to index,此时工程的图标就变成这样:
在这里插入图片描述
3.提交处在暂存区的工程到本地库,右击工程名–>Team->commit(快捷键ctrl+#),跳出这个页面(Eclipse版本不同,提交页面不一样):
在这里插入图片描述
填写Commit Message后点击Commit按钮,即完成提交到本地库的操作。

其实我们也可以直接执行commit操作,不需要先添加工程到暂存区(index)。

六、将本地工程推送到远程库(GitHub)

1.首先在GitHub中创建有一个仓库,并复制仓库地址。
在这里插入图片描述
2.在Eclipse中,右击工程名–>Team–>Remote–>Push,打开如下页面并填写项目地址和GitHub的账号和密码。
在这里插入图片描述
3.点击Next按钮,进入下面的页面:
在这里插入图片描述
4.然后点Next,在这里确定推送的结果和具体信息。
在这里插入图片描述
最后点击Finish即完成了推送操作。

七、将远程库的工程克隆到本地

下面直接在Eclipse中克隆GitHub中的工程到Eclipse工作区中。

1.顶部导航栏File-->import-->Git-->Projects from git,点击Next进入下一步
在这里插入图片描述
2.选择Git仓库类型:本地库或远程库。这里选择Clone URI。点击Next进入下一步。
在这里插入图片描述
3.填写远程仓库的URI,然后点击Next,选择分支。
在这里插入图片描述
4.选择完分支后,然后就选择本地保存的位置(建议保存在Eclipse的工作目录下),点击Next进入下一步。
在这里插入图片描述
5.选择如何导入这个工程,选择Import as general project
在这里插入图片描述

  • 这里的Import existing Eclipse Projects,Eclipse会扫描项目是否有.project文件。当要导入的项目具有Eclipse工程的特定文件(一个完整的Eclipse项目)时可以选择。

  • import using the New Project wizard,选择该选项代表项目还没被eclipse初始化,选择后点击finish会打开new Project向导,这个向导就和eclipse新创建项目步骤一样。

  • 最后我们选择的Import as general project就是将该项目作为一个普通的项目导入。

最后确认项目名称,然后点击Finish后就完成了导入。项目结构如下:
在这里插入图片描述

因为导入的项目不具有运行环境,当我们需要二次开发时,就需要将该项目转换为Maven项目。

右击选中项目名–>Configure–>Convert to Maven Project
在这里插入图片描述
这样项目就变为由Maven管理的项目了
在这里插入图片描述

八、解决冲突

当我们合并分支时,被合并的分支不是在接受合并的分支最新版本上修改(接受合并的分支有了新的提交),就会产生冲突需要我们手动解决,然后再合并。

另外当我们团队协作时,不是在远程库中最新版本上修改时(团队有人更新了远程库),那么提交时就会出现冲突的情况。此时无法推送,需要我们先pull下来,然后查看并修改冲突的文件。

冲突的文件会用在这里插入图片描述 这个符号进行标识,而冲突的地方会有特殊符号< ,=,>,标识,提示哪些是远程库上的修改,哪些是自己的修改,像这样:

<<<<<<< HEAD
		System.out.println("right");
=======
		System.out.println("left");
>>>>>>> branch 'master' of https://github.com/JustCoding-Hai/testGit.git
	}

当我们冲突的地方比较多时,就可以借助Merge Tool来对比查看。

右击选中冲突的文件->Team->Merge Tool,打开这样的页面:
在这里插入图片描述

在这个页面可以很方便地对比着看冲突的内容,工具栏也提供了许多功能,我们就在左边修改文件来解决冲突。最后保存后上面的特殊符号会被自动删除。

然后我们添加到暂存区(add to index)
在这里插入图片描述
再提交到本地库,最后提交到远程库。

九、分支操作

Git工作流指在项目开发过程中使用Git的方式。Git工作流包括有集中式工作流、GitFlow工作流和Forking工作流。

我们最常使用的是GitFlow工作流,GitFlow工作流是在项目开发过程通过为功能开发、发布准备和维护设立了独立的分支,让发布迭代过程更流畅。

1.分支种类

Git工作流中的分支种类可以包括以下几个类别:

  • 主干分支 master 。主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境 完全一致。
  • 开发分支 develop 。主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
  • bug 修理分支 hotfix 。主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修
    理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。
  • 准生产分支(预发布分支) release 。较大的版本上线前,会从开发分支中分出准生产分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后 可以视情况删除。
  • 功能分支 feature 。为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支 中独立出来。 开发完成后会合并到开发分支。

GitFlow工作流示例图:
在这里插入图片描述

2.具体操作

现在操作TestGit和testGit2项目模拟团队协作时,一个成员添加了分支,另一成员拉取下来并进行合并。

1.创建分支
右击TestGit项目名–》Team–》Switch to–》New Branch,然后填写分支名hot_fix。
在这里插入图片描述
此时就转换为hot_fix分支了。
在这里插入图片描述
然后对Banana类进行修改,添加一行代码。

public class Banana {
	public static void main(String[] args) {
		System.out.println("this is right");
		System.out.println("Edit By branch hot_fix");
	}
}

提交到本地库,再推送该分支到远程库。
在这里插入图片描述

2.切换分支并审查代码

这时团队的另一个成员操作的testGit2项目,就需要pull远程库下来,然后选择:
在这里插入图片描述
在这个页面选择分支
在这里插入图片描述
然后选择Check out as New Local Branch
在这里插入图片描述
这样就完成了获取远程库中的分支并切换。我们确定这个分支的内容没有错误后就可以进行合并操作了。

3.合并分支
首先切换回master分支
在这里插入图片描述
然后执行合并操作
在这里插入图片描述
选择要合并的分支。
在这里插入图片描述
点击Merge按钮即完成合并。

4.删除分支
如果是删除本地分支,选择Team–》Advanced --》delete branch,选中要删除的分支,然后点击OK。
在这里插入图片描述
如果要本地操作删除远程分支,就选择Team–>Remote–>Push,在弹出的界面中点击Next,

在这里插入图片描述在上面页面下拉选择要删除的分支,点击Add Spec按钮,点击finish完成。

十、版本切换与撤销修改

1.版本切换,选中项目名右键,Replace With–>Commit,然后选择一个commit记录
在这里插入图片描述
2.撤销修改,撤销文件的修改,选中文件右键,Replace With–>Head Revision。撤销项目的修改,就选中项目名右键执行相同的操作。
在这里插入图片描述

总结

使用Git应该保持良好的习惯,即每次开发之前先更新,经常提交,不要一次提交很多文件。这样基本上的简单使用就不会出现问题。

最后,上面的相关操作是我看视频教程总结的,因为还没有实际使用经验,所以许多Git技术点没有涉及到。需要详细学习的话可以看一些官方文档哦:

Git学习:Git-Book
EGit插件的使用:EGit/UserGuide
拓展:IntelliJ IDEA下的使用git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章