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

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

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

1,检查是否安装git

yum -y install git

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

2,安装git

yum install git

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

安装过程中会提示:

Is this ok [y/N]:

这里输入y即可。

3,验证git是否安装成功

git --version

控制台输出:

git version 1.7.1

这说明安装成功了。

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

4,配置git的SSH连接方式

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

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

cd /.ssh
vi id_rsa

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

这里涉及到的linux命令有:

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

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

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

同样的方式创建:

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

ssh-add /.ssh/id_rsa

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

Port 7700

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

6,git clone 项目

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

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

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

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

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

 7,遇到的问题总结

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

Could not open a connection to your authentication agent.

解决方法:

eval `ssh-agent -s`

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

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

解决方法:

cd /.ssh
chmod 700 id_rsa

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

Permission deined,please try again.
'git@xxx.xx.xxx.xx' s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
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. 浅谈 EF CORE 迁移和实例化的几种方式

    出于学习和测试的简单需要,使用 Console 来作为 EF CORE 的承载程序是最合适不过的.今天笔者就将平时的几种使用方式总结成文,以供参考,同时也是给本人一个温故知新的机会.因为没有一个完整的 ...

  2. linux查看是否安装Apache,mysql,python等

    1.Apache httpd -v service httpd start 启动 service httpd restart 重新启动 service httpd stop 停止服务 2.mysql ...

  3. ML(1)--概念理解

    机器是如何模拟人来学习的? 人:  observations===>learning===>skill 人从出生开始经过大量的观察(也可能经过身边的的指导)进行学习然后得到相应的技能(比如 ...

  4. Chrome调试工具developer tool技巧

    Chrome这个浏览器赞的不能再赞了,给前端的开发调试工作带来了极大的效率提升. Chrome的简洁.快速吸引了无数人,它的启动速度.页面解析速度都很快,同时得益于Google V8的快速,Javas ...

  5. FaceRank,最有趣的 TensorFlow 入门实战项目

    FaceRank,最有趣的 TensorFlow 入门实战项目 TensorFlow 从观望到入门! https://github.com/fendouai/FaceRank 最有趣? 机器学习是不是 ...

  6. TeamCity : Build 失败条件

    允许用户配置 Build 失败的条件是很有用的功能,它是我们配置复杂 Build 流程的基础.TeamCity 为用户自定义 Build 失败条件提供了很好的支持.这些条件大体上可以分为两类,分别是: ...

  7. python 中 list 的各项操作

    最近在学习 python 语言.大致学习了 python 的基础语法.觉得 python 在数据处理中的地位和它的 list 操作密不可分. 特学习了相关的基础操作并在这里做下笔记. ''' Pyth ...

  8. appium测试之获取appPackage和appActivity

    appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的.那如何快速的获取这APP的这两个参数呢?我这里介绍两个方 ...

  9. 小球自由落体动态模拟(Position Based Simulation)

    在过去的几十年中,基于物理的三维物体动态模拟成为了计算机图形学的研究热点,其中最常见的方法是基于力(force-based)的模拟方法,比如弹簧质点模型,它把物体抽象成一系列质点以及连接这些质点的弹簧 ...

  10. javascript的词法作用域

    这个概念是js中相当基础也是极为重要的,很多想当然的错误或感觉怪异的问题都是和这个东西有关.所以,本文主要说下这个名词的概念以及讨论下他牵扯出来的有关变量.函数.闭包的问题. 由变量开始谈 习惯性先来 ...