领导给了一个不开放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. Experience of Python Learning Week 1

    1.The founder of python is Guido van Rossum ,he created it on Christmas in 1989, smriti of ABC langu ...

  2. java调用wkhtmltopdf生成pdf文件,美观,省事

    最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...

  3. MVC 路由设置伪静态

    public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/ ...

  4. 计时器C#

    用于测某一方法执行所用的时间: Stopwatch sw = new Stopwatch(); sw.Start(); //功能代码块 sw.Stop(); long totalTime = sw.E ...

  5. 12. leetcode 455.Assign Cookies

    Assume you are an awesome parent and want to give your children some cookies. But, you should give e ...

  6. 双向循环链表(C语言描述)(三)

    代码清单 // linkedlist.h #ifndef __LINKEDLIST_H__ #define __LINKEDLIST_H__ #include <assert.h> #in ...

  7. 正则表达式大全 --【Python举例】

    包含 :  纯文字.正负数,小数.正数.正整数.月份.天数.用户名.密码.车牌.传真.手机.邮件.ipv4私有地址.ipv4地址.ipv6地址.json_header.request_header 有 ...

  8. 记Angular与Django REST框架的一次合作(2):前端组件化——Angular

    注:这是这个系列的第二部分,主要集中在Angular的使用方面.之前使用过AngularJS(Angular 1.x),混在Django的模板中使用,这些页面一般完全是结果展示页.在有Django表单 ...

  9. CocoaPods详解之----制作篇【转】

    Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...

  10. Sangmado 公共基础类库

    Sangmado 涵盖了支撑 .NET/C# 项目开发的最基础的公共类库,为团队在不断的系统开发和演进过程中发现和积累的最公共的代码可复用单元. Sangmado 公共类库设计原则: 独立性:不与任何 ...