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

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

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

二、使用git客户端对项目进行克隆与推送操作

2.1.  gitlab 创建一个账户并对该账户授权相应的项目权限(我这里创建账号为xliang,过程省略...)

2.2.  安装git ,默认配置安装

2.3.  Git上传下载项目

创建一个目录,用于存储仓库(项目)【也可以右击创建版本库】。右击目录git bash here

先进行git global设置

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

$ git config --global user.email "11922064@qq.com"

生成git客户端的秘钥

$ ssh-keygen

进入到c:/users/用户/.ssh/目录,编辑id_rsa.pub公钥,复制公钥信息至gitlab

(与TortoiseGit的配置一样,我分配的账号是xliang,登录gitlab,设置-->秘钥-->粘贴公钥信息保存)

克隆和推送的URL有两种方式:ssh和http

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

    举例:用http和ssh克隆项目:

用http传输,输入gitlab的账号和密码【我分配账户是xliang】

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

三、用git + tortoisdgit克隆和推送项目

     优点:不用敲命令,窗口化操作

3.1  安装git,tortoisdgit

3.2  tortoisdgit生成秘钥

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

远程服务配置

打开Gitlab远程服务端网页http://xxxx.com,用自己的Git账号登录(我分配的账户是xliang)

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

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

用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站点的目录,好像apache2无法读取,具体原因还没分析,最后用方法2实现,采用rsync+inotify自动同步版本

把仓库软链接至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的工作目录

# mkdir antu

# cd antu

# git clone ssh://git@gitlab.qiaokexing.com/cl_test/cl_test.git

Cloning into 'cl_test'...

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

使用git或TortoiseGit推送项目至gitlab的更多相关文章

  1. TortoiseGit拉取或推送项目提示 HTTP Basic: Access denied fatal: Authentication failed.

      TortoiseGit拉取或推送项目提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证失败,访问被拒 ...

  2. Git撤回已经推送(push)至远程仓库提交(commit)的版本

    背景 所以,经常会遇到已经提交远程仓库,但是又不是我想要的版本,要撤下来. 回退版本一般使用git reset,又分为: # 不删除工作空间改动代码,撤销commit,不撤销git add . git ...

  3. git 创建标签推送远程分支

    目录 git 创建标签推送远程分支 查看tag 创建tag 推送标签到远程仓库 删除tag git 创建标签推送远程分支 标签概念: tag, 对于迭代频繁的项目. 每一个标签可以理解为一个版本. 创 ...

  4. 使用 git 将代码推送到多个仓库

    使用 git 将代码推送到多个仓库 起因     起初,在 GitHub 建了一个仓库,200+ 的 commits .后来(终于在眼泪中明白...误

  5. TortoiseGit推送失败的问题

    网络的SSH修改为使用git默认的ssh客户端,而不是tortosieGit提供的客户端 修改成这样 下面的本机凭证修改为当前用户 然后直接使用右键->git同步 在推送url上填写远程的url ...

  6. Git学习系列之Git基本操作推送项目(图文详解)

    前面博客 Git学习系列之Git基本操作提交项目(图文详解) 如果完成到一定程度,那么可以推送到远端在线仓库. 推送之前,请确保你已经设置了全局的 user.name 和 user.email, 如果 ...

  7. git推送项目到github并使用gitee做镜像仓库

    2022最新版github入门教程,教你如何一步步创建自己的github账号并初始化仓库,然后使用git工具配置个人工作环境.配合gitee仓库,作为github的镜像仓库使用.这篇文章很基础,对萌新 ...

  8. GitLab-使用SSH的方式拉取和推送项目

    场景 Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...

  9. git 版本落后推送错误

     http://114.215.90.144/student_association/student.git ! [rejected]        master -> master (non- ...

随机推荐

  1. Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录

    Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...

  2. 学习excel的使用技巧一空格替换为0

    问题1  把excel表格中的空格  填充为0 方法1 选中CDE列    CRTL+F 查找空 替换为0 方法2 选中CDE列 CRTL+G 打开定位  点击条件定位  选择空值 点击确定  然后在 ...

  3. py库: django (web框架)

    http://www.imooc.com/learn/736 Python-走进Requests库 http://www.imooc.com/learn/790 django入门与实践 http:// ...

  4. 代码:PC HTML——图片列表

    图片列表: 2016-6-12 可作为图片列表的规范性写法.这个例子只处理了单行的模式.( 一行多列 ) <link href="css/common.css" rel=&q ...

  5. 《算法》第四章部分程序 part 7

    ▶ 书中第四章部分程序,包括在加上自己补充的代码,图中找欧拉环 ● 无向图中寻找欧拉环 package package01; import edu.princeton.cs.algs4.StdOut; ...

  6. hadoop hdfs 元数据 journalnode editslog fsimage

    先上图,文章以后再上 截图有先后 所以有些延迟,但是不耽误总体的理解(active-nn=a-nn=active-namenode; s-nn=standby-nn=standby-namenode; ...

  7. 怎样消除adobe flash player设置

    在有FLASH画面上,点右键选下面的设置,出现设置框去掉打上钩的即可. 如果flash player插件安装好后,视频仍无法播放,则进行以下操作:打开“我的电脑”——>“本地磁盘(C)” ——& ...

  8. docker修改镜像名称

    [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE pujh/centos tomcat-centos 70f ...

  9. Spring.net介绍及MVC中应用

    Spring.net两大核心内容: IOC(控制反转) 传统的面相对象思维模式是对象A依赖对象B,对象B的实例化和调用都在对象A中发生,一旦对象B中发生变化,对象A也要随之变化,这样使得程序间行程了紧 ...

  10. day32-常见内置模块一(random、time、datetime、os、sys)

    一.random模块 #随机小数>>> random.random() # 大于0且小于1之间的小数0.7664338663654585>>> random.uni ...