平常开发项目都在IDE开发工具上进行,如java项目开发在eclipse上进行。代码如果直接在eclipse上提交到本地仓库,再提交到远程服务器GitHub上。这给开发人员将带来极大的方便。
类似于eclipse上通过svn提交到远程服务器。由于eclipse开发工具自带插件git,因此我们可以直接拿来使用。
下面介绍如何配置及使用git来提交代码到本地仓库及推送到远程服务器。
一、配置用户名和密码
自带git插件进行配置我们的用户名和密码,即是自己注册github的用户和密码。windows--perferences--Team--Git--Configuration
其中,.gitconfig配置可理解为maven配置仓库的setting文件。
二、eclipse上生成SSH2 key,GitHub上配置SSh key ,用于SSh方式提交代码(备注:如果采用的是https+用户名和密码 提交方式,该步骤二可不参考)
eclipse生成SSH2 key:windows -- perferences--General--Network Commection--SSH2--key management--General
然后把生成的SSH Key 注册到github上,登录github--settings--add把上诉生成的SSH Key粘贴即可。
备注:该方法就相当于命令行方法,在公司电脑和自己笔记本电脑把生成的SSH Key粘贴即可,可以添加很多个SSH Key
查看生成的秘钥是否在在默认系统盘(C盘),有些人奇葩会安装在其他盘。
然后把生成的公钥粘贴到github上:(该步不能省略,一定要用命令检查下生成的公钥是否正常)
生成公钥在github上注册成功:
若该步没有操作,执行命令:$ ssh -T git@github.com报这样的错误:
三.使用git提交项目代码
右键项目"Team"--"Share Project"--"Git"--"next"
如上图所示到此该项目“testGit”就变成git仓库,到workspace下打开该项目,发现多了一个隐藏文件“.git”,(先在GitHub远程仓库上建立项目仓库,然后再克隆到本地)但该项目处于untracked状态(文件夹中的符号”?”表示),下面我们需要提交代码到本地仓库,如下图:
首先我们要忽略不必要的文件如maven项目target文件夹 (提交代码直接过滤不必要提交的东西,当然也可以不配置,提交的时候自己去选择要提交的东西)
配置.gitignore来排除这个文件夹,打开Navigator窗口,在project根目录中添加.gitignore文件,将需要排除控制的目录写入.gitignore文件中:
这样git提交就过滤了一些不必要的文件,若是要过滤其他文件夹或文件直接在“.gitignore”中写,具体写法参考:
http://www.cnblogs.com/jedjia/p/git_gitignore.html
然后提交修改的文件必须先add然后commit故通过Team -> Add to index可以将文件加入git索引,进行版本监控:
若是不想添加到版本库中则“Remove from Index”该命令前提是为未commit,若是已经commit那么该命令不起作用。添加成功后文件状态发生变化由之前的“?”变成“*”:
细节:GIT中只要Commit就可以默认将untracked的文件添加到索引再提交更新,不需要分开操作
最后执行commit:(首次提交后,会自动生成master分支)
在注释中输入提交信息:
到此项目“testGit”就本地提交成功。接下来我们把本地项目提交至远程远程仓库github上:
使用https提交到远程仓库,进行如下设置:
如使用ssh提交,默认是使用ssh提交,eclipse生成的公钥要注册到GitHub上才能使用(参照上述eclipse生成的公钥注册GitHub)。
填写登录GitHub的用户名和密码
怕忘记可以设置密码提示:
后面操作同使用https提交,都是一样的。使用ssh提交,就是方便下次不用再输入提交地址及用户名和密码。
下拉框选择如下:
然后进入如下截图操作:注意:“Force Update”若是勾选,表示覆盖提交
点击“next”出现如下图所示:
最后点击finis如下图,登录github查看是否上传成功。
出现如下截图表示上传成功。
四、如何恢复未提交的修改文件: