1.提交地址
使用的是开源中国git仓库 git.oschina.net
在windos环境下使用msysgit.
2.初始化化
username、email初始化
git config --global user.name "Your Name"
git config --global user.email "your@email.com"//配置
3.在git.oschina.net管理页面创建项目
这个过程就不在这里详细说明了,傻瓜化操作
4.提交项目代码
切换本地项目根目录(与.classpath和.project同级),右击然后选择Git Bash,
这是就会弹出Git命令行,并且自动切换到当前所在目录,我们运行
git init
git add . //把该目录下的所有文件全部提交到缓冲区
git commit -m "GitHelloWorld first commit" //说明
将代码提交到HEAD,注意此时还没有提交到服务器,下面将提交
git remote add origin https://git.oschina.net/xxx/xxx.git//具体看项目
git push origin master//可能出现Non-fast-forward问题
5.可能遇到的问题
! [rejected] master -> master (non-fast-forward)error: failed to push some refs to
原因:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。
例如我先在平台上建了一个项目然后添加了一个readme,本地上的跟目录又没有出现,所以造成两边的代码不同步,这样就必须先把平台上的代码pull下来,然后在push上去 。
解决办法
(1).看到提示里面,感觉是本地的代码不是最新的。
所以觉得应该是类似于svn中的,先update一下,再去commit,估计就可以了。
所以先去pull试试:
git pull
结果直接pull好像是不对的
看来需要先搞懂pull的用法。
(2).估计是指定对应的要pull的目标即可。
所以再去试试 pull origin:
git pull origin
(3).使用 git pull --rebase master
git pull --rebase origin master
(4).接着再去:
git push origin master
然后我们可以看到代码已经提交上去了
以上操作基于oschina,win7 操作
6.使用ssh公钥提交,避免每次需要属于密码
(1).打开gitbash 或 gitshell执行
ssh-keygen
(2).提示输入保存key的位置,直接回车
[plain] view plain copy print?
Enter file in which to save the key (/c/Users/{Your_User_Name}/.ssh/id_rsa):
(3).会提示输入ssh 密码,直接回车两下
[plain] view plain copy print?
Created directory '/c/Users/{Your_User_Name}/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
(4).打开目录:
[plain] view plain copy print?
Created directory '/c/Users/{Your_User_Name}/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
(5).打开id_rsa.pub文件,复制里面的key
(6). git.oschina.net ->SSH keys -> 添加key -> 粘贴刚才复制的key
(7).打开gitbash 或 gitshell clone代码
[plain] view plain copy print?在CODE
git clone --recursive(如果存在submodule的话) [你的git地址]
(8).测试一下该SSH key
在git Bash 中输入以下代码
$ ssh -T git@github.com
当你输入以上代码时,会有一段警告代码,如:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
当然如果你密码输错了,会再要求你输入,知道对了为止。
注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。
密码正确后你会看到下面这段话,如:
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。