您的位置:首页 > 其它

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

2016-10-14 14:43 246 查看
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 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: