01 Git规范、用法、代码申请

01 Git规范、用法、代码申请

  

自V8.0SP1版本开始,V5的大部分核心代码均交由Gitlab管理

Git帐号和代码申请

  1. 用户名为ldap账号(通常与公司协同账号一致,修改密码地址:https://ssp.seeyoncloud.com ),默认密码是123456

  2. 用户不能注册,只能通过管理员分配账号和权限,新员工在入职流程中能拿到一个“ssl”帐号,那个就是你的git身份。外包人员、体系外人员可以由研发指导人发协同(提供自己的姓名、邮箱、公司系统登录名)给周龙波申请ldap帐号。

  3. 公司git仓库地址:http://gitlab.seeyon.com

  4. 申请git代码权限:公司系统发起《svn-git权限管理单》,申请的具体工程gitlab地址向自己指导人获取信息,如果工程列表中没有你需要的project,及时反馈给项目QA(赵江利)确认公司底表是否是否需要更新

Git代码工程管理查询

如果你不知道Git工程的负责人是谁,可以通过公司系统报表中心->报表分析->“代码工程信息查询”进行搜索查询。

V5的代码分支管理

V5利用git的特性,实现了一个project下多分支的代码管理方法,每个分支代表了不同的作用:

分支命名

作用

示例演示

standard-版本号-develop

研发中的版本分支

假如当前是V8.1版本,则开发分支为standard-V8.1-develop

standard-版本号-release_后缀

历史发版版本打的标记,此分支不允许提交代码

如V8.0SP2发布,则打出分支standard-V8.0SP2-release_20210227

standard-版本号-hotfix_后缀

历史发版版本,随后修改客户BUG需要提交代码的分支

如V8.0SP2发布,修改客户BUG后需要向历史版本中提交代码,则使用分支standard-V8.0SP2-hotfix_20210227

以上只是基本的规则,每个版本要提交什么分支需要根据当时的项目管理规则执行。

配置SSH

1、首次访问后,应该尽快上传个人本机ssh公钥,以便获得项目的上传和下载权限

2、在使用Git前我们需要先安装 Git,下载之后安装时一路下一步即可安装完成,Git 各平台安装包下载地址为:http://git-scm.com/downloads

3、安装完成之后,打开git bash(通常右键会有Git Bash Here),分别执行以下两句命令

macro:code

git config --global user.name "用户名,一定是自己的中文名"
git config --global user.email "邮箱,正式员工一定是公司的@seeyon"

4、使用 cd ~/.ssh 可以查看是否已配置SSH,未生成则执行生成公钥和私钥的命令ssh-keygen -t rsa 并按回车3下(为什么按三下,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了)。会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。(可执行start ~命令,生成的公私钥在 .ssh的文件夹里面)。

5、.ssh如果不做特殊处理的话,一般是在C:\Users\Administrator目录下。如果看不到.ssh文件,可以使用ls -ah指令查看隐藏文件夹即可,这是存放秘钥的文件,打开这个文件会看到id_rsa和id_rsa.pub。id_rsa是私钥文件,id_rsa.pub是公钥文件。

6、执行查看公钥的命令cat ~/.ssh/id_rsa.pub 。

7、复制生成的公钥设置到gitlib的Settings->SSH Keys里面(以ssh-rsa开头,末尾去掉回车)

Git常用命令

操作内容

基本操作命令

操作扩展

扩展说明

sample

备注

初始化仓库

git init

 

 

git init

 

项目克隆至本地

git clone url

localpath

 

git clone http://www.baidu.com d:/test

 

查看在你上次提交之后是否有修改

git status

-s

简要信息

git status -s

 

将文件添加到要添加的项目中

git add

 

 

git add

 

显示目前的分支和仓库中代码的区别

git diff

 

 

git diff

 

将修改提交至本地仓库

git commit

-m

提交说明

git commit -m "测试提交"

 

移除文件

git rm

-f

删除已经commit的文件

git rm -f README.MD; git  rm -rf --cached README.MD

后面是移除已经提交到仓库的文档,但在本地保留的方式

移动或者重命名文件

git mv

 

 

 

 

获取更新

git fetch/pull

 

 

git fetch  git pull

fetch获取更新,但不合并到本地库。Pull则会直接merge到本地库,如果存在冲突,则会显示冲突。为了保证本地仓库与中央库的代码一致,避免遗忘合并,一般建议采用pull。Pull和fetch操作也会从远程仓库拉取到最新的分支列表,拉取以后可以在本地执行checkout,切换至制定分支

将提交到本地仓库的代码推送至中央仓库

git push

alias branch

默认提交到下载库的对应分支

git push origin master

push之前务必要先执行pull操作,将云端代码合并至本地,确认无误后再执行push,如果担心冲突,可以先执行fetch,对比以后再执行merge,最后执行push操作

切换分支到远程仓库分支

git checkout -b staging staging/master

 

staging是本地分支名,staging/master是远程

 

 

所以正常的操作流程一般是,git pull, checkout branch, commit/merge, pull, push,即从中央库拉取代码,切换至指定分支,提交或者合并本地代码,拉取中央库最新代码合并至本地仓库,将本地仓库推送至中央库。
选定分支后的最简单操作: git pull——>git status——>git add .——>git commit -m '提交说明'——>git pull——>git push

Gitlab工程和分组

Gitlab的代码管理,是按照Group和Project进行划分的。

通常我们会按照项目和项目组的用途进行group划分,并且给每一个group指定其管理者,授予owner权限。

而project存在于group下,是每一个项目管理的管理单元。每一个group的最高权限角色是maintainer,group的owner应该给每个project指定maintainer,要求其对项目进行管理。

角色名

核心权限

guest

project中的wiki文档查看

reporter

只能查看项目代码,无法merge request

developer

主要开发人,无法向被保护分支提交代码,可以merge request提交

maintainer

管理员,可以设置项目权限,并且可以提交被保护的代码分支

Gitlab工程授权

Owner或Maintainer可以对Gitlab工程进行授权,操作方式如下

​​

LICENSED UNDER CC BY-NC-SA 4.0