开发人员必备的Gitlab技能

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

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

192.168.59.250 gitlab.demo.com


c7f5f2451dd74ffd861394f324904590

图1

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

管理员分配了相关组或者仓库权限后,此时我们可以用自己的账号登录 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所示,安装过程中相关设置均按默认即可。

4090b412b40c43f9a3647a208f63df9c

图2

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

1bbe6965435e49d4bc4d3656a0a7bbeb

图3

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

f5443ff09e9847d3afd0b22b728c03eb

图4

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

a6ae0c99a5114ecfb6a54c67c417360d

图5

f79a0742679d4f01991c3fd08f45b806

图6

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

a94bd699fb274a84a6c6980526657a93

图7

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

git config --global user.name "firefly"

git config --global user.email [email protected]

将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 = [email protected]

[credential]

helper = store

[color]

ui = auto

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

d5bd9824be8342ef9892c7bb22cede33

图8

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

6a753aa4459544c9a9d67120f7573e73

图9

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

d76a3ff52e3542aba36c09554a2f0074

图10

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

40de8f9ae9c2421eab30498af7e4cee0

图11

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

d9817be3bc41403dbbdb0e3403302592

图12

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

e1117b66c85f4db9883c5d0f41efac41

图13

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

99fda1a6-44e0-4821-9316-3a92ad9de938

图14

f897873910324445b2c3048b9192120f

图15

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

6fd191bdd4d44ae38b79bcc6f73f03e5

图16

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

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

ssh-keygen -t rsa -C [email protected]
使用上面命令,直接回车,完成密钥生成,如图17所示。

图17
复制id_rsa.pub文件中内容并添加到git账户[email protected]用户下,如图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

9307856397ac49ce83a18fa66f7982e1

图20

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

5948f588a2a046f5a188efbbec1788b7

图21

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

c58686fa6801443f80c2b1757a2439e5

图22

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

263a216d8915430da9a9095cdcda3162

图23

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

5961691e441a4a699025738bda5fe7d2

图24

b3912205e01b4973bcde1d1910681721

图25

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

0e660e5cbf3c40ac84dfd8562a31060f

图26

a05df00e000f462cb0c34d881bfbcb75

图27

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

猜你喜欢

转载自blog.51cto.com/firefly222/2457159