<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Git Server on GitFAQ中文网</title><link>http://www.gitfaq.cn/tags/git-server/</link><description>Recent content in Git Server on GitFAQ中文网</description><generator>Hugo</generator><language>zh</language><copyright>[black8](https://0x8.net/)</copyright><lastBuildDate>Mon, 26 Oct 2026 17:16:02 +0800</lastBuildDate><atom:link href="http://www.gitfaq.cn/tags/git-server/index.xml" rel="self" type="application/rss+xml"/><item><title>如何最简便的搭建Git服务?</title><link>http://www.gitfaq.cn/posts/Simplified_solution_to_build_Git_services/</link><pubDate>Thu, 25 Jul 2024 17:18:12 +0800</pubDate><guid>http://www.gitfaq.cn/posts/Simplified_solution_to_build_Git_services/</guid><description>&lt;p&gt;假设你有个绑定域名为&lt;code&gt;git.gitfaq.cn&lt;/code&gt;的服务器，并且可以通过SSH登录,计划将所有仓库(repository)放到&lt;code&gt;/data/git&lt;/code&gt;目录中。&lt;/p&gt;&#10;&lt;h3 id="建立仓库repository"&gt;建立仓库(repository)&lt;a class="anchor" href="#%e5%bb%ba%e7%ab%8b%e4%bb%93%e5%ba%93repository" aria-label="Link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;本地新建仓库(repository)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir repo.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git init&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将仓库(repository)上传到服务器中。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;scp -r repo.git user@git.gitfaq.cn:/data/git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;成功后，即可通过&lt;code&gt;user@git.gitfaq.cn:/data/git/repo.git&lt;/code&gt;来访问远端仓库。&lt;/p&gt;&#10;&lt;h3 id="访问仓库repository"&gt;访问仓库(repository)&lt;a class="anchor" href="#%e8%ae%bf%e9%97%ae%e4%bb%93%e5%ba%93repository" aria-label="Link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;建立好仓库后，拥有SSH权限的user就可以对&lt;code&gt;user@git.gitfaq.cn:/data/git/repo.git&lt;/code&gt;拥有操作权限。&lt;/p&gt;&#10;&lt;p&gt;还可以通过&lt;code&gt;git init --shared&lt;/code&gt;设置仓库目录的组权限为可写，此命令不会影响任何提交、引用等内容。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh user@git.gitfaq.cn&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;cd&lt;/span&gt; /data/git/repo.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git init --bare --shared&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果需要多个用户都对仓库有读写权限，又不能给每个用户在服务器上建立账户，那么提供 SSH 连接就是唯一的选择。 假设用来共享仓库的服务器已经安装了 SSH 服务，而且你通过它访问服务器。&lt;/p&gt;&#10;&lt;p&gt;以下几个方法可以使你给团队每个成员提供访问权:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;给每个人创建账号，为每个人运行一次 &lt;code&gt;adduser&lt;/code&gt;（或者 &lt;code&gt;useradd&lt;/code&gt;）并且设置密码。&lt;/li&gt;&#10;&lt;li&gt;在主机上建立一个 &lt;code&gt;git&lt;/code&gt; 公用账户，每个需要权限的人发一个 &lt;strong&gt;SSH 公钥&lt;/strong&gt;， 然后将其加入 &lt;code&gt;git&lt;/code&gt; 账户的 &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt; 文件。 这样一来，所有人都将通过 &lt;code&gt;git&lt;/code&gt;账户访问主机。&lt;/li&gt;&#10;&lt;li&gt;让 SSH 服务器通过某个 LDAP 服务，或者其他已经设定好的集中授权机制，来进行授权。 只要每个用户可以获得主机的 shell 访问权限，任何 SSH 授权机制你都可视为是有效的。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote class=''&gt;&#10;&lt;p&gt;AI生成&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item></channel></rss>