git知识总结-4.git服务器搭建及迁移git仓库

1. 前言

因为手里有一份代码之前是直接从其它git服务器上克隆下来的,现在想自己搭建一个git服务器把这份代码管起来。

2. 搭建git服务器

1.安装git

$ sudo apt-get install git

2. 创建一个git用户,用来运行git服务:

$ sudo adduser book

3. 创建证书登录

收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/book/.ssh/authorized_keys文件里,一行一个。

此处可参考文档:Linux ssh秘钥生成并导入SecureCrt

4.初始化Git仓库:

先选定一个目录作为Git仓库,假定是/work/code_server/sample.git,在/srv目录下输入命令:

$ sudo git init --bare sample.git

Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。

然后,把owner改为book:

$ sudo chown -R book:book sample.git

5. 禁用shell登录:

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:1001:1001:,,,:/home/book:/bin/bash

改为:

git:x:1001:1001:,,,:/home/book:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

6. 克隆远程仓库

现在,客户端可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

$ git clone book@127.0.0.1:/work/code_server/sample.git
Cloning into ‘sample‘...
warning: You appear to have cloned an empty repository.

注:由于git服务器和客户端都在本机所有ip为127.0.0.1

3. 将git代码迁移到搭建的git服务器

1. 将之前的代码分支push到新搭建的git服务器

$git push [email protected]:/work/code_server/sample.git master

其中master为本地分支,与之前代码的远程分支关联

2. 在git服务器的/work/code/server/sample.git目录下就可以看到新push的分支

$git branch

3.客户端克隆代码

$git clone book@127.0.0.1:/work/code_server/sample.git

参考文档

【1】https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

原文地址:https://www.cnblogs.com/smartjourneys/p/9535650.html

时间: 2024-11-05 15:48:32

git知识总结-4.git服务器搭建及迁移git仓库的相关文章

【android Studio】零git知识、零脚本命令,即刻体验git版本管理魅力!

git的优点就不去多说了.阻碍咱新手体验它的唯一问题就是门槛太高,脚本看着像天书, 本文主要阐述的,就是如何在android studio上,也能像tfs那样,非常简单的操作,就能使用git进行版本管理 几个月用下来,咱每天要做的就是开始工作前,alt+下方向键,从服务端拉取数据:结束工作后,alt+上方向键,将代码提交到服务器上.就这两步,完成了版本管理. 因此,有了这篇面向新手的图文并茂的文章,一步步按照步骤下来,你就可以完成项目对git的融合. (提示:面向新手的介绍型文章,因此步骤细致繁

基于阿里云服务器的git服务器搭建

使用阿里云Ubuntu 12.0.4 64位操作系统做git服务器. 首先git服务器有两种访问方式可以选择:http方式和ssh的方式,http方式更容易使用. 1.http方式的git服务器搭建以及使用git命令行访问: On the Server 1) Install Ubuntu Server, this is the base of our git server obviously  2) Now we need to install a couple of packages, the

[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】

转自:http://www.cnblogs.com/yubinfeng/p/5182271.html 前面介绍了两款代码管理工具VSS和SVN,这两种管理工具在很长一段时间曾为我们的代码管理提供了便利,本篇介绍一款思维方式完全不同(也可以说不合常理)的版本控制系统——Git.可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)

分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

本篇导读: 可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)统一发布新版本.各个地区的开发者,还可以离线开发,这样版本管理系统之所以火,也和当今社会万众创新的氛围分不开.通过Git你可以尽情的发挥想象力,开源的春天已经到来,让我们启航吧!  1. Git简介 名称:Git (Git的读音为/g?t/,开源.免费.分布式的版

Git 服务器搭建与客户端安装

大纲: 一.前言 二.搭建Git服务器 yum安装Git服务器 创建一个git用户,用来运行git服务 创建客户端登录证书 初始化Git仓库 禁用shell登录 克隆远程仓库 三.安装客户端 Windows 客户端 Linux 客户端 四.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 一

git服务器搭建post-receive 钩子部署服务端代码

一.git服务器搭建(服务器用户:root) 安装git $ apt-get install git 创建git用户 $ adduser git$ passwd git //修改git用户密码 创建git仓库 $ cd /home$ mkdir git$ mkdir ./git/.ssh$ touch./git/.ssh/authorized_keys$ cd /home/git$ git init --bare test.git //初始化仓库$ chown -R git:git ../git

版本控制——Git 使用笔记,以及Windows搭建Git服务器

Git和Github的关系 链接:http://www.zhihu.com/question/21907548/answer/95284202 来源:知乎 Git是一款免费.开源的分布式版本控制系统 Github是用Git做版本控制的代码托管平台 相当于本地.公司服务器.Github网站服务器都装Git做版本控制,只不过Github的服务器强大些,对全球用户托管的项目用Git做版本控制! 正是由于Github用Git做版本控制,所以可以轻松的记录项目的变迁史,然后有了下图 git是一张弓,git

git 笔记和git 服务器搭建

git安装 centos 安装 yum install -y epel-release yum install -y git tag:ubuntu  apt-get install git git设置 在用户的家目录下有个.gitconfig文件,里面记录用户的姓名和邮箱地址 git config --global user.name "name" git config --global user.email "mail address" git 命令 git  i

git(学习之四)git协议服务器搭建

####################################################################################################### qq:1218761836 qq群:150181442 E-mail:[email protected] #############################################################################################