git的CentOS服务端安装和windows客户端的使用
git的CentOS服务端安装和windows客户端的使用
此教程以 搬瓦工vps CentOS 6 x64 的系统为环境,搭建 git 服务端。windows 7 系统为客户端。
git客户端
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项下一步下一步安装即可.
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,设置用户名称和用户游戏,在Git Bash命令行输入:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
接下来如果连接远程仓储的就需要每次输入密码。这里我们使用无密码的ssh方式。
创建SSH Key
windows下SSH Key保存的位置一般为 C:\Users\Administrator\.ssh 这个位置。如果没有.ssh目录和id_rsa和id_rsa.pub这两个文件,就需要创建SSH Key。
$ ssh-keygen -t rsa -C "youremail@example.com"
git的一些其他操作这里就说了。
git的CentOS服务端安装
我的使用工具是xhell来链接服务器操作
安装依赖库和编译工具
为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具
由于我的服务器是新购的所有我要安装一些常用工具
安装文本编辑器
yum install vim自动下载工具
yum install wget安装git依赖库和编译工具
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel安装编译工具
yum install gcc perl-ExtUtils-MakeMaker
下载 git
选一个目录,用来放下载下来的安装包,这里将安装包放在
/usr/local/src目录里
cd /usr/local/src到官网找一个新版稳定的源码包下载到
/usr/local/src文件夹里
wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz
解压和编译
解压下载的源码包
tar -zvxf git-2.10.0.tar.gz解压后进入 git-2.10.0 文件夹
cd git-2.10.0执行编译
make all prefix=/usr/local/git
这一步执行的时间较长
- 编译完成后, 安装到
/usr/local/git目录下
make install prefix=/usr/local/git
配置环境变量
将 git 目录加入 PATH
将原来的 PATH 指向目录修改为现在的目录
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc生效环境变量
source /etc/bashrc此时我们能查看 git 版本号,说明我们已经安装成功了。
git --version
创建 git 账号密码
为我们刚刚搭建好的 git 创建一个账号
useradd -m git然后为这个账号设置密码
passwd git
控制台输入创建密码后,输入您自定义的密码,并二次确认。
设置authorized_keys
- 创建.ssh目录
cd /home/git
mkdir .ssh
- 创建authorized_keys文件
cd .ssh
touch authorized_keys
- 利用vim复制客户端公钥到authorized_keys里面
vim authorized_keys
然后切换到windows(客户端)系统中把C:\Users\Administrator\.ssh\利用文本编辑器打开id_rsa.pub文件。 把里面的内容复制。
然后粘帖到authorized_keys文件中。如何利用vim编辑器这里自己百度下
设置sshd_config配置
- 打开并编辑sshd_config
vim /etc/ssh/sshd_config
找到下面的3个配置,把前面的#号去掉,并且设置AuthorizedKeysFile文件的路径为/home/git/.ssh/authorized_keys 保存退出即可
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /home/git/.ssh/authorized_keys
创建 git 仓库并初始化
- 创建git仓库
cd /home/git
mkdir project.git
- 初始化git仓库
git init --bare project.git
配置用户权限
- 给 git 仓库目录设置用户和用户组并设置权限
chown -R git:git /home/git
chmod 700 /home/git
- 给 ssh 目录和authorized_keys文件设置权限
cd /home/git/.ssh
chmod 600 authorized_keys
cd ../
chmod 700 -R .ssh
- 最后安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell
vim /etc/passwd
替换最后一行为git:x:1001:1001:,,,:/home/git:/usr/local/git/bin/git-shell
如果按照刚才的步骤执行, 这个位置应该是 /usr/local/git/bin/git-shell, 否则请通过 which git-shell 命令查看位置
克隆你的仓库
切换到windows客户端,进入文件夹中,右击git Bash在命令行中输入你需要的clone地址
git clone git@<您的 git服务器IP 地址>:/home/git/project.git
或者
git clone ssh://git@<您的 git服务器IP 地址>:/home/git/project.git
git的CentOS服务端安装和windows客户端的使用的更多相关文章
- centos 7 上zabbix 3.0 服务端安装
zabbix服务端安装 安装完毕mysql-5.6.php5.6 mysql-5.6安装:https://www.cnblogs.com/xzlive/p/9771642.html 创建zabbix ...
- 开源入侵检测系统OSSEC搭建之一:服务端安装
OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中.主要功能有日志分析.完整性检查.rootkit检测 ...
- 03-openldap服务端安装配置
openldap服务端安装配置 阅读目录 基础环境准备 安装openldap服务端 初始化openldap配置 启动OpenLDAP 重新生成配置文件信息 规划OpenLDAP目录树组织架构 使用GU ...
- 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装
1. Zabbix服务端安装,基于LNMP PHP5.5+Nginx1.9安装配置:http://www.cnblogs.com/vurtne-lu/p/7707536.html MySQL5.5编译 ...
- mongodb_服务端安装及连接
安装环境:Windows7 64位 附件内容: 1.mongodb Windows7 补丁:451413_intl_x64_zip.exe 2.mongodb Windows 安装程序:mon ...
- windows10 64位 安装mysql服务端 并使用navicat客户端链接 掉的一堆坑
1.目的 安装mysql服务端 并使用navicat客户端链接 2.过程 1)下载mysql服务端 下载过程(参考https://blog.csdn.net/youxianzide/article/d ...
- svn服务端安装、权限修改以及客户端的使用
2017-10-1016:10:2 svn服务端安装.权限修改以及客户端的使用 svn服务端.客户端.汉化包下载 http://pan.baidu.com/s/1c1Ogj2C 1.安装服务器端程序( ...
- ssr 服务端安装教程
1 ShadowsocksR 多用户版服务端安装教程(SS-Panel后端) 2 ShadowsocksR 单用户版服务端安装教程
- Zabbix 3.4 服务端安装部署
关于zabbix的安装部署官方也提供了详细的安装文档,链接如下: https://www.zabbix.com/download 选择zabbix的版本,服务器平台及使用的数据库 安装和配置zabbi ...
随机推荐
- 博客志第一天——判断一个整数N是否是完全平方数?
关注博客园很久,今天是第一次写博客.先附上一个C题目:写一个函数判断一个整数是否为完全平方数,同时是否该数的各位数至少两个相同的数字 #include <stdio.h> #include ...
- 栈(存储结构链表)--Java实现
/*用链表实现栈--链栈 * */ public class MyLinkedStack { public MyLinkedList linklist; int items; public MyLin ...
- Java基础总结--数组
---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...
- mybatis返回int类型报null
解决这个问题,是当查出来为NULL时,结一个默认值,如:0. MySQL: SELECT IFNULL(MAX(id),0)AS sort FROM table Oracle: SELECT nvl( ...
- 【Telerik控件学习】-建立自己的图形编辑工具(Diagram)
Telerik提供了RadDiagram控件,用于图形元素的旋转,拖拽和缩放.更重要的是,它还拓展了许多绑定的命令(复制,剪切,粘贴,回退等等). 我们可以用来组织自己的图形编辑工具. Step1.定 ...
- Python多进程应用
在我之前的一篇博文中详细介绍了Python多线程的应用: 进程,线程,GIL,Python多线程,生产者消费者模型都是什么鬼 但是由于GIL的存在,使得python多线程没有充分利用CPU的多核,为 ...
- Java设计模式探讨之单例模式
单例模式是在平时的项目开发中比较常见的一种设计模式,使用比较普遍,网上的资料也是一抓一大把,小Alan也来凑凑热闹,为以后充实点设计模式相关的内容做个简单的开篇. 单例模式是一种创建对象的模式,用于产 ...
- Special Fish
Special Fish Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 最最简单的CentOs6在线源搭建
非常实用的在线源搭建,只要4步骤 1.点击进入http://mirrors.aliyun.com/repo/epel-6.repo ,这是阿里云的源 2.复制所有的代码 ctrl+a,ctrl+c ...
- Linux修改时区的正确方法
CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ll /etc/localti ...