在 mac os 上搭建 git server
前言:之前学习了如何使用 git 后,一直想搭建一个本机搭建一个 git server 的,一开始不知道走了弯路用了 gitosis,折腾了我好几天都没配置好。昨晚查资料发现 gitosis 早就过时了,更新很慢取而代之的是 gitolite。后来在查看 gitosis 和 gitolite 的时候发现了这篇文章,其实如果对权限要求不高的话,都不需要安装 gitosis, gitolite,gitlab 之类的管理软件,所以今天一大早起来就开始研究了,最终成功了。
一、创建一个 Standard 新用户名为 git。
$ sudo chmod u+w /etc/sudoers
$ sudo vi /etc/sudoers
# 找到这一行 "root ALL=(ALL) ALL",在下面添加 "AccountName ALL=(ALL) ALL" (这里是 git ALL=(ALL) ALL)并保存。
二、client 端,设置为下图

三、验证一下是否能连接上 git 用户
$ ssh git@yourComputerName.local # Are you sure you want to continue connecting (yes/no)? yes
# Password:
# Last login: Fri Jan 3 09:00:55 2014
# exit
四、使用 ssh rsa 公钥
1) 如果 client 端已经创建 ssh rsa 公钥, 则执行 2),否则先创建:
$ cd ~
$ ssh-keygen -t rsa # 默认存放路径 ~/.ssh/id_rsa.pub
2) 把 ssh rsa 公钥拷贝到 server 端 (id_rsa.pub 文件在创建的时候,是可以改名的。这里也可以先把 ~/.ssh/id_rsa.pub 拷贝到别的地方并重新命名 $ cp ~/.ssh/id_rsa.pub /tmp/yourName.pub)
$ ssh git@yourComputerName.local mkdir .ssh # 登陆 server 并创建 .ssh 文件夹
$ scp ~/.ssh/id_rsa.pub git@yourComputerName.local:.ssh/authorized_keys # id_rsa.pub 100% 405 0.4KB/s 00:00
3) 修改 server 端的 sshd_config
$ ssh git@yourComputerName.local
$ cd /etc
$ sudo chmod 666 sshd_config
$ vi sshd_config
#PermitRootLogin yes 改为 PermitRootLogin no # 下面几项把前面的 #注释 去掉
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
#PasswordAuthentication no
#PermitEmptyPasswords no
#UsePAM yes 改为 UsePAM no
# exit
经过上面几步已经配置好了,下面来测试一下了:
1) 在 server 端创建空的 repository
$ cd path/to
$ mkdir newrepo.git
$ cd newrepo.git
$ git init --bare
# --bare flag 只是用来存储 pushes,不会当做本地 repository 来使用的。
2) 在 client 端,创建 local repository 并 push
$ cd path/to
$ mkdir newrepo
$ cd newrepo
$ git init
$ touch README
$ git add .
$ git commit -m "initial commit"
$ git remote add origin git@yourComputerName:/path/to/newrepo.git # 如果直接之前在 server 端创建的 newrepo.git 是在 home 目录,则这里地址为:git@yourComputerName:newrepo.git
$ git push origin master
在 mac os 上搭建 git server的更多相关文章
- 在windows上搭建git server Gitblit
在Windows上搭建Git Server 第1步:下载Java并安装Java.我这里下载的是jdk1.7.0_79 第2步:配置Java环境变量 右键” 计算机” => ”属性” => ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- 在Windows上搭建Git Server
Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用. 那么私有项目,如何用Git进行代码版本控制呢?我们可以自 ...
- 在Mac OS上搭建本地服务器
我们在做网络编程的时候一般是需要有网络环境的,这样可以边写边测试达到很高的效率.但有些时候我们由于很多原因我们的电脑无法连接到网络,这时就会感觉很不自在,所以今天在这里教大家怎么用自己电脑作服务器. ...
- Mac OS上搭建LNMP开发环境
1. 概述 LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.c ...
- 在Mac OS上搭建Python的开发环境
本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可 ...
- 在Windows上搭建Git Server (2)
第一步:下载Java,下载地址:http://www.java.com/zh_CN/ 第二步:安装Java.安装步骤不再详述. 第三步:配置Java环境变量. 右键”计算机” => ”属性” ...
- windows上如何搭建Git Server
Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用.那么私有项目,如何用Git进行代码版本控制呢?我们可以自己 ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
随机推荐
- 7.xmpp版即时聊天
即时聊天的解决方案 socket: xmpp:xmpp+openfire+asmack 环信 常见协议 比较安全,tcp上还加了俩层 简单聊一下socket socket:套接字,连接需要ip和端口, ...
- Spring的国际化资源messageSource
Spring中可以使用两个类加载资源文件:ReloadableResourceBundleMessageSource和ResourceBundleMessageSource. 可配置如下message ...
- 简单几何(直线与线段相交) POJ 1039 Pipe
题目传送门 题意:一根管道,有光源从入口发射,问光源最远到达的地方. 分析:黑书上的例题,解法是枚举任意的一个上顶点和一个下顶点(优化后),组成直线,如果直线与所有竖直线段有交点,则表示能穿过管道. ...
- Oracle 使用小计(2)
1.时间转换 1.1 字符串转时间 今天需要写SQL语句更新数据库的时间,按照SQL Server的习惯写成 UPDATE TABLE A ’ WHERE ORDER_ID = ‘A12345678’ ...
- HangOver
HangOver Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- Eddy's problem partI
Eddy's mistakes[HDU1161] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- js对象数组按属性快速排序
前一篇<关于selector性能比赛>中提到,目测觉得在$("div,p,a")这样有逗号时,sizzle耗时异常(600多个元素,花了200ms),说是它可能没有优化 ...
- MONO 安装 分析
你是安装在/etc下的吧? 5.2是没有serverbusy的提示的,那时,它就傻等,给人造成down的假像.而现在的版本,会提示的. 你升级时,upgrade后边加参数了吗? 加了 /etc/jw ...
- TYVJ P1053 字符串的展开 Label:字符 水
背景 NOIP2007年提高组第2道 描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简 ...
- 20145302张薇《Java程序设计》实验三报告
20145302张薇<Java程序设计>实验三:敏捷开发与XP实践 实验内容 使用git上传代码 使用git实现代码开发实践 实现代码的重载 使用git上传代码 git init git ...