Git版本控制:Gitlab及Coding.net的使用
http://blog.csdn.net/pipisorry/article/details/50709014
Gitlab介绍
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。在线DEMO
注册gitlab
出错:There was an error with the recaptcha code below. Please re-enter the code:
Because recaptcha is provided by google, but it is blocked in China, so you probably need VPN in order to get the code.
recaptcha就是这个验证码,类似12306,需要FQ才能看到。
之后就可以看到gitlab相关的功能了。
在gitlab上创建一个项目
安装git并配置本地git[Git版本控制教程 - Git本地仓库]
配置远程设置[Git版本控制教程 - Git远程仓库]
这样就可以通过git push -u origin master提交代码了
Coding的介绍和使用
国内较好的代码托管平台有coding.net等
初始操作
注册coding.net Git 代码托管 - Coding.net
coding上创建项目
可以创建私人项目和公有项目
私人项目不仅保密还有更多功能,如上传文件到文件夹中的功能。公有项目只能将word文档也加入到git管理中来上传文件。不过私有项目只能创建10个,多了要付费。
安装git
配置本地git并提交
pika:/media/pika/files/mine/python_workspace/RecSys/TianChi$
$ git init
$ git config --global user.name "pipilove"
$ git config --global user.email "***@126.com"
$ git add .
$ git commit -m 'init commit'
远程ssh-rsa公钥配置
$ssh-keygen -t rsa -C "***@126.com"
设置SSH-RSA公钥内容:账户》ssh公钥》填上任意Title(如pipi ubuntu) > 在Key文本框里粘贴id_rsa.pub文件(pika:~$ cat .ssh/id_rsa.pub )的内容 > “Add Key”
$git remote add origin git@gitlab.com:***.git #git地址在项目>代码>SSH 方式访问仓库:copy
Note: git变更项目地址: git remote set-url origin git@***.git; 查看git提交和拉取地址: $ git remote -v; 查看git配置:git config --list
$git push -u origin master #这样就可以通过git push -u origin master提交代码了
多分支处理
$git branch dev
$git merge dev
$git checkout dev
$git push origin dev
这时最好就处在dev分支上进行代码开发
添加项目好友:成员》项目成员添加+》马上邀请好友》你的专属邀请链接》发给项目其它成员进行注册。成员注册完成后会自动关注项目管理者,项目管理者要在成员添加的粉丝中添加这个好友就可以了。
如成员已注册直接在 成员》项目成员添加+》添加邮箱搜索再添加进来就可以了。
协作者操作
注册coding.net:上面项目管理者发的注册链接。
等待项目所有者添加你到上面创建的项目中
安装git
远程ssh-rsa公钥配置:
$ssh-keygen -t rsa -C "***@126.com"
设置SSH-RSA公钥内容:coding账户》ssh公钥》填上任意Title(如pipi ubuntu) > 在Key文本框里粘贴id_rsa.pub文件(pika:~$ cat .ssh/id_rsa.pub )的内容 > “Add Key”
$git remote add origin git@gitlab.com:***.git #git地址在项目>代码>SSH 方式访问仓库:copy
创建一个代码存放目录,再拉取运程coding项目中已存在分区:git pull origin dev
上传限制
注意:coding上传文件大小没有100m限制,不过每个免费的项目代码加起来不能超过1G。超过1G会报错:
Coding.net Tips : [Repo size exceeded quota : 1024M. See https://coding.net/upgrade for more details.]
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Coding.net部署公钥
如果只是想让别人看而不是上传,可以使用部署公钥。部署公钥用以部署项目,只拥有只读权限,且不能跟个人公钥通用。
部署公钥在:项目》设置》部署公钥》新建》填上任意Title(如pipi ubuntu) > 在Key文本框里粘贴id_rsa.pub文件的内容 > “Add Key”
git push会出错:$git push -u origin master
Coding.net Tips : [Deploy key is not allowed to push!]
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Deploy keys only have read-only access to the repo. If you wish to push, you need to add an SSH key to your user and make sure git is using that key, not the deploy key.
from: http://blog.csdn.net/pipisorry/article/details/50709014
ref:
Git版本控制:Gitlab及Coding.net的使用的更多相关文章
- Git版本控制及gitlab私有仓库
Git版本控制系统 版本控制系统简介 版本控制系统是一种记录一个或若干个文件内容变化,以便将来查阅特定版本内容情况的系统 记录文件的所有历史变化 随时恢复到任何一个历史状态 多人协作开发 常见版本管理 ...
- Git与GitLab
Git与GitLab 一.Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个 ...
- 七 Git版本控制
把环境准备 主机名 node1 ip地址10.0.0.11 node2 10.0.0.12 node3 ...
- 利用Git版本控制管理你的项目
准备工作 项目创建完成后,将项目版本控制起来,今后每个版本的迭代会非常清楚,同时也有助于项目进行协同开发. 还有一个十分重要的问题是:项目上线后,线上的运行的程序的配置与线下进行测试的配置文件是不一样 ...
- python后端面试第六部分:git版本控制--长期维护
################## git版本控制 ####################### 1,git常见命令作用 2,某个文件夹中的内容进行版本管理:进入文件夹,右键git bash 3, ...
- Jenkins持续集成git、gitlab、sonarqube(7.0)、nexus,自动化部署实战,附安装包,严禁转载!!!
导读 之前用的都是SVN,由于工作需要用到Git,求人不如求己,技多不压身,多学一项技能,未来就少求别人一次,系统的学一遍,自己搭建一整套环境,自动化部署(自动发版),代码质量检测等等(为啥不用doc ...
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- Git版本控制与工作流
基本概念 Git是什么? Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更 ...
- Git版本控制教程
Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...
随机推荐
- easyui datagrid 得到冻结列跟非冻结列
var head = $('#ClassManagement').datagrid("options").columns; var fhead=$('#ClassManagemen ...
- 深入理解Java类加载器(1):Java类加载原理解析
1 基本信息 每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载.Java的类加载机制是技术体系中比较核心的 ...
- HybridAPP开发框架Ionic+AngularJS+Cordova搭建
Ionic Ionic是一个新的.可以使用HTML5构建混合移动应用的用户界面框架,它自称为是"本地与HTML5的结合".该框架提供了很多基本的移动用户界面范例,例如像列表(lis ...
- springMVC源码解析--HandlerMethodArgumentResolverComposite参数解析器集合(二)
上一篇博客springMVC源码分析--HandlerMethodArgumentResolver参数解析器(一)中我们已经介绍了参数解析相关的东西,并且也提到了HandlerMethodArgume ...
- 让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数
本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客wing的地方酒馆 上一节说到,kotlin可以省去getter,se ...
- android MultiDex multiDex原理(一)
android MultiDex 原理(一) Android分包MultiDex原理详解 转载请注明:http://blog.csdn.net/djy1992/article/details/5116 ...
- Mac小技巧:强制退出程序的六种方法
原帖地址: http://www.cnbeta.com/articles/175447.htm 1.使用键盘快捷键强制退出处于活跃状态的Mac程序 快捷键:Command+Option+Shift+E ...
- 大数据基础知识问答----hadoop篇
handoop相关知识点 1.Hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速 ...
- 源码篇——AsyncTask机制
AsyncTask new AsyncTask<String,String,String>(){ // 运行在主线程中,做预备工作 onPreExecute(){ } // 运行在子线程中 ...
- java之IO流详解(二)
好了,昨天讲了字节流,现在我们就来讲字符流吧... 字符流可以这样理解,字符流 = 字节流 + 编码表,目的是为了更好的操作中文字符(注:字符流只可以可以操作字符类型的文件,不能操作影音图像文件,要操 ...