【ssh简单版git-server 1】自建git-server

环境:centos和ubuntu系统都可以

CentOS release 6.7

git version 1.7.1

git-server 192.168.50.108

git-client 192.168.50.112

备注:基于linux系统下做ssh模式的gitserver,需要ssh免密钥。

部署:

git-server:

1.安装git软件(客户端和服务器端使用的是同一个软件)

yum install git -y

2.初始化仓库(鉴于此处是共享仓库,所有要建立裸仓库)

mkdir /data/sample.git

git init --bare /data/sample.git

chown git.git /data/sample.git -R

3.配置git用户使用的shell为git-shell

which git-shell(返回结果/usr/bin/git-shell)

chsh -s /usr/bin/git-shell git

git-client:

1.安装git软件

yum install git -y

2.配置用户的ssh密钥信息,并提供给git-server

ssh-keygen -t rsa -C "[email protected]" (与git config的信息一致)

假如你是用的是本台机器root用户,生成的密钥默认在/root/.ssh/下

scp /root/.ssh/id_rsa.pub [email protected]:/tmp

git-server:

允许另外一天机器的用户无密钥访问git用户的信息

mkdir /home/git/.ssh && cat id_rsa.pub >>/home/git/.ssh/authorized_keys

git-client:

1.clone远程server的裸仓库

git clone [email protected]:/data/sample.git

2.添加远程仓库作为源仓库

git remote add origin [email protected]:/data/sample.git

git remote -v(查看存在的仓库源)

2.默认clone的是master仓库,可以直接在master更新

cd sample/

echo "this is a test file" >test

3.配置git全局信息

git config --global user.name ‘test‘

git config --global user.email ‘[email protected]‘

4.添加并提交文件

git add test

git commit -m "this is fire commit"

5.把修改后的文件推送的git-server源做共享

git push -u origin master

注:由于代码存在多个版本,且介于安全考虑master会被限制,用户可以自己创建分支,然后请求合并。 所以大多数修改并不是直接在master上。以下是分支操作

1.clone maste后创建分支

git checkout -b fenzhi

git branch(查看当前所在分支)

2.添加并提交文件

echo "hello world " >fenzhifile

git add

git commit -m ‘fenzhi‘

3.把新建的分支推送到git-server源做共享

git push origin fenzhi

git-client:测试

1.测试master:换台机器(同样需要免ssh)或换个目录测试

cd /tmp

git clone [email protected]:/data/sample.git

查看只有一个test文件,这个是我们刚才在master上添加的。

cd sample/ && cat test

2.测试fenzhi

git clone [email protected]:/data/sample.git -b fenzhi

同样刚才的fenzhi文件也存在,test也存在。因为我们是在master主要功能上修改的。如果文件没有相同的,那就是不同的项目。

git帮助手册

时间: 2024-11-08 18:31:53

【ssh简单版git-server 1】自建git-server的相关文章

【ssh简单版git-server 1】git-server权限管理

环境: 1.类unix系统 2.git1.6.6+ perl5.8.8+ openssh5.0+ 3.仓库用户,自加用户git 4.ssh没有免密钥的用户 git-server:192.168.50.108 git-client: 192.168.50.112 部署: git-server: 1.使用git用户的环境操作,或修改git用户的shell切换后部署 sudo -u git git clone https://github.com/sitaramc/gitolite.git mkdir

GIT 简单版

Git规范 by 程序亦非猿 2016.4.6 这又是一篇我在公司分享的,想制定一下Git的规范,有兴趣的可以看看~ 上一篇在这里 分支模型 每个项目必须要有master.develop分支. 每个开发人员拥有一个自己的分支,如yfy.chz. master 分支 master 分支只能存在release版本的代码,并需要对每个release打对应的tag. develop 分支 develop 由master分支检出,它作用主要是日常开发合并代码,并与master分支做交互. 当参与开发的人员

Git24--搭建Git服务器

在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装. 假设你已经有sudo权限的用户账号,下面,正式开始安装. 第一步,安

ASP基础教程:ASP内建对象Server

通过前九篇的理论和实践,相信大家已经对 ASP 有了系统的了解,虽然至今为止,我们只学了 ASP 的 4 个内建对象,但已经完全能够写出一些实用的小程序了.今天,作者将继续给大家讲解最后一个 ASP 内建对象——Server. 在开始本次课程之前,我仍要在这里回答一些朋友们提出的比较普遍的问题.最近仍有不少朋友来信问我,如何构建服务器端的 Active Server Page 环境.我想可能是我在前几篇中没有讲清楚,因此,在本篇的开头有必要把这个问题详细阐述一遍. ASP 的应用完全是基于 Mi

【Linux部署 · GIT】在linux系统安装git和配置实现SSH

领导给了一个不开放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,这是最简单的方式

Git总结笔记1-搭建和使用30条简明笔记

1.环境搭建: Linux:安装git安装包(yum install -y git) Windows:到官网下载安装包 安装完成后配置如下用户名和邮箱: git config --global user.name "Your Name" git config --global user.email "[email protected]" 2.通过 git init 命令把当前目录变成Git可以管理的仓库(先cd到要变成仓库的目录下执行命令git init,执行完命令

自建git服务器搭建使用记录

Git本地中文文件名问题解决 linux环境 //Git本地中文文件名问题解决 git config --global core.quotepath false 克隆自建的Linux上的远程仓库 //1 创建用户 git config --global user.name "你的名字" git config --global user.email "你的邮箱" //2 创建秘钥(用来防止每次commit或push都需要密码) ssh-keygen -t rsa -C

Git基础教程(建库,并将本地文件提交到远程github仓库)

说明: 1.本教程远程仓库使用的是github 2.全命令行操作 3.以下某些文件夹名称为".XX",此类文件夹在windows中默认是隐藏文件,需要打开设置才能显示出现 具体步骤为[打开资源管理器-工具-文件夹选项-导航窗格-勾选"显示所有文件夹"] 正文: 1.软件准备 ①下载并安装客户端. 百度"Git",根据系统类型自行下载相应版本并安装(点击此处直达),以下教程为windows版本 ②打开客户端. 任意目录右击鼠标,选择"Gi

模板】AC自动机(简单版)

模板]AC自动机(简单版) https://www.luogu.org/problemnew/show/P3808 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交. 管理员提示:本题数据内有重复的单词,且重复单词应该计算多次,请各位注意 题目描述 给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过. 输入输出格式 输入格式: 第一行一个n,表示模式串个数: 下面n行每行一个模式串: 下面一行一个文本串. 输