在CentOS搭建Git服务器 转
在CentOS搭建Git服务器
前言
我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了。公司内部通常会搭建自己的Git服务器,我也通过在自己的服务器上搭建练习一下。
开始前先说一下服务器信息,这里是阿里云的CentOS 6.5 64位操作系统。
一 确认服务器是否安装Git
[root@iZ25r8k6ifuZ git]# rpm -qa git
git-1.7.1-3.el6_4.1.x86_64
这里也已经安装过了,如果没有安装可以用yum install git 安装。
二 创建git用户
这里你可以选择新建一个用户来测试,也可以直接使用你的root进行以下操作。笔者也是看着资料一步一步来的,这里创建一个新用户teslachen进行操作。[root@iZ25r8k6ifuZ ~]# useradd tesla
[root@iZ25r8k6ifuZ ~]# passwd tesla
更改用户 tesla 的密码 。
新的 密码:
无效的密码: 它没有包含足够的不同字符
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
注1:创建用户权限不够请加上sudo;
注2:设置用户密码太过简单的话会有提示,但依旧可以设置成功。
三 生成ssh公钥
许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。
linux 可以在本机运行ssh-keygen -t rsa生成密钥,把.pub文件拷到服务器上。[root@iZ25r8k6ifuZ ~]# su tesla
[tesla@iZ25r8k6ifuZ root]$ cd ~
[tesla@iZ25r8k6ifuZ ~]$ mkdir .ssh
[tesla@iZ25r8k6ifuZ ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tesla/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tesla/.ssh/id_rsa.
Your public key has been saved in /home/tesla/.ssh/id_rsa.pub.
The key fingerprint is:
13:bf:75:ba:67:7f:0e:a0:47:7a:fe:25:bc:81:85:c3 tesla@iZ25r8k6ifuZ
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| o . . |
| S . E o |
| . O |
| + = = .|
| + .o.|
| o+oo+|
+-----------------+
[tesla@iZ25r8k6ifuZ ~]$ cd .ssh/
[tesla@iZ25r8k6ifuZ .ssh]$ cat id_rsa.pub >> ~/.ssh/authorized_keys
exit
四 添加tesla到sudoers文件
tesla用户现在对一些文件夹没有操作权限,修改/etc/sudoers文件来改变他的权限。最高管理员用户用下面命令打开。[root@iZ25r8k6ifuZ ~]# visudo
然后我们在vim中找到下面这行
root ALL=(ALL) ALL
按i键开始插入,回车一下在下面一行加上
tesla ALL=(ALL) ALL
接着按下esc键,输入 :wq ,回车保存退出
五 创建Git代码仓库
[root@iZ25r8k6ifuZ ~]# mkdir /teslaRepo
[root@iZ25r8k6ifuZ ~]# cd /teslaRepo/
[root@iZ25r8k6ifuZ teslaRepo]# sudo mkdir teslaProject.git
[root@iZ25r8k6ifuZ teslaRepo]# chown tesla:tesla /teslaRepo/
[root@iZ25r8k6ifuZ teslaRepo]# chown -R tesla:git /teslaRepo/
[root@iZ25r8k6ifuZ teslaRepo]# cd teslaProject.git/
[root@iZ25r8k6ifuZ teslaProject.git]# sudo git --bare init
Initialized empty Git repository in /teslaRepo/teslaProject.git/
这样一个叫teslaProject得Git仓库就创建好了
六 本地测试使用
你可以直接在服务器上进行本地测试,也可以直接用你的电脑来测试。下面我是使用自己的MBP来进行的测试。localhost:~ okay$ cd Desktop/git/
localhost:git okay$ mkdir teslaRepo
localhost:git okay$ cd teslaRepo/
localhost:teslaRepo okay$ git init
Initialized empty Git repository in /Users/okay/Desktop/git/teslaRepo/.git/
localhost:teslaRepo okay$ git remote add origin tesla@123.57.159.74:/teslaRepo/teslaProject.git
上面的命令在本地创建了一个文件夹并添加了服务器上的远程仓库localhost:teslaRepo okay$ touch a.txt
localhost:teslaRepo okay$ git add a.txt
localhost:teslaRepo okay$ git commit -m "init commit"
[master (root-commit) d14cd3b] init commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.txt
上面的命令在本地创建了一个a.txt并在本地提交了一次localhost:teslaRepo okay$ git push origin master
tesla@123.57.159.74's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To tesla@123.57.159.74:/teslaRepo/teslaProject.git
* [new branch] master -> master
上面的命令将本地代码push到远程服务器上去了,下面我们在本地clone一次看下是否正确
七 本地clone
localhost:git okay$ mkdir ttt
localhost:git okay$ cd ttt
localhost:ttt okay$ git clone tesla@123.57.159.74:/teslaRepo/teslaProject.git
Cloning into 'teslaProject'...
tesla@123.57.159.74's password:
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
Checking connectivity... done.
clone完成,让我们看一下文件夹目录
之前push到服务器上的a.txt文件已经被clone下来
在CentOS搭建Git服务器 转的更多相关文章
- CentOS搭建Git服务器及权限管理
声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...
- 在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的
在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa ...
- centos 搭建git服务器
centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...
- 自定义Git之使用centos搭建git 服务器
Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...
- Centos搭建 Git 服务器教程
搭建 GIT 服务器教程 下载安装 git Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服 ...
- CentOS 搭建 Git 服务器
官方文档移步 Git 服务器的搭建 安装 Git #yum install git 创建 Git 专用用户 #useradd git,改密码 #passwd git,切换至 Git 用户 #su gi ...
- CentOS搭建git服务器实测
Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议 1,安装: CentOS/Fedora: yum install git Ubuntu/Debian: ...
- CentOS搭建GIT服务器
安装git # 请确保您切换到了root账户 $ su root $ yum install -y git # 验证是否安装成功 $ git --version # 输出如下内容表示成功: git v ...
- centos搭建git服务器(转)
一:git服务安装 1.安装git相关组件 [root@gitserver ~] yum -y install git 2.创建git用户 [root@gitserver ~] groupadd gi ...
随机推荐
- 『奇葩问题集锦』Ruby 切换淘宝源报错WARNING: Error fetching data: SSL_connect returned=1 errno=0 state=SSLv3 read s erver certificate B: certificate verify failed
===>首先需要使用https<===https://ruby.taobao.org/ 第一步 下载http://pan.baidu.com/s/1kU0rxtH 复制到ruby安装的根目 ...
- linux curl命令验证服务器断点续传支持
有个同事说,发现现在对外下载安装包的服务器不支持断点续传,我听了一阵纳闷,lighttpd server对于静态文件应该默认支持断点续传的,登机器查看lighttpd配置文件发现 对断点续传的支持被禁 ...
- Eyeshot Ultimate 学习笔记(4)
动画 Eyeshot的官方Demo中有一个功能是近期项目需要用到的,就是动画效果.其中主要运用到BlockReference类,该类下的两个方法MoveTo(Dictionary<string, ...
- Djang DJANGO_SETTINGS_MODULE
在 site-packages\django 新建一个文件 ’settings.py‘ 内容如下: DEBUG = TrueDEFAULT_FROM_EMAIL = 'alangwansui@qq.c ...
- 一个简单的makefile,一次性编译本文件夹下所有的cpp文件
代码: CXX := g++ CFLAGS := -g TARGET := xxx.exe SRCS := $(wildcard *.cpp) OBJS := $(patsubst %cpp,%o,$ ...
- Spring之Spring MVC
Spring调配半天没搞定,原来是web.xml应该放在WEB-INF的目录下,而不是webcontent目录下: java.lang.ClassNotFoundException: org.spri ...
- CoreGraphics --- 翻转坐标系
1. 由于CoreGraphics 的坐标系与手机屏幕坐标系的Y轴是相反的, 所以在我们开发的时候, 需要翻转坐标系; - (void)drawRect:(CGRect)rect { CGContex ...
- 双系统格式化硬盘后装XP遇到grub rescue的问题
好奇于深度的Deepin系统,给老电脑装了xp和deepin双系统.无奈07年的机子带Deepin,实在是太卡了.正好想给硬盘重新分区,直接将硬盘格式化,重装了xp.于是,问题来了,开机显示: GRU ...
- Manacher 算法-----o(n)回文串算法
回文的含义是:正着看和倒着看相同,如abba和yyxyy Manacher算法基本要点:用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插 ...
- 【2011 Greater New York Regional 】Problem H: Maximum in the Cycle of 1
也是一个数学题: 主要用到的是排列组合的知识,推推公式就行了,挺简单的: 唯一要注意的是A(0,0)=1: 在这个上面WA了几次,= = 代码: #include<stdio.h> #de ...