领导给了一个不开放ftp的测试库,让我部署项目。拿到一个全新的环境,真是个练手的好机会。

该操作系统为:CentOs release 6.5(Final)

由于不开放ftp,所以上传下载代码是非常麻烦的,我想到的解决方法就是git来做同步和版本控制。

1,检查是否安装git

  1. yum -y install git

控制台输出结果:-bash: yun: command not found 【没有安装git】

2,安装git

  1. yum install git

我最喜欢的命令就是yum,这是最简单的方式了(其实就是我掌握的命令有限)。

安装过程中会提示:

  1. Is this ok [y/N]:

这里输入y即可。

3,验证git是否安装成功

  1. git --version

控制台输出:

  1. git version 1.7.1

这说明安装成功了。

通常来说,如果没有指定安装路径,git的默认安装目录:/usr/share/git-core/

4,配置git的SSH连接方式

这里也证明了ssh_key在不同操作系统的可移植性。

我这里采用的是从其它操作系统拷贝过来的密钥公钥,因此不在这里赘述生成ssh_key的方式,如果需要了解自行百度。

  1. cd /.ssh
  2. vi id_rsa

进入到.ssh目录,并且新建id_rsa文件,从我其他可用的操作系统复制过来。

这里涉及到的linux命令有:

vi : 打开文件编辑,如果文件不存在会自动创建;

i:打开文件之后输入i会进入insert模式;

ESC+Shift+zz : 最简单退出vim并保存的操作。

同样的方式创建:

最后将密钥添加到ssh-agent中,这样密钥才会起作用

  1. ssh-add /.ssh/id_rsa

5,配置git的SSH非默认端口(该步骤可以省略)

  1. Port 7700

这里的端口号使用7700,当然也可以根据实际情况设置其它的端口号。

6,git clone 项目

一般我习惯在/root/projectName/code下创建git根目录

  1. cd /root/projectName/code
  2. git init
  3. git clone git@xxx.xxx.x.xx:project -b branch

分支太多,我们通常也只是选定某个分支部署。

如果没有在config文件中配置端口号,那么克隆代码的命令可以使用如下:

  1. git clone ssh://git@xxx.xx.xxx.xx:port/project -b branch

 7,遇到的问题总结

(1)执行ssh-add命令报错:

  1. Could not open a connection to your authentication agent.

解决方法:

  1. eval `ssh-agent -s`

(2)执行ssh-add命令报错:

  1. Permissions 0644 for '/.ssh/id_rsa' are too open.
  2. It is required that your private key files are NOT accessible by others.
  3. This private key will be ignored.

解决方法:

  1. cd /.ssh
  2. chmod 700 id_rsa

(3)由于一开始我的私钥配置等没有放在/.ssh目录下,而是放置在/root/.ssh目录下,所以遇到了下面这个问题:

  1. Permission deined,please try again.
  2. 'git@xxx.xx.xxx.xx' s password:
  3. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
  4. fatal:The remote end hung up unexpectedly

这个我估计是用户权限的问题,懒得从权限这方面去入手解决。我直接更换到/.ssh就可以解决问题。

---------------------------------------- end -------------------------------------------------

为自己鼓掌~!!!棒棒哒。

  

【Linux部署 · GIT】在linux系统安装git和配置实现SSH的更多相关文章

  1. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  2. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  3. Linux、Debian、Jenkins、GIT、Nginx、码云安装,自动化部署前后端分离项目

    1.安装Jenkins i:下载Jenkins安装包(war文件):https://jenkins.io/download/ ii:这里采用Tomcat的war包方式安装,讲下载好的安装包放到Tomc ...

  4. git安装--linux下的安装

    一般linux自带git版本很旧,会有一定问题,可以先卸载系统自带git: yum remove git下载及安装git: wget https://github.com/git/git/archiv ...

  5. 如何在Linux下使用Gitblit工具创建Git仓库服务

    嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具.首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤.Git是分布式版本控制系统,它强调速度.数据一致性 ...

  6. 11 个 Linux 上最佳的图形化 Git 客户端

    Git是软件开发和若干其他版本控制任务免费和开源的分布式版本控制系统.它被设计用来以应付一切从小到非常大的项目,基于速度,效率和数据完整性. Linux用户主要通过命令行管理Git,不过,一些图形用户 ...

  7. GIT在Linux上的安装和使用简介

    GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS.Subversion不同,它不必服务器端软件支持 ...

  8. Linux基础※※※※如何使用Git in Linux(一)

    参考资料: 1. https://www.linux.com/learn/tutorials/796387-beginning-git-and-github-for-linux-users/ 2. h ...

  9. 使用 GIT 获得Linux Kernel的代码并查看,追踪历史记录

    Linux kernel  的官方 GIT地址是: http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git 可以从这个地 ...

随机推荐

  1. Objective-C AVPlayer播放视频的使用与封装

    大致效果 不要介意.界面有点丑... 界面搭建 看下成员变量就知道我怎么搭建的了,这里我将video播放层的size作为参照量,对所有控件的size按照其video的size宽高进行比例缩放 @int ...

  2. app耗电优化之四 使用AlarmManager对任务进行合理安排

    AlarmManager 是用来设定定时任务.即用来设定那个任务在什么时候开始执行.为什么和省电有关系?这个需要和AlarmManager的使用先说起.AlarmManager 实际上只起到一个定时发 ...

  3. Android学习笔记- Fragment实例 底部导航栏的实现

    1.要实现的效果图以及工程目录结构: 先看看效果图吧: 接着看看我们的工程的目录结构: 2.实现流程: Step 1:写下底部选项的一些资源文件 我们从图上可以看到,我们底部的每一项点击的时候都有不同 ...

  4. 一篇关于Python装饰器的博文

    这是一篇关于python装饰器的博文 在学习python的过程中处处受阻,之前的学习中Python的装饰器学习了好几遍也没能真正的弄懂.这一次抓住视频猛啃了一波,就连python大佬讲解装饰器起来也需 ...

  5. git入门大全

    前言 以前写个一个git小结,但是实际上并不够用.于是结合实际工作上碰到的一些情况,参考了一些资料,重新总结了一下.目标是在日常工作中不用再去查阅其他的资料了,如果有什么遗漏或者错误的地方,请评论指出 ...

  6. HTML5入门(一)—— 基本标签&表格

    一.HTML简介 超文本标签语言,即网页的源码.而浏览器就是翻译解释HTML源码的工具. 二.HTML Head部分      <1>Head的作用 用于描述网页的一些关键信息.比如网页的 ...

  7. [算法题] Add Two Numbers

    题目内容 题目来源:LeetCode You are given two non-empty linked lists representing two non-negative integers. ...

  8. Hotkeys.js 2.0.2 发布,捕获键盘输入和输入的组合键快捷键,它没有依赖

    这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb),gzip:1.9k. 更新内容: 添加测试用例: 添加更多特殊键支持: 修复bug. __ ...

  9. MySQL用户和系统变量

    --MySQL用户和系统变量 -----------------------------2014/05/19 用户变量 可以先在用户变量中保存值然后在以后引用它:这样可以将值从一个语句传递到另一个语句 ...

  10. 寻人启事(O(∩_∩)O哈哈~)

    注:本文纯属扯淡,如有雷同,纯属巧合! 寻人启事格式 1:标题 标题通常在第一行中央写上<寻人启事>.<寻找XXX>或<寻XXX))等字样.   2:正文 正文一般须包括 ...