在 Linux 下搭建 Git 服务器_chown -r git:git wechat-程序员宅基地

<div id="mainContent">
	<div class="forFlow">
		
<div id="post_detail">
<!--done-->
<div id="topics">
	<div class="post">
		<h1 class="postTitle">
			<a id="cb_post_title_url" class="postTitle2" href="http://www.cnblogs.com/dee0912/p/5815267.html">在 Linux 下搭建 Git 服务器</a>
		</h1>
		<div class="clear"></div>
		<div class="postBody">
			<div id="cnblogs_post_body"><div class="cnblogs_code">
<pre><span style="color: #000000;">环境:</span><span style="color: #000000;">
服务器 CentOS6.6 + git(version </span><span style="color: #800080;">1.7</span>.<span style="color: #800080;">1)<br><span style="color: #000000;">客户端 Windows10 + </span></span>git(version 2.8.4.windows.1)</pre>
</div>
<h2> </h2>
<h2>① 安装 Git</h2>
<p>Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git</p>
<p><strong>服务器端:</strong></p>
<div class="cnblogs_code">
<pre>#yum install -y git</pre>
</div>
<p>安装完后,查看 Git 版本</p>
<div class="cnblogs_code">
<pre>[root@localhost ~]# git --<span style="color: #000000;">version
git version </span><span style="color: #800080;">1.7</span>.<span style="color: #800080;">1</span></pre>
</div>
<p> </p>
<p><strong>客户端:</strong></p>
<p>下载 <a href="https://github.com/git-for-windows/git/releases/download/v2.9.3.windows.2/Git-2.9.3.2-64-bit.exe" target="_blank">Git for Windows</a>,地址:<a href="https://git-for-windows.github.io/" target="_blank">https://git-for-windows.github.io/</a></p>
<p>安装完之后,可以使用 Git Bash 作为命令行客户端。</p>
<p>安装完之后,查看 Git 版本</p>
<div class="cnblogs_code">
<pre>$ git --<span style="color: #000000;">version
git version </span><span style="color: #800080;">2.8</span>.<span style="color: #800080;">4</span>.windows.<span style="color: #800080;">1</span></pre>
</div>
<p> </p>
<h2>② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码</h2>
<div class="cnblogs_code">
<pre><span style="color: #000000;">[root@localhost home]# id git
id: git:无此用户
[root@localhost home]# useradd git
[root@localhost home]# passwd git<br></span></pre>
</div>
<p> </p>
<h2>③ 服务器端创建 Git 仓库</h2>
<p>设置 /home/data/git/gittest.git 为 Git 仓库</p>
<p>然后把 Git 仓库的 owner 修改为 git</p>
<div class="cnblogs_code">
<pre>[root@localhost home]# mkdir -p data/git/<span style="color: #000000;">gittest.git
[root@localhost home]# git init </span>--bare data/git/<span style="color: #000000;">gittest.git
Initialized empty Git repository </span><span style="color: #0000ff;">in</span> /home/data/git/gittest.git/<span style="color: #000000;">
[root@localhost home]# cd data</span>/git/<span style="color: #000000;">
[root@localhost git]# chown </span>-R git:git gittest.git/</pre>
</div>
<p> </p>
<h2>④ 客户端 clone 远程仓库</h2>
<p>进入 Git Bash 命令行客户端,创建项目地址(设置在 d:/wamp64/www/gittest_gitbash)并进入:</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" οnclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre>dee@Lenovo-PC MINGW64 /<span style="color: #000000;">d
$ cd wamp64</span>/<span style="color: #000000;">www

dee@Lenovo</span>-PC MINGW64 /d/wamp64/<span style="color: #000000;">www
$ mkdir gittest_gitbash

dee@Lenovo</span>-PC MINGW64 /d/wamp64/<span style="color: #000000;">www
$ cd gittest_gitbash

dee@Lenovo</span>-PC MINGW64 /d/wamp64/www/<span style="color: #000000;">gittest_gitbash
$</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" οnclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p> </p>
<p>然后从 Linux Git 服务器上 clone 项目:</p>
<div class="cnblogs_Highlighter sh-gutter">
<div><div id="highlighter_218259" class="syntaxhighlighter  csharp"><div class="toolbar"><span><a href="#" class="toolbar_item command_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="csharp plain">$ git clone [email protected]:/home/data/gittest.git</code></div></div></td></tr></tbody></table></div></div>
</div>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828224409166-1327160680.png" alt="">  </p>
<p>当第一次连接到目标 Git 服务器时会得到一个提示:</p>
<div class="cnblogs_code">
<pre>The authenticity of host <span style="color: #800000;">'</span><span style="color: #800000;">192.168.56.101 (192.168.56.101)</span><span style="color: #800000;">'</span> can<span style="color: #800000;">'</span><span style="color: #800000;">t be established.</span>
RSA key fingerprint <span style="color: #0000ff;">is</span> SHA256:Ve6WV/<span style="color: #000000;">SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ.
Are you sure you want to </span><span style="color: #0000ff;">continue</span> connecting (yes/no)? </pre>
</div>
<p>选择 yes:</p>
<div class="cnblogs_code">
<pre>Warning: Permanently added <span style="color: #800000;">'</span><span style="color: #800000;">192.168.56.101</span><span style="color: #800000;">'</span> (RSA) to the list of known hosts.</pre>
</div>
<p>此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。</p>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828225138698-412131557.png" alt=""></p>
<p>后面提示要输入密码,可以采用 SSH 公钥来进行验证。</p>
<p> </p>
<h2>⑤ 客户端创建 SSH 公钥和私钥</h2>
<div class="cnblogs_code">
<pre>$ ssh-keygen -t rsa -C <span style="color: #800000;">"</span><span style="color: #800000;">[email protected]</span><span style="color: #800000;">"</span></pre>
</div>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828225309533-1152112221.png" alt=""></p>
<p>此时 C:\Users\用户名\.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub</p>
<p>id_rsa 是私钥</p>
<p>id_rsa.pub 是公钥</p>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828225436257-770631205.png" alt="" width="890" height="356"></p>
<p> </p>
<h2>⑥ 服务器端 Git 打开 RSA 认证</h2>
<p>进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:</p>
<div class="cnblogs_code">
<pre><span style="color: #000000;">RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh</span>/authorized_keys</pre>
</div>
<p>保存并重启 sshd 服务:</p>
<div class="cnblogs_code">
<pre>[root@localhost ssh]# /etc/rc.d/init.d/sshd restart</pre>
</div>
<p> </p>
<p>由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys</p>
<p>在 /home/git/ 下创建目录 .ssh</p>
<div class="cnblogs_code">
<pre><span style="color: #000000;">[root@localhost git]# pwd
</span>/home/<span style="color: #000000;">git<br></span>[root@localhost git]# mkdir .ssh<br><span>[root@localhost git]# ls </span>-<span>a <br>. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla .ssh</span></pre>
</div>
<p>然后把 .ssh 文件夹的 owner 修改为 git</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" οnclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre>[root@localhost git]# chown -<span style="color: #000000;">R git:git .ssh
[root@localhost git]# ll </span>-<span style="color: #000000;">a
总用量 </span><span style="color: #800080;">32</span><span style="color: #000000;">
drwx</span>------. <span style="color: #800080;">5</span> git  git  <span style="color: #800080;">4096</span> 8月  <span style="color: #800080;">28</span> <span style="color: #800080;">20</span>:<span style="color: #800080;">04</span><span style="color: #000000;"> .
drwxr</span>-xr-x. <span style="color: #800080;">8</span> root root <span style="color: #800080;">4096</span> 8月  <span style="color: #800080;">28</span> <span style="color: #800080;">19</span>:<span style="color: #800080;">32</span><span style="color: #000000;"> ..
</span>-rw-r--r--. <span style="color: #800080;">1</span> git  git    <span style="color: #800080;">18</span> 10月 <span style="color: #800080;">16</span> <span style="color: #800080;">2014</span><span style="color: #000000;"> .bash_logout
</span>-rw-r--r--. <span style="color: #800080;">1</span> git  git   <span style="color: #800080;">176</span> 10月 <span style="color: #800080;">16</span> <span style="color: #800080;">2014</span><span style="color: #000000;"> .bash_profile
</span>-rw-r--r--. <span style="color: #800080;">1</span> git  git   <span style="color: #800080;">124</span> 10月 <span style="color: #800080;">16</span> <span style="color: #800080;">2014</span><span style="color: #000000;"> .bashrc
drwxr</span>-xr-x. <span style="color: #800080;">2</span> git  git  <span style="color: #800080;">4096</span> 11月 <span style="color: #800080;">12</span> <span style="color: #800080;">2010</span><span style="color: #000000;"> .gnome2
drwxr</span>-xr-x. <span style="color: #800080;">4</span> git  git  <span style="color: #800080;">4096</span> 5月   <span style="color: #800080;">8</span> <span style="color: #800080;">12</span>:<span style="color: #800080;">22</span><span style="color: #000000;"> .mozilla
drwxr</span>-xr-x. <span style="color: #800080;">2</span> git  git  <span style="color: #800080;">4096</span> 8月  <span style="color: #800080;">28</span> <span style="color: #800080;">20</span>:<span style="color: #800080;">08</span> .ssh</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" οnclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p> </p>
<h2>⑦ 将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件</h2>
<p>回到 Git Bash 下,导入文件:</p>
<div class="cnblogs_code">
<pre>$ ssh git@<span style="color: #800080;">192.168</span>.<span style="color: #800080;">56.101</span> <span style="color: #800000;">'</span><span style="color: #800000;">cat >> .ssh/authorized_keys</span><span style="color: #800000;">'</span> < ~/.ssh/id_rsa.pub</pre>
</div>
<p>需要输入服务器端 git 用户的密码</p>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828230957010-2048402011.png" alt=""></p>
<p> </p>
<p>回到服务器端,查看 .ssh 下是否存在 authorized_keys 文件:</p>
<div class="cnblogs_code">
<pre><span style="color: #000000;">[root@localhost git]# cd .ssh
[root@localhost .ssh]# ll
总用量 </span><span style="color: #800080;">4</span>
-rw-rw-r--. <span style="color: #800080;">1</span> git git <span style="color: #800080;">398</span> 8月  <span style="color: #800080;">28</span> <span style="color: #800080;">20</span>:<span style="color: #800080;">08</span> authorized_keys</pre>
</div>
<p>可以查看一下是否是客户端生成的公钥。</p>
<p> </p>
<p><strong><span style="color: #ff0000;">重要:</span></strong></p>
<p><strong><span style="color: #ff0000;">修改 .ssh 目录的权限为 700</span></strong></p>
<p><strong><span style="color: #ff0000;">修改 .ssh/authorized_keys 文件的权限为 600</span></strong></p>
<div class="cnblogs_code">
<pre>[root@localhost git]# chmod <span style="color: #800080;">700</span><span style="color: #000000;"> .ssh
[root@localhost git]# cd .ssh
[root@localhost .ssh]# chmod </span><span style="color: #800080;">600</span> authorized_keys </pre>
</div>
<p> </p>
<h2>⑧ 客户端再次 clone 远程仓库</h2>
<div class="cnblogs_code">
<pre>$ git clone git@<span style="color: #800080;">192.168</span>.<span style="color: #800080;">56.101</span>:/home/data/git/gittest.git</pre>
</div>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828232005724-1805448371.png" alt=""></p>
<p> </p>
<p>查看客户端项目目录:</p>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828232049743-1094594088.png" alt="" width="887" height="342"></p>
<p> </p>
<p>项目已经 clone 了。</p>
<p> </p>
<p>也可以使用 tortoiseGit 客户端来管理项目:</p>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828232607719-1403152861.png" alt="" width="884" height="509"></p>
<p>clone</p>
<p><img src="http://images2015.cnblogs.com/blog/534303/201608/534303-20160828232757086-2087480963.png" alt=""></p>
<p> </p>
<h2>⑨ 禁止 git 用户 ssh 登录服务器</h2>
<p>之前在服务器端创建的 git 用户不允许 ssh 登录服务器</p>
<p>编辑 /etc/passwd</p>
<p>找到:</p>
<div class="cnblogs_code">
<pre>git:x:<span style="color: #800080;">502</span>:<span style="color: #800080;">504</span>::/home/git:/bin/bash</pre>
</div>
<p>修改为</p>
<div class="cnblogs_code">
<pre>git:x:<span style="color: #800080;">502</span>:<span style="color: #800080;">504</span>::/home/git:/bin/git-shell</pre>
</div>
<p>此时 git 用户可以正常通过 ssh 使用 git,但无法通过 ssh 登录系统。</p>
<p> </p>
<p>参考:<a href="http://blog.csdn.net/wave_1102/article/details/47779401" target="_blank">在CentOS下搭建自己的Git服务器</a></p></div><div id="MySignature"></div>
<div class="clear"></div>
<div id="blog_post_info_block">
<div id="BlogPostCategory"></div>
<div id="EntryTag">标签: <a href="http://www.cnblogs.com/dee0912/tag/git/">git</a></div>
<div id="blog_post_info"><div id="green_channel">
        <a href="javascript:void(0);" id="green_channel_digg" οnclick="DiggIt(5815267,cb_blogId,1);green_channel_success(this,'谢谢推荐!');">好文要顶</a>
            <a id="green_channel_follow" οnclick="follow('b4fd652a-8fc9-e211-8d02-90b11c0b17d6');" href="javascript:void(0);">关注我</a>
    <a id="green_channel_favorite" οnclick="AddToWz(cb_entryId);return false;" href="javascript:void(0);">收藏该文</a>
    <a id="green_channel_weibo" href="javascript:void(0);" title="分享至新浪微博" οnclick="ShareToTsina()"><img src="//common.cnblogs.com/images/icon_weibo_24.png" alt=""></a>
    <a id="green_channel_wechat" href="javascript:void(0);" title="分享至微信" οnclick="shareOnWechat()"><img src="//common.cnblogs.com/images/wechat.png" alt=""></a>
</div>
<div id="author_profile">
    <div id="author_profile_info" class="author_profile_info">
            <a href="http://home.cnblogs.com/u/dee0912/" target="_blank"><img src="//pic.cnblogs.com/face/534303/20160707124938.png" class="author_avatar" alt=""></a>
        <div id="author_profile_detail" class="author_profile_info">
            <a href="http://home.cnblogs.com/u/dee0912/">黄棣-dee</a><br>
            <a href="http://home.cnblogs.com/u/dee0912/followees">关注 - 7</a><br>
            <a href="http://home.cnblogs.com/u/dee0912/followers">粉丝 - 44</a>
        </div>
    </div>
    <div class="clear"></div>
    <div id="author_profile_honor"></div>
    <div id="author_profile_follow">
                <a href="javascript:void(0);" οnclick="follow('b4fd652a-8fc9-e211-8d02-90b11c0b17d6');return false;">+加关注</a>
    </div>
</div>
<div id="div_digg">
    <div class="diggit" οnclick="votePost(5815267,'Digg')">
        <span class="diggnum" id="digg_count">4</span>
    </div>
    <div class="buryit" οnclick="votePost(5815267,'Bury')">
        <span class="burynum" id="bury_count">0</span>
    </div>
    <div class="clear"></div>
    <div class="diggword" id="digg_tips">
    </div>
</div>
</div>
<div class="clear"></div>
<div id="post_next_prev"><a href="http://www.cnblogs.com/dee0912/p/5795511.html" class="p_n_p_prefix">« </a> 上一篇:<a href="http://www.cnblogs.com/dee0912/p/5795511.html" title="发布于2016-08-22 14:33">使用 SVN Hook 实现服务器端代码自动更新</a><br><a href="http://www.cnblogs.com/dee0912/p/5940288.html" class="p_n_p_prefix">» </a> 下一篇:<a href="http://www.cnblogs.com/dee0912/p/5940288.html" title="发布于2016-10-08 21:44">PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比</a><br></div>
</div>


		</div>
		<div class="postDesc">posted @ <span id="post-date">2016-08-28 23:36</span> <a href="http://www.cnblogs.com/dee0912/">黄棣-dee</a> 阅读(<span id="post_view_count">14075</span>) 评论(<span id="post_comment_count">2</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5815267" rel="nofollow">编辑</a> <a href="#" οnclick="AddToWz(5815267);return false;">收藏</a></div>
	</div>
	<script type="text/javascript">var allowComments=true,cb_blogId=196695,cb_entryId=5815267,cb_blogApp=currentBlogApp,cb_blogUserGuid='b4fd652a-8fc9-e211-8d02-90b11c0b17d6',cb_entryCreatedDate='2016/8/28 23:36:00';loadViewCount(cb_entryId);</script>
	
</div><!--end: topics 文章、评论容器-->
</div><a name="!comments"></a><div id="blog-comments-placeholder"><div id="comments_pager_top"></div>
<!--done-->
<div class="feedback_area_title">评论列表</div>
<div class="feedbackNoItems"></div>
	

		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					  <span class="comment_actions"></span>
				</div>
				<a href="#3536957" class="layer">#1楼</a><a name="3536957" id="comment_anchor_3536957"></a>  <span class="comment_date">2016-10-20 15:26</span> <a id="a_comment_author_3536957" href="http://home.cnblogs.com/u/911276/" target="_blank">ck2016</a> <a href="http://msg.cnblogs.com/send/ck2016" title="发送站内短消息" class="sendMsg2This"> </a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_3536957" class="blog_comment_body">楼主辛苦了,谢谢</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" οnclick="return voteComment(3536957,'Digg',this)">支持(1)</a><a href="javascript:void(0);" class="comment_bury" οnclick="return voteComment(3536957,'Bury',this)">反对(0)</a></div>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					  <span class="comment_actions"></span>
				</div>
				<a href="#3644941" class="layer">#2楼</a><a name="3644941" id="comment_anchor_3644941"></a><span id="comment-maxId" style="display:none;">3644941</span><span id="comment-maxDate" style="display:none;">2017/3/19 15:53:29</span>  <span class="comment_date">2017-03-19 15:53</span> <a id="a_comment_author_3644941" href="http://www.cnblogs.com/zhouqiren/" target="_blank">mrossZ</a> <a href="http://msg.cnblogs.com/send/mrossZ" title="发送站内短消息" class="sendMsg2This"> </a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_3644941" class="blog_comment_body">很好,按照楼主所写的 搭建成功了。多谢!</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" οnclick="return voteComment(3644941,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" οnclick="return voteComment(3644941,'Bury',this)">反对(0)</a></div><span id="comment_3644941_avatar" style="display:none;">http://pic.cnblogs.com/face/871928/20160103210017.png</span>
			</div>
		</div>
	<div id="comments_pager_bottom"></div></div><script type="text/javascript">var commentManager = new blogCommentManager();commentManager.renderComments(0);</script>
<div id="comment_form" class="commentform">
<a name="commentform"></a>
<div id="divCommentShow"></div>
<div id="comment_nav"><span id="span_refresh_tips"></span><a href="javascript:void(0);" οnclick="return RefreshCommentList();" id="lnk_RefreshComments" runat="server" clientidmode="Static">刷新评论</a><a href="#" οnclick="return RefreshPage();">刷新页面</a><a href="#top">返回顶部</a></div>
<div id="comment_form_container"><div class="login_tips">注册用户登录后才能发表评论,请 <a rel="nofollow" href="javascript:void(0);" class="underline" οnclick="return login('commentform');">登录</a> 或 <a rel="nofollow" href="javascript:void(0);" class="underline" οnclick="return register();">注册</a>,<a href="http://www.cnblogs.com">访问</a>网站首页。</div></div>
<div class="ad_text_commentbox" id="ad_text_under_commentbox"></div>
<div id="ad_t2"><a href="http://www.ucancode.com/index.htm" target="_blank">【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库</a><br><a href="http://www.gcpowertools.com.cn/products/activereports/excel.htm?utm_source=cnblogs&utm_medium=blogpage&utm_term=bottom&utm_content=AR&utm_campaign=community" target="_blank">【报表】Excel 报表开发18 招式,人人都能做报表</a><br><a href="http://click.aliyun.com/m/15483" target="_blank">【活动】阿里云海外云服务全面降价助力企业全球布局</a><br><a href="https://group.cnblogs.com/topic/76829.html" target="_blank">【实用】40+篇云服务器操作及运维基础知识!</a><br></div>
<div id="opt_under_post"></div>
<div id="cnblogs_c1" class="c_ad_block"><a href="https://cn.udacity.com/course/deep-learning-nanodegree-foundation--nd101/?utm_source=cnblogs&utm_medium=referral&utm_campaign=DLND03" target="_blank"><img width="300" height="250" src="https://images2015.cnblogs.com/news/24442/201705/24442-20170517165947322-839645573.jpg" alt="深度学习0525"></a></div>
<div id="under_post_news"><div class="itnews c_ad_block"><b>最新IT新闻</b>:<br> ·  <a href="http://news.cnblogs.com/n/570180/" target="_blank">周鸿祎:初创公司快速成长的“四步走”战略</a><br> ·  <a href="http://news.cnblogs.com/n/570175/" target="_blank">售价5000美元:初代iPad原型机亮相eBay</a><br> ·  <a href="http://news.cnblogs.com/n/570179/" target="_blank">emoi基本生活回应毛巾哥:当年的抄袭,几近拖垮基本生活</a><br> ·  <a href="http://news.cnblogs.com/n/570178/" target="_blank">这就是特斯拉的先进生产线?事故率伤亡率远远高于同行</a><br> ·  <a href="http://news.cnblogs.com/n/570177/" target="_blank">一张图看懂小米Max 2!1699元/5300mAh续航神机</a><br>» <a href="http://news.cnblogs.com/" title="IT新闻" target="_blank">更多新闻...</a></div></div>
<div id="cnblogs_c2" class="c_ad_block"><a href="http://click.aliyun.com/m/17215/" target="_blank"><img width="468" height="60" src="//images2015.cnblogs.com/news/24442/201704/24442-20170417123605337-535991337.jpg" alt="阿里云E4"></a></div>
<div id="under_post_kb"><div class="itnews c_ad_block" id="kb_block"><b>最新知识库文章</b>:<br><div id="kb_recent"> ·  <a href="http://kb.cnblogs.com/page/569992/" target="_blank">程序员的工作、学习与绩效</a><br> ·  <a href="http://kb.cnblogs.com/page/569056/" target="_blank">软件开发为什么很难</a><br> ·  <a href="http://kb.cnblogs.com/page/565901/" target="_blank">唱吧DevOps的落地,微服务CI/CD的范本技术解读</a><br> ·  <a href="http://kb.cnblogs.com/page/566523/" target="_blank">程序员,如何从平庸走向理想?</a><br> ·  <a href="http://kb.cnblogs.com/page/566318/" target="_blank">我为什么鼓励工程师写blog</a><br></div>» <a href="http://kb.cnblogs.com/" target="_blank">更多知识库文章...</a></div></div>
<div id="HistoryToday" class="c_ad_block"></div>
<script type="text/javascript">
    fixPostBody();
    setTimeout(function () { incrementViewCount(cb_entryId); }, 50);
    deliverAdT2();
    deliverAdC1();
    deliverAdC2();    
    loadNewsAndKb();
    loadBlogSignature();
    LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
    GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate);
    loadOptUnderPost();
    GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);   
</script>
</div>


	</div><!--end: forFlow -->
	</div>



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FZU_110/article/details/72758212

智能推荐

Delphi dbgrideh序号_dbgrideh增加序号和箭头-程序员宅基地

文章浏览阅读267次。数据库里面的数据没有序号的数据,在dbgrideh上新增一列自定义其字段,例如:id。在dbgrideh控件上的‘OnDrawColumnCell’事件下写下代码。在unidatesource的‘OnDataChange’事件下写下。if DataCol = 0 then //设置在第一列。在编码的开头定义i,为integer。_dbgrideh增加序号和箭头

samber/lo 库的使用方法: 处理切片-程序员宅基地

文章浏览阅读1.4k次,点赞27次,收藏26次。是一个 Go 语言库,提供了一些常用的集合操作函数,如 Filter、Map 和 FilterMap。这个库函数太多,因此我决定按照功能分别介绍,本文介绍的是 samber/lo 库中处理切片的函数。主要参考库的README。_samber/lo

verilog乘法器以及booth编码改进_改进booth编码-程序员宅基地

文章浏览阅读4.6k次,点赞7次,收藏28次。第一章 整数乘法器1.1 整数的概念整数在IEEE 的规定上有,短整数short integer , 中整数integer 和 长整数long integer ,它们之间的关系如下: 整数字节空间取值范围短整数一个字节-127 ~ 127中整数两个字节-32767~32767长整数和四个字节-2147483647~2147483647 在这里笔者以短整数..._改进booth编码

C语言课程笔记知识总结与感想_c语言知识点感想-程序员宅基地

文章浏览阅读1.3k次。 C数据类型。{常量与变量}第2章常量:整型常量: 有符号整型常量:默认int定义为有符号整数,无需使用signed. 无符号整型常量:不能表示成小于零的数。 长整型常量。 无符号长整型常量。 实型..._c语言知识点感想

1.1 基于B/S 结构的 Web 应用_b/s应用-程序员宅基地

文章浏览阅读1.5k次,点赞5次,收藏4次。选项,弹出首选项对话框,在左侧导航树中找到General->Content Types,在右侧Context Types树中展开Text,选择“Java Source File”节点,在下面的“Default encoding"输入框中输入“UTF-8",单击“Update”按钮,即可设置Java文件编码为UTF-8,如图1-9所示。而服务器端有两种,- -种是数据库服务器端,客户端通过数据库连接访问服务器端的数据,另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。_b/s应用

使用 Docker 和 Traefik v1 搭建轻量代码仓库(Gogs)_gogs sqlite 性能-程序员宅基地

文章浏览阅读710次。本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)本文作者: 苏洋创建时间: 2020年02月04日统计字数: 12336字阅读时间: 25分钟阅读本文链接: https://soulteary.com/2020/02/04/gogs-git-server-with-docker-and-..._gogs sqlite 性能

随便推点

苍穹外卖day8(2)用户下单、微信支付

用户下单因为订单信息中包含了其他业务中的数据,在逻辑处理中涉及了多个其他业务,比如要判断地址簿、购物车数据是否为空(查询地址簿和购物车)订单表字段多,在插入数据的时候,要确保每个字段都有值向订单表插入数据后,也得向订单明细表插入数据:具体来说,就是遍历购物车数据,把购物车中的商品详细信息(菜品、套餐、数量、价格…)赋给订单详情表完成下单后要清空购物车订单支付需要商家号,跳过支付,模拟实现订单支付功能。

伯克利大模型排名-程序员宅基地

文章浏览阅读202次。网站: https://arena.lmsys.org/

【已解决】Python的坑:os.system()运行带有空格的长路径和双引号参数有bug_os.system怎么调试-程序员宅基地

文章浏览阅读4.7k次,点赞6次,收藏7次。当DOS命令行带有双引号路径、双引号参数时,os.system()运行的结果总是显示:“XXX(路径名)不是内部或外部命令,也不是可运行的程序或批处理文件。”_os.system怎么调试

基于FPGA的交通灯系统_vivado实例交通灯-程序员宅基地

文章浏览阅读3.6k次,点赞4次,收藏72次。基于FPGA的交通灯系统一、实验目的1.学习和掌握将实践中的要求抽象为逻辑需求关系的方法。2.掌握将小型数字系统划分为控制器和处理器的方法。3.掌握依据ASM图设计小型数字系统的方法4.掌握小型数字系统的调测方法5.掌握可编程器件及其开发软件的使用方法二、主要仪器设备及软件硬件:FPGA核心板(xc7a35tftg256_1)软件:vivado2018.3三、实验任务十字路口的交通灯管理系统。在主干道和小道的十字交叉路口,设置交通灯管理系统,管理车辆运行。小道路口设有传感器C(此处以按_vivado实例交通灯

MLP理解_mlp是什么意思-程序员宅基地

文章浏览阅读3.7w次,点赞97次,收藏245次。一直不理解MLP的作用,今天细看了下几篇博客,记录下自己心得:MLP实质MLP中文叫法是多层感知机,其实质就是神经网络。其提出主要是为了解决单层感知机无法解决的非线性问题。个人理解个人理解,MLP的forward结构可以简单看成:Output=Input×Weights+biases其中:Input:N×C1Weights:C1×C2biases:C2×1Output:N×C2Input一共N行,每行C1个Feature,MLP能够实现将C1维转换为C2维。这C2维中每一维都整合了原_mlp是什么意思

zabbix监控深信服_zabbix3 通过snmpv3监控linux主机-程序员宅基地

文章浏览阅读685次。一、zabbix 3 通过snmp v3监控linux主机原因是第三方系统,无法安装zabbix客户端,只能通过snmp 协议来监控深信服:在AC和SSL_×××等设备中,SNMP默认是开启的,而且默认密码为sinfors(早期版本)或sangfor,而在NGAF中,这个功能不是默认开启的,在“网络/高级网络配置”中,设置了团体名,也无法访问SNMP。后来,经过查询各种资料,得知在NGAF开启SN..._深信服 mib zabbix

推荐文章

热门文章

相关标签