惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
T
Threat Research - Cisco Blogs
小众软件
小众软件
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
S
Secure Thoughts
O
OpenAI News
P
Proofpoint News Feed
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
T
Tenable Blog
A
Arctic Wolf
L
LINUX DO - 热门话题
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
博客园 - Franky
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
H
Heimdal Security Blog

Rat's Blog - Git

一个基于NodeJS和Markdown的轻量级wiki应用程序:Wiki.js安装教程 - Rat's Blog 一款易搭建,运行快的Git服务器:Gitea安装教程 - Rat's Blog 一款极易搭建的自助Git服务器:Gogs安装教程 - Rat's Blog Debian/Ubuntu/CentOS安装Git教程 - Rat's Blog
在Linux上快速搭建Git服务器教程 - Rat's Blog
博主: Rat's · 2017-11-07 · via Rat's Blog - Git

说明:Git是一个分布式的版本控制系统,也就意味着它可以在有网络环境或者没有网络环境的时候使用。而通常情况下会搭建一个服务端,所有用户的更改统一发布到服务端上。

服务器上的Git

一般情况下如果想与他人合作,就需要一个远程的Git仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在自己不开机的时候也能从仓库获取数据—拥有一个更稳定的公共仓库十分有用。因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据。我们将把这个仓库称为 "Git 服务器";代理一个Git仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行。

更多参考:服务器上的 Git

Git的安装

# CentOS REHL
# yum install git
 
# Ubuntu
# sudo apt-get install git
 
# Windows
访问:http://git-scm.com/download/

部署Git

本文主要介绍通过SSH的方式访问Git的部署。

1、在客户端生成公钥
每个需要使用Git服务器的客户端都需要生成这个公钥,然后将它们全部上传到服务器。
使用命令:

$ ssh-keygen

或者指定密钥算法和用户标识:

$ ssh-keygen -t rsa -C "youremail@example.com"

然后在你的用户文件夹下,会生成一个.ssh文件夹,里边有两个文件:id_rsa(私钥,不要泄漏)id_rsa.pub(公钥,复制到服务器上)

cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local

2、服务端搭建
新建git用户:

# useradd git
# su - git
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ touch authorized_keys
$ chmod 600 authorized_keys

请注意,.ssh文件夹的权限为700authorized_keys文件的权限为600,一定要这样设置,不然无法生效。
将公钥添加到authorized_keys,一行一个。

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys

创建裸仓库:

$ mkdir ~/project.git
$ cd ~/project.git
$ git --bare init

git用户设置为不可使用shell

# sudo vim /etc/passwd

最后一行应该类似于:

git:x:1000:1000::/home/git:/bin/bash

/bin/bash改为/usr/bin/git-shell(使用which git-shell查看路径)

git:x:1000:1000::/home/git:/usr/bin/git-shell

客户端使用

git clone git@server:/home/git/project.git

如果目录在git的用户目录下,可以省略/home/git

git clone git@server:project.git

如果配置正常,应该可以直接拉下来了。如果不正常,一般是会让输入密码或者提示权限不足,请重新看一下本教程,确认无误。

原文地址:Linux上Git服务器搭建教程


版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!

本文链接:https://www.moerats.com/archives/399/

如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。