• GIT 使用


    gitlab使用说明

    原创 2016年01月06日 13:59:20

    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 key并上传

    创建

    在命令行执行ssh-keygen -t rsa -C "lfx@jovision.com",一路回车,即可生成公钥和私钥。公钥文件后续为.pub。它们位于用户目录/.ssh/目录中。(注意:如果是Windows中,命令行这样打开:开始-程序-Git-Git Bash)

    上传

    登陆后,点击 右上角profile setting->左边列表中点击SSH Keys。(此时,点击generate it,有说明)。点击 Add SSH Key,打开.pub文件,复制其内容,拷贝进去,顺便随便取个名字,点Add Key保存即可

    Tortoise Git的使用

    开始-程序-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常用命令手册

    一、项目检出

    将一个远程服务器的项目下载到本地。使用 git clone <项目远程仓库地址> 命令

     $ git clone git@192.168.32.10:gitGroup/gitPro.git

    二、分支管理

    1、创建一个dev分支

    进入项目目录后,使用git branch <name> 命令来创建一个新分支

     $ git branch dev 

    2、切换到dev分支

    使用 git checkout <name>来切换到一个本地分支

    $ git checkout dev 

    Switched to branch 'dev'

    2.1、创建并切换到新分支

    使用 git checkout -b <name>来切换到一个本地分支

    $ git checkout -b dev

    Switched to a new branch 'dev'

    3、查看当前所在的分支

    使用git branch命令查看本地的所有分支。当前所在的分支前面会有一个 * 做标注。

    $ git branch 

    * dev   

      master

    4、查看当前的代码修改状态

    使用git status命令可以查看当前代码的修改状态。罗列出所有被修改过的文件。

     $ git status

    5、提交代码

    修改readme文件之后,提交本次修改的内容。

    提交可以分为两步,第一步使用git add <name> 将要提交的文件添加到缓存区。

    第二步使用git commit –m “提交日志” 正式提交代码。 

    修改或添加多个文件时,可以使用git add .添加所有文件(请注意别把不想添加的文件加进去了,可以修改根目录下的.gitignore忽略指定文件)

    $ git add readme.txt  

    $ git commit -m "修改readme文件" 

    [dev fec145a] branch dev

      1 file changed, 1 insertion(+)

    6、使用git log查看提交日志

    git log命令会将当前分支的所有提交日志显示出来,方便定位每一次提交。

    $ git log

    7、合并分支

    把dev分支的修改合并到当前分支,使用 git merge <name> 命令

    $ git merge dev

    8、推送当前分支

    $ git push

    9、推送指定分支

    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 git@192.168.32.10:gitGroup/gitPro.git    

     291bea8..adca45d  dev -> dev

    三、标签管理

    1、创建标签

    使用git tag <标签名> 创建一个新标签

     $ git tag v1.0

    2、查看所有标签

     $ git tag 

      v1.0

    3、查看标签信息

     $ git show v1.0

    4、删除一个本地标签

     $ git tag -d v0.1 

     Deleted tag 'v0.1' (was e078af9)

  • 相关阅读:
    【心情】codeforces涨分啦!
    redis
    rabbitmq
    lucene
    MongoDB
    负载均衡
    分布式存储
    Memcache
    websocket
    Remoting
  • 原文地址:https://www.cnblogs.com/gaoyuechen/p/8507399.html
Copyright © 2020-2023  润新知