在Linux下搭建属于你自己的git服务器(MAC版)

标签: git linux mac push clone
16人阅读 评论(0) 收藏 举报
分类:

环境说明

  • 本地mac系统,一般都有git程序安装(如果没有则使用:brew install git)

  • 服务器版本是ubuntu-14.04

直入主题

​ 使用mac终端远程连接linux服务器(命令:ssh [服务器ip], 之后输入服务器密码)默认都是root,密码为了安全起见,你在输入时是看不到的,成功登陆后就会进入控制台,我们用命令完成所有的操作,下面就是详细的步骤.

注:之后在本地输入的命令都是在gitbash下完成的

1、在控制台输入命令sudo apt-get install git,安装git,如果你是新安装的ubuntu,直接安装可能会报错,需要先执行sudo apt-get update

2、在系统里新增一个用户,登录名为git,

sudo adduser git接着就会让你输入密码及一些用户信息,一直回车就行

3、初始化git仓库

进入git目录,新建文件夹travel作为代码仓库

cd /home/git
mkdir travel
cd travel
git init --bare travel.git

​ 其中--bare参数是为用户创建一个裸仓库,这个’裸‘的意思就是版本库里以后只会生成版本的历史记录信息,而不会有项目源文件的拷贝。不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;而使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面。

​ 使用裸仓库最根本的原因是为了避免冲突,如果有人在服务器上操作仓库的master分支,那么如果别的用户通过远端仓库的方式push代码到master分支,会有很大的概率发生冲突,所以使用--bare参数让用户无法在服务器上操作git仓库。

4.在本地的mac系统生成ssh key

看看有没有.ssh文件,

如果没有咱们手动生成一下

ssh-keygen -t rsa

或者生成一个带有你邮箱信息的ssh-key

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

之后就会让你输入一些ssh key的信息,一直回车就行,之后就可以看到.ssh文件了,里面有两个文件

  • id_rsa:称为私钥

  • id_rsa.pub:称为公钥,我们需要把公钥里的信息存入到服务器的/home/git/.ssh/authorized_keys文件中

authorized_keys是专门用来存公钥的地方。

​ 把用scp命令将id_rsa.pub上传到服务器。

这里要分为三步:

第一步:在linux服务上执行命令

cd /home/git
mkdir .ssh
chmod 777 /home/git/.ssh   这个命令是放开.ssh的读写权限,否则之后的赋值操作会提示没有权限

第二步:在你本地执行下列命令,使用scp命令吧id_rsa.pub复制到服务器的/home/git/.ssh这个目录下

scp ~/.ssh/id_rsa.pub git@[你服务器的外网ip地址]:/home/git/.ssh
例如 scp ~/.ssh/id_rsa.pub git@60.205.189.99:/home/git/.ssh

第三步:在linux服务器上将id_rsa.pub的名称改为authorized_keys

mv id_rsa.pub authorized_ke

好了现在就完成了将本地公钥添加到服务器。

5、修改文件的所有者,将/home/git目录下的所有文件及文件夹归git用户所有,并修改目录权限chmod 755 /home/git,在服务器上依次键入下列命令

chown -R git:git /home/git
chmod 755 /home/git
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

6、修改ssh配置文件,修改完之后重启ssh

vim /etc/ssh/sshd_config
service ssh restart

AuthorizedKeysFile这个配置项默认是被注释掉的,现在删掉前边的#就行。

7、在目录/home/git/travel/travel.git/hooks创建post-receive 文件,主要导向显示文件存储的工作目录

cd /home/git/travel/travel.git/hooks
vim post-receive编写以下内容
WORK_TREE='/home/git/travel'
git  --work-tree="${WORK_TREE}" reset --hard

到这里我们的私人git服务器就搭建好了,下面就看看能不能push和pull代码吧。

这里你得找到你的git服务器地址,根据这个教程,我们的服务器地址应该是这个

git@60.205.189.99:/home/git/travel/travel.git

在本地gitbash下键入命令

git clone git@60.205.189.99:/home/git/travel/travel.git

输入完这个命令你就可以把服务器上的仓库获取到你本地

之后使用如下命令,进行上传代码,获取代码。

git add 
git commit 
git push 
git pull

今天的文章就到这里,欢迎大家留言。。。。。。。

8. 在服务器上的/home/git/travel 目录下查看自己上传的内容

注意:git所有的文件和目录都应该是git:git (git的用户和用户组)(不然会由于权限问题上传不上去)



查看评论

Mac 搭建git服务器

git使用:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 参考链接:http...
  • gavin__fan
  • gavin__fan
  • 2016-10-21 09:54:41
  • 2872

如何在mac系统下搭建git服务器

本文讲的git服务器基于gitblit,因为以前在windows平台上就是使用它,对这个稍微熟悉一些。其实用哪种服务器不重要,这些服务器虽然各有差异但基本的功能都还是具备的,比如源码管理,用户管理,S...
  • pony_maggie
  • pony_maggie
  • 2016-03-13 21:02:30
  • 8807

mac os 利用ssh 搭建git server服务器详细教程,以及git基本用法(下)

详细讲mac 连接mac的git操作 首先在服务端上 第一:新建一个仓库 1, cd /Users/userName/projects  用linux命令进入一个你想要创建与他人共享的文件夹。 2,...
  • liuyuyefz
  • liuyuyefz
  • 2013-11-29 16:01:15
  • 12432

5个步骤给自己搭建一个简单的GIT服务器

前段时间购买了一个云服务器,想在上面自己东西。对于程序猿来讲,代码的修改记录是个非常重要的事情,自己搞个git库就理所当然,在网上搜了搜记录,参考了一下,基于我个人使用的原因,没有加入权限管理那些特性...
  • zhuxiaoping54532
  • zhuxiaoping54532
  • 2016-12-22 14:18:25
  • 9825

ubuntu14.04搭建git服务器及初次推送错误解决办法

最近准备把自己做的小网站的代码用git管理起来,虽然git管理已经是很不新鲜的一个事情了,但毕竟刚接触难免遇到点问题,总结一下已被以后不时之需 1,环境,服务器是个很简单的腾讯云的服务器(自己玩,图...
  • sxs_smile
  • sxs_smile
  • 2016-12-15 14:43:14
  • 345

linux下搭建简单的git服务器

这两天沉迷php web服务器开发不能自拔,但是php和html、js之类的程序要写一点看一点效果,我是放到linux云主机上测试的,所以要在xshell上写代码,很麻烦。 于是想自己在云主机上搭建一...
  • qq_32685139
  • qq_32685139
  • 2016-09-03 23:05:35
  • 9410

团队Git服务器的搭建

团队Git服务器的搭建
  • ustc_summer
  • ustc_summer
  • 2015-06-11 10:33:42
  • 861

教你搭建你自己的Git服务器

现在我们将要学习如何搭建 git 服务器,如何编写自定义的 Git 钩子来在特定的事件触发相应的动作(例如通知),或者是发布你的代码到一个站点。...
  • u014743697
  • u014743697
  • 2016-10-18 10:04:05
  • 13825

搭建最简单的git服务器

当我们做项目时,总要有一个地方存放源码吧,因为我们是多人协作,就算是一人协作也是需要的。 有时候我们可能需要使用github放源码,但是它的私有仓库是收费的。 那就使用不收费的,比如cod...
  • qq_26562641
  • qq_26562641
  • 2016-12-07 17:56:53
  • 1701

mac创建git本地服务器注意事项

// ============================================= git本地服务器使用注意事项: 1 如果本机同时是服务器和客户端,在git地址的时候区别如下: ...
  • qimuya
  • qimuya
  • 2016-10-17 13:59:59
  • 1067
    个人资料
    持之以恒
    等级:
    访问量: 61万+
    积分: 8470
    排名: 2949
    最新评论
    联系方式
    微信:chenfan1112015 QQ:851327579