前言
本人是个两年小程序猿,Git新手,之前一直在用Svn,前几天才接触的Git,
才发现这么好用的版本控制工具竟然现在才接触,
真是惭愧惭愧,汗颜汗颜。
这里首先要感谢廖雪峰前辈的Git教程。
在学Git的时候我在网上看了好多教程,但是感觉对我这样的初学者都不够简单,
有时候照着做都会出错。
当我看了L大大的教程之后不禁豁然开朗,很快一些简单功能就掌握了,熟练度还是要靠慢慢使用。
然后我不禁想,Svn在Eclipse上面都有subclipse插件,具有可视化界面而且还有不错的汉化,
为什么git没有呢。
只是对于用惯了SVN的童鞋这淡疼的Egit还是不能让我们快速上手Git,没有汉化还是其次,
只是Git和SVN的关键字实在是有差距。
这里要提醒一句,本文针对的只是急于用上git的童鞋,或者是对git有了一定的了解,
只是想在eclipse上更方便的使用git的群体。
在学习git中最好的方法还是命令行学习,
这会让你对git的原理和流程有更加清晰的认识,
这样你只需要大致的看一下我的文章就会很容上手egit,
而且在使用Egit之中遇到常见的错误也会很容易解决。
附上L大大Git的教程地址:
廖雪峰的Git教程
各位可以看这个教程,其中git的介绍以及和svn的对比我就不多说了,如果有收获也请支持一下。
正文
1.在oschina上创建远程仓库
我们从头开始。
开始的时候我们只有一个Eclipse(我这里只有Spring Tool Suite,其实跟Eclipse没什么区别,只是多了一些插件),
以及其中集成的Egit插件,没有远程服务器,没有本地服务器(当然还有JDK)。
首先我们以oschina(git.oschina.net)作为我们的远程仓库(github也可以),
用来托管我们的代码。
这就需要我们在对应的网站上面注册一个账号,这里我用oschina做示范。
登陆之后就是图片的样子。我们点击最上面的加号,就是图片中1的地方,然后点击新建项目。
添加项目名字,这里写的是gitlearn,然后将”使用readme.md文件初始化这个项目”去掉,
我们不需要这个介绍文件。
而且加上它可能会出现错误,后面我们会讲如何解决它,然后点击创建进入下一步。
之后页面会跳转到一个git的介绍页,这里是教你如何用命令行向远程仓库完成第一次提交的。
这里需要注意有两个远程地址https方式和ssh方式,默认的是https方式,我们点击红圈复制它
(有些浏览器不能复制的请手动复制),接下来会用到。
2.创建本地仓库
点击eclipse菜单栏windows->preference在里面找到Team->git->Configuration这里我们需要配置git的基础环境。
点击add entry在里面添加
user.name和user.email 分别填入你的email和名字
(对应命令行:git config –global user.name “你的名字”;
git config –global user.email “你的邮箱”;)。
接下来我们先在Eclipse上面创建一个随便什么项目,我这里弄了一个maven的项目,
并创建了一个类cn.wb.gitlearn.SimpleFile.java
接下来我们先要把这个项目提交到本地仓库,然后在推送到远程仓库。我们一步一步来。
在项目上右键,选择Team->Share Project…
然后选择Git->next
然后勾选红圈位置,大概意思就是在项目目录下创建一个git仓库
然后点击你的项目,注意第一次到这的时候前面的checkbox是选不中的。。。
不要怀疑是不是你电脑坏了。
然后点击下面的`create repository`就完成了本地仓库的创建
(其实对应的就是命令行中的一句命令:`git init`)。
然后点击`finish`。
从这里开始Eclipse上面的项目就和本地仓库连接在一起了,有点像svn上面连接到了远程服务器,
而git是可以在本地运行的,所以这里是连接到本地仓库。
这时候项目文件夹会出现.git隐藏文件,出错的童鞋可以尝试删除它来回到开始状态这种笨办法。。
但是这样做会使你本地仓库所有记录全部丢失,项目只会保存在删除时的状态。所以请慎重再慎重。
然后我们看当前的项目是什么样子的
我们发现那个“>“右尖括号是不是和svn很像?他是提示你当前和本地仓库存在差异的地方。
因为我们刚刚创建本地仓库,它里面没有任何数据,所以会有提示。
3.将文件提交到本地仓库
接下来我们按Ctrl键依次点击需要提交的文件或文件夹然后从其中一个选中位置右键点击
Team->Add to Index
(这里似乎在navigator视图更方便)。
这一个步骤意思是将这些文件夹添加到本地仓库缓存区(对应命令行: git add src –A;git add pom.xml;)
然后右键点击项目选择Team->Commit
之后就到了这个页面,上面是让你输入本次提交附加的注释,帮助你记忆每一次提交都做了什么。
下面是你想要提交哪些文件。我漏选了一个pom.xml文件,所以我把他也勾上了。
然后点击Commit(对应命令行: git commit –m “初始化数据”)。
4.将本地仓库推送到远程仓库
现在项目就已经提交到本地仓库了。接下来我们要做的是把他提交到oschina远程仓库上。
还记得刚才复制的https方式的地址么,马上要用到了。
右键项目,选择Team->Remote->Push…
将地址复制到URI上,下面输入你的oschina账号和密码,然后点击下一步
依次选择SourceRef、DestinationRef、AddSpec。这里选择了第一个SourceRef第二个
DestinationRef就已经自动帮我们选择了,直接AddSpec就可以了。
之后点击finish提示成功后就完成了向远程仓库推送的步骤
(对应命令行:git push –u origin master)。
然后回到我们oschina的网页,刷新看看,是不是已经有了我们刚刚推送的文件呢?
5.将远程仓库抓取(克隆)到本地仓库
既然实现了从本地仓库推送到远程仓库,反过来就一定有从远程仓库抓取(也可以叫克隆)到本地仓库。
打开Eclipse,点击右上角红圈位置的图标,找到里面的Git选项,双击打开。
之后会出现这样的界面,这个面板是Egit的重要页面(我们姑且叫它主界面),
很多操作我们都需要在这里进行。
点击上面三个红圈中间的红圈图标(也就是对应下面的Clone a Git repository),
然后选择Clone URI(有的版本可能会不用选择),然后下一步。
在URI中将我们https方式的地址粘贴到这里,
在下方user和password输入框里输入我们oschina的账号和密码
,然后点击finish。
之后页面会变成这个样子
我们不用管其它的,打开Working Directory按右键选择import Projects…
之后根据提示就可以将远程仓库克隆到本地了。
我这里是maven项目,所以我在提示中选择了import as a general project ,
然后再将项目转换成maven项目,然后再maven update就完成了。
如果是Dynamic Web Project我记得应该是选择Import using the New Project wizard 。
试试看是不是成功了呢?
(不要吐槽我的排版,我尽力了)--未完待续