| |
|
开发:
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年1日历 | -2025/1/11 14:13:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |