1.系统:Windows7
2.git版本:2.9.2
由于我的git版本是最新版,后面我出现的坑就是最新版本的问题。
3.托管环境:开源中国的码云
. 使用步骤
1.在码云上面创建一个项目(repository)
2.在Windows下安装git,并且在我的项目下create一个repository。
3.创建一个key(如果本地没有),然后将公钥添加到码云上。
4.通过git bash进入repository目录下
5.首先把所有的文件添加到 stage域中,类似于缓存。
$git add -A
表示添加当前目录下的所有文件到stage域中
6.然后commit。
$git commit -m “备注”
表示提交所有文件到本地仓库中,必须加上-m 和备注。
7. 这个时候如果需要和码云上的远程仓库同步,必须先添加remote。要查看当前配置有哪些远程仓库,可以用命令:
$git remote
执行时加上 -v 参数,还可以看到每个别名的实际链接地址。
$git remote -v
下面来添加远程库:格式是:
$git remote add [shortname] [url
]
我把我的码云上面的项目purplecollar远程库添加到本地仓库:
$git remote add origin git@git.oschina.net:louyuting/purplecollar.git
8.这里也就是出错的地方了:把本地仓库的项目上传到git前,由于码云仓库的内容可能有别人提交过了新内容,所以必须要先同步远程仓库到本地即 pull操作。但是pull时报错了:
fatal: refusing to merge unrelated histories
后来在overstackflow上面找到原因,
链接如下:http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories
必须添加一个可选项
--allow-unrelated-histories
才行,这个问题在2.9.0之后的版本才出现的,以前的版本可以正常工作。所以最后命令是:
$git pull origin master --allow-unrelated-histories
把远程的origin仓库的master分支同步到本地,命令执行后后面还要输入备注。这时远程仓库同步到本地就成功了。
9.再就是直接push推送本地项目到远程仓库分支了。格式:
$ git push <远程主机名> <本地分支名>:<远程分支名>
下面是命令:
$git push origin master:master
提交成功。