gitlab使用说明
1、换行符兼容
安装完git后,立即在命令行中执行:git config --global core.autocrlf false
否则,git默认会帮我们根据当前系统修改换行符的风格。
建议使用的浏览器:
chrome
firefox
safari 7+
Opera
IE 10+
git所须软件(Windows):
msysgit
tortoiseGit
注意,tortoiseGit要选用与你操作系统相同的位数。比如32位系统要用32位版本。64位同理
用Linux的同学自行安装git即可
请登陆192.168.32.10,注册帐号。限制必须为@jovision.com的邮箱可以注册。注册后需要确认邮件。(尚维同事请使用VPN访问)
在命令行执行ssh-keygen -t rsa -C "[email protected]",一路回车,即可生成公钥和私钥。公钥文件后续为.pub。它们位于用户目录/.ssh/目录中。(注意:如果是Windows中,命令行这样打开:开始-程序-Git-Git Bash)
登陆后,点击 右上角profile setting->左边列表中点击SSH Keys。(此时,点击generate it,有说明)。点击 Add SSH Key,打开.pub文件,复制其内容,拷贝进去,顺便随便取个名字,点Add Key保存即可
开始-程序-TortoiseGit-PuttyGen 打开程序,点击Load,选中刚才生成的私钥文件(没有后缀名的那个),会提示Successfully... 等信息。点击Save private key保存成私钥文件,使用默认后缀名ppk即可。
空目录右键-Git Clone,在 Load Putty Key上打勾,并选择刚才生成的ppk文件即可
Group->New Group 即可
Group可以包含一类工程。同时可以给Group添加成员
Group的作用在于:Group的成员,可以访问Group中的Project,而无须给每个Project分配权限
比如,创建一个ipc的Group,里面有IPC,球机,文件系统等多个工程。
gitlab没有user的Group,只有Project的Group。
Your Projects->右边有个New project,
Project path 填上工程名字
Namespace 选择之前创建的Group(可以不使用)
Description填上描述即可
注意:Visibility Level请选择Private。除非它不保密,谁都可以下载
现在在管理员自己的机器上,进入项目目录(项目目录拷贝自git server,目录后缀名是.git), 运行几个命令:
cd your_project.git/
git remote add origin git@gitlab_host:admin/your_project.git
git push -u origin master
然后再将其他用户添加到这个project中,看一下,历史记录都在。
设置成员后,Private的工程才能被其他同事看到
设置成员有两种方式,一种是设置Group的Member,另一种是设置Project的Member
步骤如下:
选中Group或者Project
此时左边列表中,会有Members项,点击它
点击右侧 Add members
People中选择用户名
Group Access 选择权限。
关于权限:
Guest 可以提供给测试部,用于提交问题(目前非我们的需求)
Reporter 可以clone(下载)工程,但不能提交
Developer可以clone工程,但是push提交时,只能提交到非保护的分支,然后从网站上请求合并到主分支
Master 可以clone工程,可以提交所有分支。负责处理Developer的合并请求,并在Review之后合并到主分支或者修改或者拒绝。
此为关键
必须将主分支设置为protected,此时只有project的所有者或者Master可以提交以及合并到此分支。未保护的分支Developer也可以提交
注:创建完工程后,必须上传过文件后才可设置
将一个远程服务器的项目下载到本地。使用 git clone <项目远程仓库地址> 命令
$ git clone [email protected]:gitGroup/gitPro.git
进入项目目录后,使用git branch
$ git branch dev
使用 git checkout
$ git checkout dev
Switched to branch 'dev'
使用 git checkout -b
$ git checkout -b dev
Switched to a new branch 'dev'
使用git branch命令查看本地的所有分支。当前所在的分支前面会有一个 * 做标注。
$ git branch
* dev
master
使用git status命令可以查看当前代码的修改状态。罗列出所有被修改过的文件。
$ git status
修改readme文件之后,提交本次修改的内容。
提交可以分为两步,第一步使用git add
第二步使用git commit –m “提交日志” 正式提交代码。
修改或添加多个文件时,可以使用git add .添加所有文件(请注意别把不想添加的文件加进去了,可以修改根目录下的.gitignore忽略指定文件)
$ git add readme.txt
$ git commit -m "修改readme文件"
[dev fec145a] branch dev
1 file changed, 1 insertion(+)
git log命令会将当前分支的所有提交日志显示出来,方便定位每一次提交。
$ git log
把dev分支的修改合并到当前分支,使用 git merge
$ git merge dev
$ git push
将dev分支的所有本地提交推送到远程库,使用 git push origin <分支名字> 命令
$ git push origin dev
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 747 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
To [email protected]:gitGroup/gitPro.git
291bea8..adca45d dev -> dev
使用git tag <标签名> 创建一个新标签
$ git tag v1.0
$ git tag
v1.0
$ git show v1.0
$ git tag -d v0.1
Deleted tag 'v0.1' (was e078af9)