开发人员必备的Gitlab技能

系统运维

前面我们已经搭建好了Gitlab服务,也讲到了gitlab一些安全设置,但作为用户,该如何来使用gitlab呢?请看下文。

1、绑定hosts,使用notepad打开C:\\Windows\\System32\\drivers\\etc\\hosts,绑定gitlab服务器的IP地址,映射成域名,方便记忆并访问,如图1所示。

192.168.59.250 gitlab.demo.com

图1

完成上述hosts设置后,其实我们就可以通过访问http://gitlab.demo.com来注册gitlab账号了。注册账号最好用公司邮箱,如公司给我分配的邮箱是 firefly@demo.com,我将使用该邮箱来注册gitlab账号,然后由配置管理员对 firefly@demo.com 账号分配相关仓库权限。

管理员分配了相关组或者仓库权限后,此时我们可以用自己的账号登录 http://gitlab.demo.com 查看相项目内容了。那是不是到此gitlab的操作就讲完了呢?当然不是,如果想将项目克隆到本地,并在本地修改项目文件,最后又提交到gitlab服务器,对于这种操作,我们要借助Git和TortoiseGit。

2、安装Git以及GUI客户端TortoiseGit和中文语言包。Git下载页在Github上:https://github.com/git-for-windows/git/releases

GUI Clients 选择TortoiseGit,对应下载链接如下:

https://download.tortoisegit.org/tgit/2.9.0.0/TortoiseGit-2.9.0.0-64bit.msi

https://download.tortoisegit.org/tgit/2.9.0.0/TortoiseGit-LanguagePack-2.9.0.0-64bit-zh_CN.msi

下载完成后,按1、2、3顺序完成安装,如图2所示,安装过程中相关设置均按默认即可。

图2

3、成功安装后,鼠标右键如图3所示。

图3

点击TortoiseGit –> Setttings,可设置语言为中文,点击“应用”,如图4所示。

图4

然后,在“Icon Overlays“,选择Shell Extended,如图5,这样设置的目的是当git仓库中有文件发生变更时,文件图标状态也跟着变化,效果如图6所示。

图5

图6

4、接下来再对Git做全局设置,以下命令用Git Bash完成,如图7所示。

图7

设置用户名和邮箱地址(注意用自己注册gitlab时的邮箱)

git config –global user.name firefly

git config –global user.email firefly@demo.com

将color.ui 设置为auto 可以让命令的输出拥有更高的可读性。

git config –global color.ui auto

将credential.helper设置为store,可以存储用户以及密码,避免每次提交或拉取时要手动输入用户名和密码。

git config –global credential.helper store

上述git config命令将会在用户家目录下(Windows是C:\\Users\\xusers,Linux是~/.gitconfig)下生成.gitconfig文件,内容如下。

cat .gitconfig

[user]

name = firefly

email = firefly@demo.com

[credential]

helper = store

[color]

ui = auto

如果想再更改这些信息,可以直接编辑.gitconfig文件,如图8所示。这里设置的姓名和邮箱地址会用在Git 的提交日志中。由于在GitHub 上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。

图8

完成上述设置后,我们就可以使用HTTP方式操作gitlab的仓库了,先复制项目的HTTP的克隆地址,如图9所示。

图9

使用TortoiseGit来clone仓库,如图10所示,选择“Git 克隆。

图10

粘贴板会自动将要克隆的地址填入,如图11所示。

图11

点击”确定“,会提示输入用户名和密码,如图12所示。

图12

密码输入正确后,将完成项目克隆到本地的操作,如图13所示。

图13

重要说明:如果在上述操作过程中输错了用户名或密码,点击”确定“时会提示用户名或密码不正确,但不会再弹出输入用户名密码的对话框,此时就得到”控制面板“–>”用户账户–>凭据管理–>管理Windows凭据,删除对应的凭据即可,如图14所示。

图14

图15

commit+push操作对应SVN的commit。因为Git的commit是先提交到本地仓库,然后再push到gitlab服务器。即git的提交修改操作均保存在本地,不需要连gitlab服务器也可以查看历史修改记录。而SVN不行,如图16所示。

图16

5、完成上述操作后,就已基本满足我们日常工作需求了。但作为一名开发人员,如果不会SSH访问git仓库的话,下次要是被新入职客户端MM请教会不会就错失了告别单身的机会(哈哈),正所谓技多不压身。

使用ssh-keygen命令生成密钥文件,id_rsa文件是私钥,id_rsa.pub是公钥。

ssh-keygen -t rsa -C firefly@demo.com
使用上面命令,直接回车,完成密钥生成,如图17所示。

图17
复制id_rsa.pub文件中内容并添加到git账户firefly@demo.com用户下,如图18所示。

图18
使用firefly账户登录网页版gitlab服务,在Settings --- SSH Keys中添加id_rsa.pub中的公开密钥,然后点击“Add key”,如图19所示。

图19

由于gitlab服务器ssh端口不是使用默认的22,而是6688,我们还需要创建C:\\Users\\tgh\\.ssh\\config文件(如果有多台gitlab服务器,均可以在config文件中添加),如图20所示。

cat >>.ssh/config <<EOF

host gitlab.demo.com

hostname 192.168.59.250

port 6688

EOF

图20

好啦,我们可以使用ssh方式来克隆项目了,如图21所示,先复制要克隆的项目地地址。

图21

注意,使用ssh方式克隆项止,URL是以git@开头,如图22所示

图22

点击”确定“,如图23所示,我x,又报错啦,捂脸好尴尬。

图23

可千万别被小小的报错给吓到,我们只需要再设置一下TortoiseGit的网络,更改一下SSH客户端,如图24为修改前路径,图25为修改后路径,即我们要用Git自带的SSH客户端来解决这个报错。

图24

图25

完成设置后,我们再来尝试克隆一下,如图26,图27所示,顺利完成。

图26

图27

碰到问题不回避,这样,我们离大神和女神都更近了一步^_^,加油。

新网虚拟主机

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注