git使用oschina托管代码

1、git代码托管html

  一、github官网,默认通常是放在这,可是该网站不是国内的,网速比较慢而且有时候连不上,私有库是须要收费的。git

  二、oschina,这个网站是私有公有库都是免费的,网址是:https://gitee.com。github

  三、本身搭一个git服务器,通常只能在局域网中使用,和svn相似。ruby

2、oschina托管操做(码云)服务器

和GitHub相比,码云也提供免费的Git仓库,而且,免费版本还包含私有库。此外,还集成了代码质量检测、项目演示等功能。对于团队协做开发,码云还提供了项目管理、代码托管、文档管理的服务,5人如下小团队免费。ssh

  生成秘钥:ssh-keygen分布式

  找到生成秘钥的文件,复制里面的内容。svn

使用码云和使用GitHub相似,咱们在码云上注册帐号并登陆后,须要先上传本身的SSH公钥。选择右上角用户头像 -> 菜单“修改资料”,而后选择“SSH公钥”,填写一个便于识别的标题,而后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:学习

gitee-add-ssh-key

点击“肯定”便可完成并看到刚才添加的Key:测试

gitee-key

若是咱们已经有了一个本地的git仓库(例如,一个名为learngit的本地库),如何把它关联到码云的远程库上呢?

首先,咱们在码云上建立一个新的项目,选择右上角用户头像 -> 菜单“控制面板”,而后点击“建立项目”:

gitee-new-repo

项目名称最好与本地库保持一致:

远程库的地址:

 

 

而后,咱们在本地库上使用命令git remote add把它和码云的远程库关联:

git remote add origin git@gitee.com:liaoxuefeng/learngit.git 

以后,就能够正常地用git pushgit pull推送了!

若是在使用命令git remote add时报错:

git remote add origin git@gitee.com:liaoxuefeng/learngit.git fatal: remote origin already exists.

测试是否链接成功: ssh -T git@git.oschina.net

出现相似于上面的提示表示链接成功。

 

这说明本地库已经关联了一个名叫origin的远程库,此时,能够先用git remote -v查看远程库信息:

git remote -v
origin    git@github.com:michaelliao/learngit.git (fetch) origin git@github.com:michaelliao/learngit.git (push) 

能够看到,本地库已经关联了origin的远程库,而且,该远程库指向GitHub。

咱们能够删除已有的GitHub远程库:

git remote rm origin

再关联码云的远程库(注意路径中须要填写正确的用户名):

git remote add origin git@gitee.com:liaoxuefeng/learngit.git 

此时,咱们再查看远程库信息:

git remote -v
origin    git@gitee.com:liaoxuefeng/learngit.git (fetch) origin git@gitee.com:liaoxuefeng/learngit.git (push) 

如今能够看到,origin已经被关联到码云的远程库了。经过git push命令就能够把本地库推送到Gitee上。

可能push会出现以上的问题。

经过如下命令能够解决,具体参考:https://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html

git pull --rebase origin master

 

有的小伙伴又要问了,一个本地库能不能既关联GitHub,又关联码云呢?

答案是确定的,由于git自己是分布式版本控制系统,能够同步到另一个远程库,固然也能够同步到另外两个远程库。

使用多个远程库时,咱们要注意,git给远程库起的默认名称是origin,若是有多个远程库,咱们须要用不一样的名称来标识不一样的远程库。

仍然以learngit本地库为例,咱们先删除已关联的名为origin的远程库:

git remote rm origin

而后,先关联GitHub的远程库:

git remote add github git@github.com:michaelliao/learngit.git 

注意,远程库的名称叫github,不叫origin了。

接着,再关联码云的远程库:

git remote add gitee git@gitee.com:liaoxuefeng/learngit.git 

一样注意,远程库的名称叫gitee,不叫origin

如今,咱们用git remote -v查看远程库信息,能够看到两个远程库:

git remote -v
gitee    git@gitee.com:liaoxuefeng/learngit.git (fetch) gitee git@gitee.com:liaoxuefeng/learngit.git (push) github git@github.com:michaelliao/learngit.git (fetch) github git@github.com:michaelliao/learngit.git (push) 

若是要推送到GitHub,使用命令:

git push github master

若是要推送到码云,使用命令:

git push gitee master

这样一来,咱们的本地库就能够同时与多个远程库互相同步:

multi-remote

码云也一样提供了Pull request功能,可让其余小伙伴参与到开源项目中来。你能够经过Fork个人仓库:https://gitee.com/liaoxuefeng/learngit,建立一个your-gitee-id.txt的文本文件, 写点本身学习Git的心得,而后推送一个pull request给我,这个仓库会在码云和GitHub作双向同步。

问题:

相关文章
相关标签/搜索