准备工做:
java
目的:eclipse使用Git提交本地项目,提交至远程github上jquery
eclipse版本:eclipse4.5 64位
git
jdk版本:jdk-1.7 64位
程序员
项目类型:maven web项目github
备注:eclipse高版本自带git插件,而低版本则需本身安装git插件,这里使用eclipse高版本,低版本安装git插件这里不进行介绍。web
eclipse使用git提交项目有2种方式:一种是git命令窗口,另外一种是eclipse自带git插件(跟svn插件同样使用)面试
1、使用git命令窗口提交项目ajax
1.首先官网下载git并安装,而后配置用户信息(任意目录下右击“Git Bash Here”打开git命令窗口)spring
git config --global user.name "you name"shell
git config --global user.email "you@youdomain.example.com"
2.登陆github官网,注册我的github帐号,建立SSH Key 用于将本地项目上传至远程github上
建立SSH Key:ssh-keygen -t rsa -C "youemail@example.com"
把生成的公钥复制到github上,具体操做参考:http://blog.csdn.net/u014079773/article/details/49555989 中“六:添加远程仓库”
3.建立本地仓库如“testGit”,而后选中该本地仓库右击“Git Bash Here” 执行以下命令:(注意仓库名称用英文)
首先在github上建立一个仓库,仓库名为“testGit”(远程仓库名必须与本地仓库名一致,不然提交失败,报仓库不存在),建立远程仓库具体操做参考:
http://blog.csdn.net/u014079773/article/details/49555989 中“六:添加远程仓库”
在“testGit”工程上右击“Git bash Here”输入以下命令:
git init 初始化仓库“testGit”即把这个目录变成Git能够管理的仓库,在该目录下会生成一个隐藏文件“.git”
touch .gitignore git提交忽略没必要要的文件夹或文件(在本地仓库中生成一个隐藏文件“.gitignore”,文本编辑器打开设置要忽略的文件或文件夹如maven项目的target文件夹)
git add . 添加全部文件(add与“.”之间有空格,不然不识别的语法,提交全部文件)
git commit -a -m 'version 1.2' 提交全部修改文件
git remote add origin git@github.com:somenone/testGit.git 提交远程仓库(用SSH的形式,关联一个远程仓库)
git push -u origin master 推送远程仓库
备注:因为远程库是空的,咱们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在之后的推送或者拉取时就能够简化命令。
以后执行就是 git push origin master
到此咱们本地项目已经提交完成,登陆远程github查看发现上传成功。
2、使用eclipse自带插件提交项目
1.自带git插件进行配置咱们的用户名和密码,便是本身github注册用户。windows--perferences--Team--Git--Configuration
2.eclipse生成SSH2 key:windows -- perferences--General--Network Commection--SSH2--key management--General RSA Key
而后把生成的SSH Key 注册到github上,登陆github--settings--add把上诉生成的SSH Key粘贴便可。
备注:该方法就至关于命令行方法,在公司电脑和本身笔记本电脑把生成的SSH Key粘贴便可,能够添加不少个SSH Key
查看生成的秘钥是否在在默认系统盘(C盘),有些人奇葩会安装在其余盘。
而后把生成的公钥粘贴到github上:(该步不能省略,必定要用命令检查下生成的公钥是否正常)
若该步没有操做,执行命令:$ ssh -T git@github.com报这样的错误:
3.本地建立项目如“testGit”和本地git仓库
打开eclipse,建立项目“testGit”里面随便写点什么,而后"File"--"Team"--"Share Project"--"Git"--"next"
如上图所示到此该项目“testGit”就变成git仓库,到workspace下打开该项目,发现多了一个隐藏文件“.git”,但该项目处于untracked状态(文件夹中的符号”?”表示),下面咱们须要提交代码到本地仓库,以下图:
首先咱们要忽略没必要要的文件如maven项目target文件夹
配置.gitignore来排除这个文件夹,打开Navigator窗口,在project根目录中添加.gitignore文件,将须要排除控制的目录写入.gitignore文件中:
这样git提交就过滤了一些没必要要的文件,如果要过滤其余文件夹或文件直接在“.gitignore”中写,具体写法参考:
http://blog.csdn.net/u014079773/article/details/51602344
而后提交修改的文件必须先add而后commit故经过Team -> Add to index能够将文件加入git索引,进行版本监控:
如果不想添加到版本库中则“Remove from Index”该命令前提是为未commit,如果已经commit那么该命令不起做用。添加成功后文件状态发生变化由以前的“?”变成“*”:
细节:EGIT中只要Commit就能够默认将untracked的文件添加到索引再提交更新,不须要分开操做
最后执行commit:(首次提交后,会自动生成master分支)
在注释中输入提交信息:
到此项目“testGit”就本地提交成功。接下来咱们把本地项目提交至远程远程仓库github上:
首先在github官网上登陆并建立仓库“testGit”(该名称与本地仓库名称一致,表示本地仓库提交到远程仓库并与之关联),建立完毕后执行以下操做:
进行以下设置:
下拉框选择以下:
而后进入以下截图操做:注意:“Force Update”如果勾选,表示覆盖提交
点击“next”出现以下图所示:
最后点击finis以下图,登陆github查看是否上传成功。
出现以下截图表示上传成功。
补充:
1.如何提交已经修改的项目,已修改的项目文件夹出现“*”号标志,选择带“*”号标志的文件右击“Team”--"commit"
点击“commit and push”表示提交并推送,即把修改的文件提交至本地,推送到远程仓库。
2.如何恢复未提交的修改文件:
3.实际开发中提交项目只须要提交以下三个文件便可:
4.如何用命令查看,修改remote url:
若是你在链接github仓库的时候,用的https协议的地址,还须要切换为git协议
能够用git remote -v 查看你当前的remote url
$ git remote -v
origin https://github.com/love-somnus/spring.git (fetch)
origin https://github.com/love-somnus/Spring.git (push)
能够看到是使用https协议进行访问的。
这时,你可使用 git remote set-url 来调整你的url。
git remote set-url origin git@github.com:love-somnus/Spring.git
完了以后,你即可以再用 git remote -v 查看一下。至此OK。
5.查看本地SSH Key是否正常:
$ ssh -T git@github.com
# Attempts to ssh to github
出现以下信息表示设置成功:
Hi username! You've successfully authenticated, but GitHub does not # provide shell access.
备注:
1.使用eclipse插件提交项目至远程必须先本地提交,最后提交至远程仓库
2.查看谁提交了代码,项目右击“team”--“show history”
3.查看提交记录:Team--Show in History (命令行为:git log)
4.撤销恢复修改:Replace With--HEAD Revision (命令行为 git checkout head .)
5.更新项目远程仓库:Team-- Pull (命令行:git pull https://github.com/someone/xxx.git)
6.查看哪些文件被修改了:Team--Synchronize Workspace
7.提交项目时注意忽略没必要要的文件或文件夹如maven项目下的target文件夹忽略
8.git提供了多重协议用来链接git服务器,其中最多见的就是https和git,git就是能够免用户名和密码的,不一样的协议,项目链接地址是有区别的,以下
https形式:https://github.com/love-somnus/Spring.git git形式:git@github.com:love-somnus/Spring.git
奋斗的镇屌: 写的很好。通俗易懂
韬_: 受益了
一个水饺: checkbox name不该该是一个数组吗
Ma_Liang_Plus: 能提供源码吗??
guicaizhou: .setAudience(Audience.tag(userId)) //推送目标的别名这个user...
qq_39457283: js 页面的end ajax 那块应该写成 }); 吧
tianluye: @lixumolin:你是对的,3Q
wangxiaoming: 不行, 此方法
qcg_qcg: 使用https协议怎么传输?
qcg_qcg: 不知道博主是如何把只是整理的这么细致的?