3.使用git提交项目到开源中国(gitosc)

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 。

原文地址:https://www.cnblogs.com/weiguo21/p/5960402.html