<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bernie Yu &#187; git</title>
	<atom:link href="http://bernieyu.com/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://bernieyu.com</link>
	<description>复刻生活</description>
	<lastBuildDate>Tue, 17 May 2016 09:03:15 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>在群晖Nas上搭建Git服务器</title>
		<link>http://bernieyu.com/2015/06/built-git-server-on-synology-nas/</link>
		<comments>http://bernieyu.com/2015/06/built-git-server-on-synology-nas/#comments</comments>
		<pubDate>Fri, 26 Jun 2015 07:53:57 +0000</pubDate>
		<dc:creator><![CDATA[Bernie Yu]]></dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[IT技术]]></category>
		<category><![CDATA[Synology]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[安装]]></category>
		<category><![CDATA[黑群晖]]></category>

		<guid isPermaLink="false">http://bernieyu.com/?p=244</guid>
		<description><![CDATA[开启DSM的SSH远程功能 在“控制面板” →“终端机和SNMP”→“启动SSH功能” 建立Git用户 在“控 ... <a class="more-link" href="http://bernieyu.com/2015/06/built-git-server-on-synology-nas/">　　>>阅读全文&#60;&#60;</a>]]></description>
				<content:encoded><![CDATA[<ol>
<li>开启DSM的SSH远程功能<br />
在“控制面板” →“终端机和SNMP”→“启动SSH功能”<br />
<img class="size-full wp-image-245" src="http://bernieyu.com/wp-content/uploads/2015/06/20150626141436.png" alt="20150626141436" width="501" height="220" /></li>
<li>建立Git用户<br />
在“控制面板” →“用户账号”中添加Git专用用户。此处设置为git，用户组为users。权限为禁止访问任何共享文件夹<br />
<img class="alignnone size-full wp-image-246" src="http://bernieyu.com/wp-content/uploads/2015/06/20150626141852.png" alt="20150626141852" width="560" height="226" /></li>
<li>安装Git<br />
进入“套件中心”，找到Git Server，安装<br />
<img class="alignnone size-large wp-image-247" src="http://bernieyu.com/wp-content/uploads/2015/06/20150626142125-1024x517.png" alt="20150626142125" width="640" height="323" />安装完成后，打开Git设置界面，将之前添加的git用户设置为允许访问<img class="alignnone size-full wp-image-248" src="http://bernieyu.com/wp-content/uploads/2015/06/20150626142342.png" alt="20150626142342" width="599" height="351" /></li>
<li>创建Git库文件夹并设置权限<br />
以root用户SSH登录到DSM，在目标盘下创建git库目录</p>
<pre>cd /volume1
mkdir git</pre>
<p>创建测试项目</p>
<pre>cd git
mkdir test</pre>
<p>初始化git</p>
<pre>cd test
git init --bare</pre>
<p>设置目录权限</p>
<pre>chown -R git:users /volume1/git</pre>
</li>
<li>客户端：<br />
Windows：<br />
下载并安装  <a href="http://msysgit.github.io/">http://msysgit.github.io/</a><br />
Linux：</p>
<pre>yum install git-core</pre>
<p>或</p>
<pre>apt-get install git-core</pre>
<p>安装完成后，进入git-bash，测试</p>
<pre>git clone ssh://git@192.168.1.5/volume1/git/test</pre>
<p>测试添加文件并提交到本地库</p>
<pre>echo "t1.txt" &gt;t1.txt

git add t1.txt

git commit -m "add t1.txt"</pre>
<p>推送到远程库</p>
<pre>git push origin master</pre>
</li>
<li>设置SSH Key<br />
现在所有与远程库的交互都需要输入密码，除了不方便，还有不安全，不过可以使用SSH公钥来进行授权。<br />
在msysgit安装好后，已经生成了公钥和密钥。在git-bash中查看：</p>
<pre>$ ls ~/.ssh
id_rsa  id_rsa.pub  known_hosts</pre>
<p>其中，id_rsa就是私钥，id_rsa.pub则是公钥。把公钥复制到远程服务器：</p>
<pre>$ scp -P 9822 ~/.ssh/id_rsa.pub  root@192.168.1.5:/volume1/homes/git/.</pre>
<p>这里用的不是SSH标准的22端口，而是9822。如果是标准端口，则不用输入-P参数<br />
把公钥内容追加到authorized_keys</p>
<pre>mkdir /volume1/homes/git/.ssh
cat /volume1/homes/git/id_rsa.john.pub &gt;&gt; /volume1/homes/git/.ssh/authorized_keys</pre>
<p>更改权限</p>
<pre>chown -R git:users /volume1/homes/git/.ssh
chmod 644 /volume1/homes/git/.ssh/authorized_keys</pre>
<p>再与远程库交互就不会再要求输入密码了。</li>
<li>配置SourceTree的SSH Key<br />
使用SourceTree做客户端的话，SSH Key的配置有一些不同。<br />
首先需要在“工具”→“选项”→“一般”中，将SSH客户端设置为“PuTTY/Plink”<br />
<img class="alignnone size-full wp-image-249" src="http://bernieyu.com/wp-content/uploads/2015/06/20150626154646.png" alt="20150626154646" width="542" height="338" /><br />
然后进入“工具”→“创建或导入SSH密钥”<br />
<img class="alignnone size-full wp-image-250" src="http://bernieyu.com/wp-content/uploads/2015/06/20150626154946.png" alt="20150626154946" width="492" height="476" /><br />
其中“Generate”是生成新的密钥对，“Load”则是读取已经存在的私钥（比如上面git-bash里已经生成的私钥。<br />
生成或读取后，分别保存公钥和私钥。私钥由客户端使用，公钥则需要添加到服务上的authorized_keys文件里。<br />
在服务器端添加成功后，就可以不用再输入密码了。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://bernieyu.com/2015/06/built-git-server-on-synology-nas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
