git初步用法

时间:2023-03-09 05:16:02
git初步用法

三、       Gerrit的注册及使用

  1. 1.         简介

Gerrit为代码审核工具,git提交的代码,必须经过审核才能合入到正式的版本库中。

  1. 2.         注册步骤

(1)       向部门配置管理员申请Gerrit账号。

(2)       登陆部门提供的服务器。使用个人github账户进行登陆。

(3)       首次登陆,需要填写一些基本信息

Username——注册账号的用户名

Fullnmame——gerrit中显示的用户名

Email——统一使用个人分配的公司邮箱,设置过程会接收到一份验证邮件

(4)       配置public key

点击网页右上角登陆用户名处,选择下拉菜单中settings

选择SSH Public Key一项

点击Add Key添加在本机生成的public key,生成方法可参照网页提示或在网上查找

(5)       通知配置管理员添加相关代码权限

  1. 3.         使用介绍

(1)基本

All->Open 所有正在等待审核的代码提交单

All->Merged 所有已经审核通过的代码提交单

All->Abandoned 所有被丢弃的代码提交单

注意:每次本地提交完代码后,需要到网页上查看是否提交成功,状态是否出现冲突,如图第一条中的状态为代码冲突,需要重新拉取最新代码后解完冲突再上传

(2)代码下载

Project ->List,可以查看所有权限以内的的代码工程,点击其中一个进入代码工程菜单,

进入后可看到工程代码下载的地址,git clone……

注意,需要切换至clone with commit-msg hook, SSH的选项地址,才可以下载。

复制地址后粘贴至git窗口即可启动下载。

(3)更多gerrit使用方法,查看Documentation选项

四、       Git使用方法及规范

  1. 1.       git配置用户名及邮箱

git  config  --global  user.email 邮箱名(必须和gerrit设置的一致)

git  config  --global  user.name 用户名

  1. 2.       git下载产生Change-IDcommit_msg文件

commit_msg文件用于自动为每个提交生成Changes-Id,任何一个代码提交,必须有Changes-Id才能够上传成功。如执行前面步骤后,工程文件夹下仍无commit_msg文件,则执行以下操作步骤。

(1)文件下载

在库工程目录中输入以下语句:

scp -p -P 29418 gerrit用户名@服务器连接

(2)设置git全局配置文件

以上文件下载,必须每次创建代码工程时,都必须将commit-msg文件拷贝到对应的.git/hooks/文件才会生效。设置全局的文件配置,则无需每次都进行以上下载或拷贝操作。

A. 创建一个全局的git配置目录 .git-template/

B. 将以上文件目录配置到git中,git  config  --global  init.templatedir  ‘~/.git-template’

C. 创建目录mkdir –P ~/.git-templates/hooks

D. 将下载好的commit-msg文件拷贝至以上目录,并做提权操作chmod a+x  commit-msg

E.  重新下载git库,其对应的.git/hooks目录下就会自动拷贝了commit-msg文件了

  1. 3.       使用git进行代码开发的过程

(1)       初始化代码仓库

复制gerrit网页的下载地址进行下载

(2)       切换开发分支

进入对应工程代码仓目录,

git branch –a      查看该工程所有代码分支

git checkout –b 本地分支名 origin/远程分支名    创建指向远程分支的本地分支

git checkout 本地分支名          切换本地分支

注意:代码开发时,需要在指定的代码分支下进行开发,否则无法提交代码。

(3)       查询提交记录

git log          查看当前分支的提交记录

git log 分支名   查看指定分支的提交记录

(4)       开发代码提交

A. 需要进行代码提交时,git status查看代码修改情况是否正确

B. git add –A将所有修改文件加入缓存区

C. git commit生成一条提交,在弹出的窗口中写入 i,然后写注释

D. 退出编辑注释步骤:Esc > : > wq

E.  消息git log 查看是否提交成功,提交是否产生changes-ID

F.  git fetch --all 将远程代码同步到本地

G. git rebase 将远程代码对应分支与当前分支代码合并

H. 出现合入冲突,需要手动解决冲突后,执行

git add –A 和 git rebase –continue

I.   git log 查看提交是否合入成功

J.   git push origin HEAD:refs/for/分支名称 将本地提交上传服务器,等待审核

注意:每次上传代码前,必须执行同步远程代码的步骤,否则会导致无法合入代码。

提交命令补充:

git reset 单号   取消提交单

git push origin HEAD:refs/for/分支名称 快捷输入方式:

Ctrl+R 然后输入git p   然后按Tab

追加代码到未审核的代码块里,如果之前提交的代码已被审核则无法追加:

1、git commit –amend

2、git push …

(5)       更新本地后台代码

A、 查看状态是否被更改git status

B、 若被更改则git add -A

C、 然后重置本地代码更改git reset --hard

D、 更新分支git fetch --all

E、  合并到本地代码 git rebase