使用git或TortoiseGit推送项目至gitlab

一、Wins安装Git+Trtoisegit工具实现版本克隆与推送

Git:           https://git-scm.com/

Tortoisegit:https://tortoisegit.org/download/        下载程序和语言包进行汉化操作

1.  安装git ,tortoisegit依赖git工具不多解释,默认安装即可。

2.  安装tortoisegit,并配置秘钥上传gitlab,实现版本克隆与推送,默认配置安装

3.  Git上传下载项目

    3.1创建一个目录,用于项目目录(也可以右击创建版本库)。右击àgit bash here

 

    先进行设置git global设置

    $ git config --global user.name "xliang"

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

 

    生成git客户端的秘钥

    $ ssh-keygen

 

    进入到c:/users/用户/.ssh/目录,编辑id_rsa.pub公钥,复制粘贴至gitlab(与TortoiseGit的配置一样)

    为什么要上传2次git秘钥[因为这是两个不同的工具,秘钥是分开的,TortoiseGit只是依赖于git客户端,但是他的传输秘钥与git的是分开的,git是命令行工具,tortoisegit是窗口化工具很方便]

 

    上传的URL有两种方式:ssh和http

    Git上传秘钥只能用于ssh方式传输,如果用http连接传输则提示输入该用户对应gitlab的账号和密码

    用http传输,输入gitlab的账号和密码

 

    用ssh传输,用我们生成的公钥和私钥匹配

 

4.  tortoisdgit生成秘钥

    安装完成TortoiseGit后,在开始菜单中找到Puttygen,用来生成ppk密钥,耗时很久

 

    4.1 远程服务配置

    打开Gitlab远程服务端网页http://xxxx.com,用自己的Git账号登录(gitlab管理员创建分配用户)

    在个人设置页面添加上一步生成sshKey公钥,如下图:

 

    4.2 用tortoisegit上传下载项目

 

    创建几个文件,然后用tortoisegit上传,下载测试

 

 

    添加URL,秘钥,点击  添加覆盖

 

 

    推送有两个步骤:

  1. 提交,日志信息需填写,变更列表要选择
  2. 推送

 

    点击,推送

 

    成功后,关闭窗口,到gitlab看看更新的文件

 

二、 linux服务器安装git 克隆版本,完成版本的迭代升级操作

案例:web工作目录为/var/www/auto.com

我们可以自定目录/home/auto为git仓库

    版本升级:

     方法1:ln –s /home/auto /var/www/auto.com

     把仓库软链接至web工作目录,每次升级clone最新版本即可

    [因为gitlab有版本迭代性,如果版本回退,直接在服务器上clong上一个版本下来即可]

     方法2:clone最新版本,重命名/var/www/auto.com做备份,然后cp仓库最新版本至web工作目录

需求:

     使用gitlab控制版本发布

     各服务器通过git 去拉去版本

     [服务上的仓库可以软连接至web的工作目录]

     [升级版本的时候,直接去拉版本即可]

服务器A,B,C,D...

    1、 在gitlab上创建账号,每个账号对应一个服务器,把账号添加进对应项目里面

    2、 服务器上生成公钥,用对应的账号登陆gitlab,然后添加公钥

    3、 在服务器上创建一个目录(可以直接软链接到web工作目录)

    4、 使用git 命令拉去版本

-------------------------------------->

ubuntu 系统示例:

1、安装git

# apt-get install git

2、服务器配置秘钥:

# ssh-keygen -t rsa

# pwd

/root/.ssh

# cat id_rsa.pub       把公钥复制添加到gitlab

3、用gitlab创建分配的账号登陆,用户设置-->SSH密钥-添加公钥

4、 创建一个目录作于仓库,也可以软链接至服务器web的工作目录

也可以用http链接传输[提示输入gitlab分配的账户密码]

# mkdir antu

# cd antu

# git clone ssh://[email protected]/cl_test/cl_test.git

Cloning into 'cl_test'...

Username for 'http://gitlab.qiaokexing.com': tesuser                 

Password for 'http://[email protected]':

remote: Enumerating objects: 9, done.

remote: Counting objects: 100% (9/9), done.

remote: Compressing objects: 100% (6/6), done.

remote: Total 9 (delta 1), reused 0 (delta 0)

Unpacking objects: 100% (9/9), done.

Checking connectivity... done.

# ls               ---查看推送下来的版本

cl_test

# ls cl_test/      ---版本已经推送下来了

index.html  read.txt  test2.txt  test3.txt  test4.txt  test.php

猜你喜欢

转载自www.cnblogs.com/xl999/p/10165613.html