gitlab服务器信息:
信息项 | 信息 |
服务器IP | 192.168.31.196 |
gitlab系统中开发人员账号信息:
信息项 | 信息 |
gitlab账号 | hulk |
gitlab账号邮箱 | hulk@gsdomain.com |
开发人员使用的计算机:
信息项 | 信息 |
开发计算机OS | windows 7 |
开发计算机名 | hulk-vm-PC |
开发计算机登录账号 | hulk-vm |
------------------------------------------------
以下操作都是在开发人员计算机上的操作
------------------------------------------------
1、安装git软件,大家可以自行在网上下载安装
2、设置git的代码提交人信息
hulk-vm@hulk-vm-PC MINGW64 /c/self
$ git config --global user.name "hulk"
hulk-vm@hulk-vm-PC MINGW64 /c/self
$ git config --global user.email "hulk@gsdomain.com"
3、执行ssh-keygen生成密钥
命令执行时,一路回车就好
$ ssh-keygen -t rsa -C "hulk@gsdomain.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/hulk-vm/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa
Your public key has been saved in id_rsa.pub
The key fingerprint is:
SHA256:igIZP+LxyehREaylg3D1TuUz2U90e+Ii21ErlbjZkow hulk@gsdomain.com
The key's randomart image is:
+---[RSA 3072]----+
| .o. . . . |
|. .o.. o o . o o |
|+.+. o = . o * .|
|.B .o o = O + |
|+.+. . S E @ + |
|.o*... . + = |
| +.+. . . . |
|. .. |
| . |
+----[SHA256]-----+
4、生成~/.ssh/config文件
hulk-vm@hulk-vm-PC MINGW64 ~/.ssh
$ vim config
录入以下内容:
Host gitlab.gsdomain.com
HostName 192.168.31.196
Port 22
User git
IdentityFile ~/.ssh/id_rsa
5、在gitlab中设置用户的ssh公钥
登录gitlab的web端
将~/.ssh/id_rsa.pub的内容粘贴到上图右侧中间的框中
6、测试配置情况:
hulk-vm@hulk-vm-PC MINGW64 ~/.ssh
$ ssh -T git@gitlab.gsdomain.com
The authenticity of host '192.168.31.196 (192.168.31.196)' can't be established.
ED25519 key fingerprint is SHA256:Nlsxw5fEyga549V3eZw/I8pcFs8gvCWmL+OCxeEH5o4.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.31.196' (ED25519) to the list of known hosts.
Welcome to GitLab, @root!
7、测试配置情况:
hulk-vm@hulk-vm-PC MINGW64 ~/.ssh
$ ssh -T git@gitlab.gsdomain.com
Welcome to GitLab, @root!
8、好了,现在我们克隆远程gitlab上的项目代码到本地
hulk-vm@hulk-vm-PC MINGW64 /c/self
$ git clone gitlab.gsdomain.com:root/dxdb.git
Cloning into 'dxdb'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
ok! 完美
验证
$ cd dxdb/
$ git add .
$ git commit -m "增加系统的字符集说明"
[master 8091ccd] 增加系统的字符集说明
1 file changed, 2 insertions(+), 1 deletion(-)
$ git push -u origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 345 bytes | 345.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To gitlab.hzfz.com:grp-hzfz/dxdb.git
295e6cb..8091ccd master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
注意:我这里验证时使用的分支是master,实际的开发环境的master分支基本不可以随便提交,所以开发人员可以在自己的分支下验证。
请确保开发人员已是相应项目的成员,如下图
请切记、切记、切记!!!
参考: