1、gitlab的使用Git介绍Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git - 版本控制工具Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git最初被Linus Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等 作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序
2、转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。 GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。
3、已经有人将GitHub称为代码玩家的MySpace。GitLab - 基于Git的项目管理软件GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Git和SVN的区别:svn以服务器为中心的:每个开发者都直接连在中间服务器上, 本地修改,然后commit到svn服务器上。这种做法看似完美,但是有致命的缺陷:1. 开发者不能本地跟踪代码版本。 所有的信息都是在服务器上。 你把本地的代码改了很多,但是又不能提交。通常,本地只能缓存一个版本。对于小项目无所谓, 但是项目一复杂,人员多就麻烦了。 通常你本地的代码都全是红色的。自己都不知道今天修
4、改了什么, 有哪些修改是真正应该提交给svn的。2. 因为第一点,一旦离开服务器, 程序猿将无法正常工作。 因为本地不能跟踪代码版本。 你的(几乎)任何操作都必须连上服务器。比如, show log, blame,show history等等。3. 中央服务器压力过大。 因为每个人都必须把代码提交到服务器,并且做daily build。4. 对于大型项目, svn几乎不可用。 例如linux内核项目, 开发者何止几万? 都直接提交给svn服务器的话还不乱套了。5. 对于个人的私人项目而言(或者对于小公司的项目), 不用版本控制当然不行,但是为了用版本控制而专门假设svn服务器有有点舍不得。Gi
5、t的基本模型一.软件下载Git:http:/git-TortoiseGit/ TortoiseGit中文语言包:http:/download.tortoisegit.org/tgit/1.8.16.0/二.软件安装Git 及TortoiseGit都采用默认安装,只要一直next就可以了。安装成功后,右键鼠标将出现如下图所示:三.基础配置1.如果下载了中文包,配置修改版本语言为中文。右键鼠标-TortoiseGit(T)-setting2.建立版本库,注意不要在图二的选项上打钩 3.clone库a.右键文件夹-Git拉取,弹出入下图弹框,选择“管理远端”b.有两种访问方式http和sshb-1使
6、用http时,直接输入网页中的http地址即可:确定后,下载代码,在弹出框中输入账号密码,下载完成b-2.使用ssh方式时,首先需要生成密钥并且在网页中配置:生成密钥工具:使用安装TortoiseGit时安装的PuTTYgen,打开软件后,点击Generate鼠标需要在红框处不停移动,才会生成密钥。生成的密钥配置在网页中,并保存到本地:配置完成后就可以不用输入账号密码来拉取代码了。四基本操作1.按照之前的步骤创建版本库2.进入文件夹,右键选择Git Bash Here,输入 git clone http:/git.guahao- ,回车后输入账号密码即可下载代码,入下图所示。或者可以按照之前的
7、两种方式下载代码。3.本地创建分支。和svn一样,直接创建分支,4.切换分支,选择你要切换的分支5.修改完代码后,首先要提交到分支上然后再通过推送分支,推送到服务器上6.合并tag并不能直接操作,需要在分支上先合并主干代码,然后上传到服务器上,创建的tag根据分支来创建tag(tag不能随意更改,类似于稳定发布版本。所以要修改代码,必须要重新合好分支,再由分支建新tag)7.同样主干代码也需要在主干上把该分支代码合并再提交8.部分指令新建分支:git branch branch_name 和 git checkout b brance_name 查看所有分支:git branch -a删除分支
8、:git branch -d branch_name 强制删除分支:git branch -D branch_name 重命名本地分支:git branch -m devel develop删除远程分支:git push origin -delete devel (1.7.0以后)向远程推送分支:git push origin myfix 向远程推送分支并修改远程分支名:git push origin myfix:server fix查看没有合并的分支:git branch -no-merged问题与解答:1.新建项目时,各个选项是什么意义namespace这个选择是用来决定这个工程所属的,可以选User为你自己。或者选择组,这个会影响到后面工程的url。例如选择了组去创建创建工程,那么这个工程就会在这个组内可见。 Visibility Level权限等级分三种:Private 私有的,只有你自己或者组内的成员能访问Internal 所有登录的用户Public 公开的,所有人都可以访问更新代码失败如何处理?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1