| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 开发工具 -> windows集成gitlab、gerrit等多git开发环境介绍 -> 正文阅读 |
|
|
[开发工具]windows集成gitlab、gerrit等多git开发环境介绍 |
windows集成gitlab、gerrit等多git开发环境介绍在git代码开发环境时,有时会向gitlab、gerrit、gitee等代码托管平台提交代码,这就需要在windows开发环境集成多种git代码托管平台环境,本文将介绍如何在windows环境集成这几种环境,以gitlab、gerrit为例。 环境准备在windows上需要安装git环境,这里不做介绍,git安装请参考 C:\Users\Admin>git --version git version 2.33.1.windows.1 gitlab、gerrit服务器 gerrti安装请参考 CentOS 7.x安装部署Gerrit完整教程_苹果树上的你的博客-CSDN博客 gitlab按照请参考gitlab下载安装及部署 - 走看看
秘钥生成若已经在windows环境做了全局配置则需要清除全局配置 C:\Users\Admin>git config --global --list user.email=xxxxx user.name=xxxxx 清除全局配置 C:\Users\Admin>git config --global --unset user.name "你的名字" C:\Users\Admin>git config --global --unset user.email "你的邮箱" 为gitlab环境生成公钥私钥 C:\Users\Admin>ssh-keygen -t rsa -C "你的邮箱" 回车 Enter file in which to save the key (/c/Users/Admin/.ssh/id_rsa): id_rsa_gitlab
连续回车后会在当前文件夹生成公钥、私钥等信息文件 同理为gerrit环境生成公钥私钥 C:\Users\Admin>ssh-keygen -t rsa -C "你的邮箱" 回车 Enter file in which to save the key (/c/Users/Admin/.ssh/id_rsa): id_rsa_gerrit
连续回车后会在当前文件夹生成公钥、私钥等信息文件 以上两步完成后会生成如下文件
拷贝 将生成在当前文件夹下的这四个文件复制到登录用户的.ssh目录 C:/Users/Admin/.ssh 配置切换到C:/Users/Admin/.ssh目录,在当前目录创建config.txt文件 # gitlab
? # gitlab配置
? Host 192.168.1.162
? HostName 192.168.1.162
? PreferredAuthentications publickey
? IdentityFile ~/.ssh/id_rsa_gitlab
? User git
# gerrit 29418为gerrit端口
Host 192.168.1.161
HostName 192.168.1.161
User admin
PubkeyAcceptedKeyTypes +ssh-rsa
IdentityFile ~/.ssh/id_rsa_gerrit
Port 29418
保存,重命名config.txt为config 将刚才生成的每个环境的公钥配置到对应的环境,如,复制id_rsa_gerrit.pub里的公钥信息到gerrit SSH key中
? 同理,在gitlab web 页面设置ssh keys,省略。 验证在桌面想创建一个空文件夹 -> 右键 -> Git Bash Here Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code $ git init Initialized empty Git repository in C:/Users/Admin/Desktop/my-code/.git/ clone项目 Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code (master) $ git clone ssh://192.168.1.161:29418/demo-repo Cloning into 'demo-repo'... remote: Counting objects: 16, done remote: Finding sources: 100% (16/16) remote: Total 16 (delta 2), reused 14 (delta 2) Receiving objects: 100% (16/16), done. Resolving deltas: 100% (2/2), done. Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code (master) $ $ cd demo-repo $ git config --local user.email "liao535299@163.com" $ git config --local user.name "admin" $ echo 'hello gerrit' >> my_test.txt $ git add my_test.txt $ git commit -m 'this a test' 注意,第一次push时,gerrit会报错,按照错误操作即可 Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code/demo-repo (master)
$ git push origin HEAD:refs/for/master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 273 bytes | 273.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 1, done
remote: ERROR: commit 2bacf9b: missing Change-Id in message footer
remote:
remote: Hint: to automatically insert a Change-Id, install the hook:
remote: gitdir=$(git rev-parse --git-dir); scp -p -P 29418 admin@192.168.1.161:hooks/commit-msg ${gitdir}/hooks/
remote: and then amend the commit:
remote: git commit --amend --no-edit
remote: Finally, push your changes again
remote:
To ssh://192.168.1.161:29418/demo-repo
! [remote rejected] HEAD -> refs/for/master (commit 2bacf9b: missing Change-Id in message footer)
error: failed to push some refs to 'ssh://192.168.1.161:29418/demo-repo'
Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code/demo-repo (master)
$ gitdir=$(git rev-parse --git-dir); scp -p -P 29418 admin@192.168.1.161:hooks/commit-msg ${gitdir}/hooks/
commit-msg 100% 1790 57.6KB/s 00:00
Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code/demo-repo (master)
$ git commit --amend --no-edit
[master 6103323] this a test
Date: Fri Jul 15 11:26:21 2022 +0800
1 file changed, 1 insertion(+)
create mode 100644 my_test.txt
Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code/demo-repo (master)
$ git push origin HEAD:refs/for/master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 315 bytes | 315.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 1, new: 1, done
remote:
remote: SUCCESS
remote:
remote: http://192.168.1.161:8081/c/demo-repo/+/42 this a test [NEW]
remote:
To ssh://192.168.1.161:29418/demo-repo
* [new reference] HEAD -> refs/for/master
Admin@PS2021PFMDZGBM MINGW64 ~/Desktop/my-code/demo-repo (master)
$
push 到gerrit后,代码需要审核才能合并到指定分支,参考Gerrit代码审计系统实战-Gerrit 3.0.0版本快速搭建 - 尹正杰 - 博客园 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/24 21:27:00- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |