<?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>GIT &#8211; 个人随笔</title>
	<atom:link href="/classify/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6/git/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Sat, 23 Jun 2018 11:00:49 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>/wp-content/uploads/2022/01/cropped-截屏2022-01-01-18.57.09-32x32.png</url>
	<title>GIT &#8211; 个人随笔</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>GitHub（一） 配置、使用</title>
		<link>/%e7%89%88%e6%9c%ac%e6%8e%a7%e5%88%b6/3478.html</link>
					<comments>/%e7%89%88%e6%9c%ac%e6%8e%a7%e5%88%b6/3478.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 10:02:19 +0000</pubDate>
				<category><![CDATA[GIT]]></category>
		<category><![CDATA[版本控制]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[使用]]></category>
		<category><![CDATA[配置]]></category>
		<guid isPermaLink="false">/?p=3478</guid>

					<description><![CDATA[一、了解Git和Github 1、什么是Git Git是一个免费、开源的版本控制软件 问：什么是版本控制软件  [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>一、了解Git和Github</h1>
<h2>1、什么是Git</h2>
<p>Git是一个免费、开源的版本控制软件</p>
<p>问：什么是版本控制软件</p>
<p>答：版本控制是一种记录一个或若干个文件内容变化，以便将来查阅特定版本修订情况得系统。</p>
<h2>2、什么是Github</h2>
<p>Github是全球最大的社交编程及代码托管网站（https://github.com/）</p>
<h2>3、Github和Git是什么关系</h2>
<p>Git是版本控制软件</p>
<p>Github是项目代码托管的平台，借助git来管理项目代码</p>
<h2>4、为什么学习Github</h2>
<ul>
<li>学习优秀的开源项目</li>
<li>关注行业前辈了解最新的行业动态</li>
<li>如：</li>
<li>PHP 鸟哥，现任链家网技术副总裁兼总架构师 https://github.com/laruence</li>
<li>国内流行的PHP开发框架（thinkphp）：https://github.com/top-think/think</li>
<li>全球流行的PHP框架（laravel）：https://github.com/laravel/laravel</li>
<li>PHP编码规范（FIG-PHP）：https://www.gitbook.com/book/jifei/php-fig-standards/details</li>
</ul>
<h1>二、使用Github</h1>
<h2>1、目的</h2>
<ul>
<li>借助github托管项目代码</li>
<li>借助github托管composer软件包</li>
</ul>
<h2>2、注册github账号</h2>
<p><img fetchpriority="high" decoding="async" width="1234" height="601" class="wp-image-3479" src="/wp-content/uploads/2018/05/word-image-3072.png" srcset="/wp-content/uploads/2018/05/word-image-3072.png 1234w, /wp-content/uploads/2018/05/word-image-3072-300x146.png 300w, /wp-content/uploads/2018/05/word-image-3072-768x374.png 768w, /wp-content/uploads/2018/05/word-image-3072-1024x499.png 1024w" sizes="(max-width: 1234px) 100vw, 1234px" /><br />
<img decoding="async" width="859" height="680" class="wp-image-3480" src="/wp-content/uploads/2018/05/word-image-3073.png" srcset="/wp-content/uploads/2018/05/word-image-3073.png 859w, /wp-content/uploads/2018/05/word-image-3073-300x237.png 300w, /wp-content/uploads/2018/05/word-image-3073-768x608.png 768w" sizes="(max-width: 859px) 100vw, 859px" /><br />
<img decoding="async" width="730" height="500" class="wp-image-3481" src="/wp-content/uploads/2018/05/word-image-3074.png" srcset="/wp-content/uploads/2018/05/word-image-3074.png 730w, /wp-content/uploads/2018/05/word-image-3074-300x205.png 300w, /wp-content/uploads/2018/05/word-image-3074-220x150.png 220w" sizes="(max-width: 730px) 100vw, 730px" /><br />
<img loading="lazy" decoding="async" width="758" height="522" class="wp-image-3483" src="/wp-content/uploads/2018/05/word-image-3075.png" srcset="/wp-content/uploads/2018/05/word-image-3075.png 758w, /wp-content/uploads/2018/05/word-image-3075-300x207.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><br />
<img loading="lazy" decoding="async" width="1011" height="590" class="wp-image-3484" src="/wp-content/uploads/2018/05/word-image-3076.png" srcset="/wp-content/uploads/2018/05/word-image-3076.png 1011w, /wp-content/uploads/2018/05/word-image-3076-300x175.png 300w, /wp-content/uploads/2018/05/word-image-3076-768x448.png 768w" sizes="(max-width: 1011px) 100vw, 1011px" /></p>
<h2>3、创建仓库</h2>
<h3>1）说明</h3>
<ul>
<li>一个github仓库存放一个项目</li>
<li>一般使用git软件管理github仓库</li>
</ul>
<h3>2）创建仓库</h3>
<p><img loading="lazy" decoding="async" width="1120" height="562" class="wp-image-3485" src="/wp-content/uploads/2018/05/word-image-3077.png" srcset="/wp-content/uploads/2018/05/word-image-3077.png 1120w, /wp-content/uploads/2018/05/word-image-3077-300x151.png 300w, /wp-content/uploads/2018/05/word-image-3077-768x385.png 768w, /wp-content/uploads/2018/05/word-image-3077-1024x514.png 1024w" sizes="(max-width: 1120px) 100vw, 1120px" /><br />
<img loading="lazy" decoding="async" width="893" height="607" class="wp-image-3486" src="/wp-content/uploads/2018/05/word-image-3078.png" srcset="/wp-content/uploads/2018/05/word-image-3078.png 893w, /wp-content/uploads/2018/05/word-image-3078-300x204.png 300w, /wp-content/uploads/2018/05/word-image-3078-768x522.png 768w, /wp-content/uploads/2018/05/word-image-3078-220x150.png 220w" sizes="(max-width: 893px) 100vw, 893px" /><br />
<img loading="lazy" decoding="async" width="969" height="587" class="wp-image-3487" src="/wp-content/uploads/2018/05/word-image-3079.png" srcset="/wp-content/uploads/2018/05/word-image-3079.png 969w, /wp-content/uploads/2018/05/word-image-3079-300x182.png 300w, /wp-content/uploads/2018/05/word-image-3079-768x465.png 768w" sizes="(max-width: 969px) 100vw, 969px" /></p>
<p>脚下留心</p>
<p><img loading="lazy" decoding="async" width="802" height="478" class="wp-image-3488" src="/wp-content/uploads/2018/05/word-image-3080.png" srcset="/wp-content/uploads/2018/05/word-image-3080.png 802w, /wp-content/uploads/2018/05/word-image-3080-300x179.png 300w, /wp-content/uploads/2018/05/word-image-3080-768x458.png 768w" sizes="(max-width: 802px) 100vw, 802px" /><br />
<img loading="lazy" decoding="async" width="757" height="390" class="wp-image-3489" src="/wp-content/uploads/2018/05/word-image-3081.png" srcset="/wp-content/uploads/2018/05/word-image-3081.png 757w, /wp-content/uploads/2018/05/word-image-3081-300x155.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></p>
<h2>仓库管理</h2>
<h3>︴仓库主页说明【★★★★★★★★★★★★★★】</h3>
<p><img loading="lazy" decoding="async" width="999" height="631" class="wp-image-3490" src="/wp-content/uploads/2018/05/word-image-3082.png" srcset="/wp-content/uploads/2018/05/word-image-3082.png 999w, /wp-content/uploads/2018/05/word-image-3082-300x189.png 300w, /wp-content/uploads/2018/05/word-image-3082-768x485.png 768w" sizes="(max-width: 999px) 100vw, 999px" /></p>
<h3>1）新建文件</h3>
<p><img loading="lazy" decoding="async" width="946" height="443" class="wp-image-3491" src="/wp-content/uploads/2018/05/word-image-3083.png" srcset="/wp-content/uploads/2018/05/word-image-3083.png 946w, /wp-content/uploads/2018/05/word-image-3083-300x140.png 300w, /wp-content/uploads/2018/05/word-image-3083-768x360.png 768w" sizes="(max-width: 946px) 100vw, 946px" /><br />
<img loading="lazy" decoding="async" width="664" height="608" class="wp-image-3492" src="/wp-content/uploads/2018/05/word-image-3084.png" srcset="/wp-content/uploads/2018/05/word-image-3084.png 664w, /wp-content/uploads/2018/05/word-image-3084-300x275.png 300w" sizes="(max-width: 664px) 100vw, 664px" /><br />
<img loading="lazy" decoding="async" width="795" height="398" class="wp-image-3493" src="/wp-content/uploads/2018/05/word-image-3085.png" srcset="/wp-content/uploads/2018/05/word-image-3085.png 795w, /wp-content/uploads/2018/05/word-image-3085-300x150.png 300w, /wp-content/uploads/2018/05/word-image-3085-768x384.png 768w" sizes="(max-width: 795px) 100vw, 795px" /></p>
<h3>2）编辑文件</h3>
<p><img loading="lazy" decoding="async" width="826" height="407" class="wp-image-3494" src="/wp-content/uploads/2018/05/word-image-3086.png" srcset="/wp-content/uploads/2018/05/word-image-3086.png 826w, /wp-content/uploads/2018/05/word-image-3086-300x148.png 300w, /wp-content/uploads/2018/05/word-image-3086-768x378.png 768w" sizes="(max-width: 826px) 100vw, 826px" /><br />
<img loading="lazy" decoding="async" width="860" height="477" class="wp-image-3495" src="/wp-content/uploads/2018/05/word-image-3087.png" srcset="/wp-content/uploads/2018/05/word-image-3087.png 860w, /wp-content/uploads/2018/05/word-image-3087-300x166.png 300w, /wp-content/uploads/2018/05/word-image-3087-768x426.png 768w" sizes="(max-width: 860px) 100vw, 860px" /><br />
<img loading="lazy" decoding="async" width="480" height="506" class="wp-image-3496" src="/wp-content/uploads/2018/05/word-image-3088.png" srcset="/wp-content/uploads/2018/05/word-image-3088.png 480w, /wp-content/uploads/2018/05/word-image-3088-285x300.png 285w" sizes="(max-width: 480px) 100vw, 480px" /><br />
<img loading="lazy" decoding="async" width="923" height="497" class="wp-image-3497" src="/wp-content/uploads/2018/05/word-image-3089.png" srcset="/wp-content/uploads/2018/05/word-image-3089.png 923w, /wp-content/uploads/2018/05/word-image-3089-300x162.png 300w, /wp-content/uploads/2018/05/word-image-3089-768x414.png 768w" sizes="(max-width: 923px) 100vw, 923px" /></p>
<h3>3）删除文件</h3>
<p><img loading="lazy" decoding="async" width="550" height="314" class="wp-image-3498" src="/wp-content/uploads/2018/05/word-image-3090.png" srcset="/wp-content/uploads/2018/05/word-image-3090.png 550w, /wp-content/uploads/2018/05/word-image-3090-300x171.png 300w" sizes="(max-width: 550px) 100vw, 550px" /><br />
<img loading="lazy" decoding="async" width="1014" height="394" class="wp-image-3499" src="/wp-content/uploads/2018/05/word-image-3091.png" srcset="/wp-content/uploads/2018/05/word-image-3091.png 1014w, /wp-content/uploads/2018/05/word-image-3091-300x117.png 300w, /wp-content/uploads/2018/05/word-image-3091-768x298.png 768w" sizes="(max-width: 1014px) 100vw, 1014px" /><br />
<img loading="lazy" decoding="async" width="884" height="603" class="wp-image-3500" src="/wp-content/uploads/2018/05/word-image-3092.png" srcset="/wp-content/uploads/2018/05/word-image-3092.png 884w, /wp-content/uploads/2018/05/word-image-3092-300x205.png 300w, /wp-content/uploads/2018/05/word-image-3092-768x524.png 768w, /wp-content/uploads/2018/05/word-image-3092-220x150.png 220w" sizes="(max-width: 884px) 100vw, 884px" /></p>
<p>︴思考被删除文件如何查看信息</p>
<p>答：通过点击仓库主页的commits</p>
<p><img loading="lazy" decoding="async" width="549" height="407" class="wp-image-3501" src="/wp-content/uploads/2018/05/word-image-3093.png" srcset="/wp-content/uploads/2018/05/word-image-3093.png 549w, /wp-content/uploads/2018/05/word-image-3093-300x222.png 300w" sizes="(max-width: 549px) 100vw, 549px" /><br />
<img loading="lazy" decoding="async" width="980" height="459" class="wp-image-3502" src="/wp-content/uploads/2018/05/word-image-3094.png" srcset="/wp-content/uploads/2018/05/word-image-3094.png 980w, /wp-content/uploads/2018/05/word-image-3094-300x141.png 300w, /wp-content/uploads/2018/05/word-image-3094-768x360.png 768w" sizes="(max-width: 980px) 100vw, 980px" /></p>
<h3>4）上传文件</h3>
<p><img loading="lazy" decoding="async" width="996" height="575" class="wp-image-3503" src="/wp-content/uploads/2018/05/word-image-3095.png" srcset="/wp-content/uploads/2018/05/word-image-3095.png 996w, /wp-content/uploads/2018/05/word-image-3095-300x173.png 300w, /wp-content/uploads/2018/05/word-image-3095-768x443.png 768w" sizes="(max-width: 996px) 100vw, 996px" /><br />
<img loading="lazy" decoding="async" width="906" height="585" class="wp-image-3504" src="/wp-content/uploads/2018/05/word-image-3096.png" srcset="/wp-content/uploads/2018/05/word-image-3096.png 906w, /wp-content/uploads/2018/05/word-image-3096-300x194.png 300w, /wp-content/uploads/2018/05/word-image-3096-768x496.png 768w" sizes="(max-width: 906px) 100vw, 906px" /><br />
<img loading="lazy" decoding="async" width="977" height="576" class="wp-image-3505" src="/wp-content/uploads/2018/05/word-image-3097.png" srcset="/wp-content/uploads/2018/05/word-image-3097.png 977w, /wp-content/uploads/2018/05/word-image-3097-300x177.png 300w, /wp-content/uploads/2018/05/word-image-3097-768x453.png 768w" sizes="(max-width: 977px) 100vw, 977px" /></p>
<h3>5）下载/检出项目</h3>
<p><img loading="lazy" decoding="async" width="1142" height="495" class="wp-image-3506" src="/wp-content/uploads/2018/05/word-image-3098.png" srcset="/wp-content/uploads/2018/05/word-image-3098.png 1142w, /wp-content/uploads/2018/05/word-image-3098-300x130.png 300w, /wp-content/uploads/2018/05/word-image-3098-768x333.png 768w, /wp-content/uploads/2018/05/word-image-3098-1024x444.png 1024w" sizes="(max-width: 1142px) 100vw, 1142px" /><br />
<img loading="lazy" decoding="async" width="1045" height="561" class="wp-image-3507" src="/wp-content/uploads/2018/05/word-image-3099.png" srcset="/wp-content/uploads/2018/05/word-image-3099.png 1045w, /wp-content/uploads/2018/05/word-image-3099-300x161.png 300w, /wp-content/uploads/2018/05/word-image-3099-768x412.png 768w, /wp-content/uploads/2018/05/word-image-3099-1024x550.png 1024w" sizes="(max-width: 1045px) 100vw, 1045px" /><br />
<img loading="lazy" decoding="async" width="1088" height="354" class="wp-image-3508" src="/wp-content/uploads/2018/05/word-image-3100.png" srcset="/wp-content/uploads/2018/05/word-image-3100.png 1088w, /wp-content/uploads/2018/05/word-image-3100-300x98.png 300w, /wp-content/uploads/2018/05/word-image-3100-768x250.png 768w, /wp-content/uploads/2018/05/word-image-3100-1024x333.png 1024w" sizes="(max-width: 1088px) 100vw, 1088px" /></p>
<h2>5、Github页面介绍</h2>
<h3>1）Github主页</h3>
<p><img loading="lazy" decoding="async" width="1111" height="683" class="wp-image-3509" src="/wp-content/uploads/2018/05/word-image-3101.png" srcset="/wp-content/uploads/2018/05/word-image-3101.png 1111w, /wp-content/uploads/2018/05/word-image-3101-300x184.png 300w, /wp-content/uploads/2018/05/word-image-3101-768x472.png 768w, /wp-content/uploads/2018/05/word-image-3101-1024x630.png 1024w" sizes="(max-width: 1111px) 100vw, 1111px" /></p>
<h3>2）个人主页</h3>
<p><img loading="lazy" decoding="async" width="980" height="426" class="wp-image-3510" src="/wp-content/uploads/2018/05/word-image-3102.png" srcset="/wp-content/uploads/2018/05/word-image-3102.png 980w, /wp-content/uploads/2018/05/word-image-3102-300x130.png 300w, /wp-content/uploads/2018/05/word-image-3102-768x334.png 768w" sizes="(max-width: 980px) 100vw, 980px" /><br />
<img loading="lazy" decoding="async" width="1130" height="602" class="wp-image-3511" src="/wp-content/uploads/2018/05/word-image-3103.png" srcset="/wp-content/uploads/2018/05/word-image-3103.png 1130w, /wp-content/uploads/2018/05/word-image-3103-300x160.png 300w, /wp-content/uploads/2018/05/word-image-3103-768x409.png 768w, /wp-content/uploads/2018/05/word-image-3103-1024x546.png 1024w" sizes="(max-width: 1130px) 100vw, 1130px" /></p>
<h3>3）收藏（Star）</h3>
<ul>
<li>情景：看到不错的开源项目，值得学习，但是今天业务繁忙，先收藏后期学习</li>
<li>操作：进入仓库主页 -&gt; 点击右上角图标（小星星 stat）即可</li>
</ul>
<p><img loading="lazy" decoding="async" width="1113" height="508" class="wp-image-3512" src="/wp-content/uploads/2018/05/word-image-3104.png" srcset="/wp-content/uploads/2018/05/word-image-3104.png 1113w, /wp-content/uploads/2018/05/word-image-3104-300x137.png 300w, /wp-content/uploads/2018/05/word-image-3104-768x351.png 768w, /wp-content/uploads/2018/05/word-image-3104-1024x467.png 1024w" sizes="(max-width: 1113px) 100vw, 1113px" /><br />
<img loading="lazy" decoding="async" width="1061" height="314" class="wp-image-3513" src="/wp-content/uploads/2018/05/word-image-3105.png" srcset="/wp-content/uploads/2018/05/word-image-3105.png 1061w, /wp-content/uploads/2018/05/word-image-3105-300x89.png 300w, /wp-content/uploads/2018/05/word-image-3105-768x227.png 768w, /wp-content/uploads/2018/05/word-image-3105-1024x303.png 1024w" sizes="(max-width: 1061px) 100vw, 1061px" /><br />
<img loading="lazy" decoding="async" width="1077" height="412" class="wp-image-3514" src="/wp-content/uploads/2018/05/word-image-3106.png" srcset="/wp-content/uploads/2018/05/word-image-3106.png 1077w, /wp-content/uploads/2018/05/word-image-3106-300x115.png 300w, /wp-content/uploads/2018/05/word-image-3106-768x294.png 768w, /wp-content/uploads/2018/05/word-image-3106-1024x392.png 1024w" sizes="(max-width: 1077px) 100vw, 1077px" /><br />
<img loading="lazy" decoding="async" width="1131" height="608" class="wp-image-3515" src="/wp-content/uploads/2018/05/word-image-3107.png" srcset="/wp-content/uploads/2018/05/word-image-3107.png 1131w, /wp-content/uploads/2018/05/word-image-3107-300x161.png 300w, /wp-content/uploads/2018/05/word-image-3107-768x413.png 768w, /wp-content/uploads/2018/05/word-image-3107-1024x550.png 1024w" sizes="(max-width: 1131px) 100vw, 1131px" /></p>
<h3>4）关注（Watch）</h3>
<ul>
<li>情景：想要了解某项目实时动态，则使用关注</li>
</ul>
<p>问：关注和收藏的区别</p>
<p>答：关注后会在github主页看到仓库动态、收藏是在个人主页查看仅收藏无动态</p>
<p><img loading="lazy" decoding="async" width="1065" height="256" class="wp-image-3516" src="/wp-content/uploads/2018/05/word-image-3108.png" srcset="/wp-content/uploads/2018/05/word-image-3108.png 1065w, /wp-content/uploads/2018/05/word-image-3108-300x72.png 300w, /wp-content/uploads/2018/05/word-image-3108-768x185.png 768w, /wp-content/uploads/2018/05/word-image-3108-1024x246.png 1024w" sizes="(max-width: 1065px) 100vw, 1065px" /></p>
<h3>5）复制克隆项目（Fork）</h3>
<ul>
<li>情景：张三在github上看到一个项目不错，并且向加入开发，则可以fork</li>
</ul>
<p>fork操作就是把别人项目的代码完成克隆一份让自己也拥有一个一模一样的仓库</p>
<p><img loading="lazy" decoding="async" width="1049" height="559" class="wp-image-3517" src="/wp-content/uploads/2018/05/word-image-3109.png" srcset="/wp-content/uploads/2018/05/word-image-3109.png 1049w, /wp-content/uploads/2018/05/word-image-3109-300x160.png 300w, /wp-content/uploads/2018/05/word-image-3109-768x409.png 768w, /wp-content/uploads/2018/05/word-image-3109-1024x546.png 1024w" sizes="(max-width: 1049px) 100vw, 1049px" /><br />
<img loading="lazy" decoding="async" width="1026" height="597" class="wp-image-3518" src="/wp-content/uploads/2018/05/word-image-3110.png" srcset="/wp-content/uploads/2018/05/word-image-3110.png 1026w, /wp-content/uploads/2018/05/word-image-3110-300x175.png 300w, /wp-content/uploads/2018/05/word-image-3110-768x447.png 768w, /wp-content/uploads/2018/05/word-image-3110-1024x596.png 1024w" sizes="(max-width: 1026px) 100vw, 1026px" /><br />
<img loading="lazy" decoding="async" width="918" height="385" class="wp-image-3519" src="/wp-content/uploads/2018/05/word-image-3111.png" srcset="/wp-content/uploads/2018/05/word-image-3111.png 918w, /wp-content/uploads/2018/05/word-image-3111-300x126.png 300w, /wp-content/uploads/2018/05/word-image-3111-768x322.png 768w" sizes="(max-width: 918px) 100vw, 918px" /></p>
<h2>6、开源项目贡献流程</h2>
<h3>新建issues</h3>
<p>提交使用问题或者建议或者想法等</p>
<h3>Pull Request</h3>
<p>步骤：</p>
<ol>
<li>fork项目</li>
<li>修改自己仓库的项目代码</li>
<li>新建pull request （合并请求）</li>
<li>等待作者审核</li>
</ol>
<h1>三、安装Git</h1>
<h2>1、目的</h2>
<p>通过git管理github托管的项目代码</p>
<h2>2、下载安装</h2>
<h3>GIt官网下载：<a href="/goto/3up3" rel="nofollow">https://www.git-scm.com/download/win</a></h3>
<h3>2）双击安装</h3>
<p><img loading="lazy" decoding="async" width="413" height="163" class="wp-image-3520" src="/wp-content/uploads/2018/05/word-image-3112.png" srcset="/wp-content/uploads/2018/05/word-image-3112.png 413w, /wp-content/uploads/2018/05/word-image-3112-300x118.png 300w" sizes="(max-width: 413px) 100vw, 413px" /><br />
<img loading="lazy" decoding="async" width="830" height="447" class="wp-image-3521" src="/wp-content/uploads/2018/05/word-image-3113.png" srcset="/wp-content/uploads/2018/05/word-image-3113.png 830w, /wp-content/uploads/2018/05/word-image-3113-300x162.png 300w, /wp-content/uploads/2018/05/word-image-3113-768x414.png 768w" sizes="(max-width: 830px) 100vw, 830px" /></p>
<h3>3）选择安装的工作目录</h3>
<p><img loading="lazy" decoding="async" width="493" height="387" class="wp-image-3522" src="/wp-content/uploads/2018/05/word-image-3114.png" srcset="/wp-content/uploads/2018/05/word-image-3114.png 493w, /wp-content/uploads/2018/05/word-image-3114-300x235.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></p>
<h3>选择组件</h3>
<p><img loading="lazy" decoding="async" width="490" height="380" class="wp-image-3523" src="/wp-content/uploads/2018/05/word-image-3115.png" srcset="/wp-content/uploads/2018/05/word-image-3115.png 490w, /wp-content/uploads/2018/05/word-image-3115-300x233.png 300w" sizes="(max-width: 490px) 100vw, 490px" /></p>
<h3>开始菜单目录名设置</h3>
<p><img loading="lazy" decoding="async" width="487" height="383" class="wp-image-3524" src="/wp-content/uploads/2018/05/word-image-3116.png" srcset="/wp-content/uploads/2018/05/word-image-3116.png 487w, /wp-content/uploads/2018/05/word-image-3116-300x236.png 300w" sizes="(max-width: 487px) 100vw, 487px" /></p>
<h3>选择使用命令行环境</h3>
<p><img loading="lazy" decoding="async" width="484" height="385" class="wp-image-3525" src="/wp-content/uploads/2018/05/word-image-3117.png" srcset="/wp-content/uploads/2018/05/word-image-3117.png 484w, /wp-content/uploads/2018/05/word-image-3117-300x239.png 300w" sizes="(max-width: 484px) 100vw, 484px" /></p>
<h3>以下三步默认，直接点击next</h3>
<p><img loading="lazy" decoding="async" width="489" height="374" class="wp-image-3526" src="/wp-content/uploads/2018/05/word-image-3118.png" srcset="/wp-content/uploads/2018/05/word-image-3118.png 489w, /wp-content/uploads/2018/05/word-image-3118-300x229.png 300w" sizes="(max-width: 489px) 100vw, 489px" /><br />
<img loading="lazy" decoding="async" width="481" height="388" class="wp-image-3527" src="/wp-content/uploads/2018/05/word-image-3119.png" srcset="/wp-content/uploads/2018/05/word-image-3119.png 481w, /wp-content/uploads/2018/05/word-image-3119-300x242.png 300w" sizes="(max-width: 481px) 100vw, 481px" /><br />
<img loading="lazy" decoding="async" width="493" height="375" class="wp-image-3528" src="/wp-content/uploads/2018/05/word-image-3120.png" srcset="/wp-content/uploads/2018/05/word-image-3120.png 493w, /wp-content/uploads/2018/05/word-image-3120-300x228.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></p>
<h3>8）等待安装</h3>
<p><img loading="lazy" decoding="async" width="487" height="389" class="wp-image-3529" src="/wp-content/uploads/2018/05/word-image-3121.png" srcset="/wp-content/uploads/2018/05/word-image-3121.png 487w, /wp-content/uploads/2018/05/word-image-3121-300x240.png 300w" sizes="(max-width: 487px) 100vw, 487px" /><br />
<img loading="lazy" decoding="async" width="507" height="379" class="wp-image-3530" src="/wp-content/uploads/2018/05/word-image-3122.png" srcset="/wp-content/uploads/2018/05/word-image-3122.png 507w, /wp-content/uploads/2018/05/word-image-3122-300x224.png 300w" sizes="(max-width: 507px) 100vw, 507px" /><br />
<img loading="lazy" decoding="async" width="494" height="384" class="wp-image-3531" src="/wp-content/uploads/2018/05/word-image-3123.png" srcset="/wp-content/uploads/2018/05/word-image-3123.png 494w, /wp-content/uploads/2018/05/word-image-3123-300x233.png 300w" sizes="(max-width: 494px) 100vw, 494px" /></p>
<h3>检验是否安装成功</h3>
<p><img loading="lazy" decoding="async" width="321" height="308" class="wp-image-3532" src="/wp-content/uploads/2018/05/word-image-3124.png" srcset="/wp-content/uploads/2018/05/word-image-3124.png 321w, /wp-content/uploads/2018/05/word-image-3124-300x288.png 300w" sizes="(max-width: 321px) 100vw, 321px" /></p>
<h1>四、Git基本工作流程</h1>
<h2>1、Git工作区域</h2>
<p><img loading="lazy" decoding="async" width="630" height="345" class="wp-image-3533" src="/wp-content/uploads/2018/05/word-image-3125.png" srcset="/wp-content/uploads/2018/05/word-image-3125.png 630w, /wp-content/uploads/2018/05/word-image-3125-300x164.png 300w" sizes="(max-width: 630px) 100vw, 630px" /></p>
<h2>2、向仓库中添加文件流程</h2>
<p><img loading="lazy" decoding="async" width="674" height="356" class="wp-image-3534" src="/wp-content/uploads/2018/05/word-image-3126.png" srcset="/wp-content/uploads/2018/05/word-image-3126.png 674w, /wp-content/uploads/2018/05/word-image-3126-300x158.png 300w" sizes="(max-width: 674px) 100vw, 674px" /></p>
<h1>五、Git管理本地仓库</h1>
<h2>1、基本信息设置</h2>
<p><img loading="lazy" decoding="async" width="589" height="342" class="wp-image-3535" src="/wp-content/uploads/2018/05/word-image-3127.png" srcset="/wp-content/uploads/2018/05/word-image-3127.png 589w, /wp-content/uploads/2018/05/word-image-3127-300x174.png 300w" sizes="(max-width: 589px) 100vw, 589px" /></p>
<p>步骤1：在桌面创建一个test文件夹</p>
<p>步骤2：进入文件夹鼠标右击，选择【Git Bash Here】</p>
<p><img loading="lazy" decoding="async" width="755" height="267" class="wp-image-3536" src="/wp-content/uploads/2018/05/word-image-3128.png" srcset="/wp-content/uploads/2018/05/word-image-3128.png 755w, /wp-content/uploads/2018/05/word-image-3128-300x106.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></p>
<p>步骤3：输入初始化指令</p>
<p><img loading="lazy" decoding="async" width="484" height="330" class="wp-image-3537" src="/wp-content/uploads/2018/05/word-image-3129.png" srcset="/wp-content/uploads/2018/05/word-image-3129.png 484w, /wp-content/uploads/2018/05/word-image-3129-300x205.png 300w, /wp-content/uploads/2018/05/word-image-3129-220x150.png 220w" sizes="(max-width: 484px) 100vw, 484px" /></p>
<h2>2、初始化一个新的Git仓库</h2>
<p><img loading="lazy" decoding="async" width="962" height="591" class="wp-image-3538" src="/wp-content/uploads/2018/05/word-image-3130.png" srcset="/wp-content/uploads/2018/05/word-image-3130.png 962w, /wp-content/uploads/2018/05/word-image-3130-300x184.png 300w, /wp-content/uploads/2018/05/word-image-3130-768x472.png 768w" sizes="(max-width: 962px) 100vw, 962px" /></p>
<h2>3、向仓库添加文件</h2>
<p><img loading="lazy" decoding="async" width="846" height="641" class="wp-image-3539" src="/wp-content/uploads/2018/05/word-image-3131.png" srcset="/wp-content/uploads/2018/05/word-image-3131.png 846w, /wp-content/uploads/2018/05/word-image-3131-300x227.png 300w, /wp-content/uploads/2018/05/word-image-3131-768x582.png 768w" sizes="(max-width: 846px) 100vw, 846px" /></p>
<h2>4、修改仓库文件</h2>
<p><img loading="lazy" decoding="async" width="971" height="559" class="wp-image-3540" src="/wp-content/uploads/2018/05/word-image-3132.png" srcset="/wp-content/uploads/2018/05/word-image-3132.png 971w, /wp-content/uploads/2018/05/word-image-3132-300x173.png 300w, /wp-content/uploads/2018/05/word-image-3132-768x442.png 768w" sizes="(max-width: 971px) 100vw, 971px" /></p>
<h2>5、删除仓库文件</h2>
<p><img loading="lazy" decoding="async" width="737" height="460" class="wp-image-3541" src="/wp-content/uploads/2018/05/word-image-3133.png" srcset="/wp-content/uploads/2018/05/word-image-3133.png 737w, /wp-content/uploads/2018/05/word-image-3133-300x187.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></p>
<h1>六、Git管理远程仓库</h1>
<h2>1、使用远程仓库的目的</h2>
<p><img loading="lazy" decoding="async" width="657" height="363" class="wp-image-3542" src="/wp-content/uploads/2018/05/word-image-3134.png" srcset="/wp-content/uploads/2018/05/word-image-3134.png 657w, /wp-content/uploads/2018/05/word-image-3134-300x166.png 300w" sizes="(max-width: 657px) 100vw, 657px" /><br />
<img loading="lazy" decoding="async" width="676" height="378" class="wp-image-3543" src="/wp-content/uploads/2018/05/word-image-3135.png" srcset="/wp-content/uploads/2018/05/word-image-3135.png 676w, /wp-content/uploads/2018/05/word-image-3135-300x168.png 300w" sizes="(max-width: 676px) 100vw, 676px" /></p>
<h2>2、Git克隆操作</h2>
<h3>1）目的</h3>
<h3>2）练习</h3>
<p>步骤1：克隆</p>
<p><img loading="lazy" decoding="async" width="977" height="598" class="wp-image-3544" src="/wp-content/uploads/2018/05/word-image-3136.png" srcset="/wp-content/uploads/2018/05/word-image-3136.png 977w, /wp-content/uploads/2018/05/word-image-3136-300x184.png 300w, /wp-content/uploads/2018/05/word-image-3136-768x470.png 768w" sizes="(max-width: 977px) 100vw, 977px" /></p>
<p>步骤2：在仓库目录下新建文件或新建代码</p>
<p><img loading="lazy" decoding="async" width="877" height="636" class="wp-image-3545" src="/wp-content/uploads/2018/05/word-image-3137.png" srcset="/wp-content/uploads/2018/05/word-image-3137.png 877w, /wp-content/uploads/2018/05/word-image-3137-300x218.png 300w, /wp-content/uploads/2018/05/word-image-3137-768x557.png 768w" sizes="(max-width: 877px) 100vw, 877px" /></p>
<h2>将本地仓库同步到git远程仓库中</h2>
<p><img loading="lazy" decoding="async" width="751" height="107" class="wp-image-3546" src="/wp-content/uploads/2018/05/word-image-3138.png" srcset="/wp-content/uploads/2018/05/word-image-3138.png 751w, /wp-content/uploads/2018/05/word-image-3138-300x43.png 300w" sizes="(max-width: 751px) 100vw, 751px" /><br />
<img loading="lazy" decoding="async" width="612" height="362" class="wp-image-3547" src="/wp-content/uploads/2018/05/word-image-3139.png" srcset="/wp-content/uploads/2018/05/word-image-3139.png 612w, /wp-content/uploads/2018/05/word-image-3139-300x177.png 300w" sizes="(max-width: 612px) 100vw, 612px" /><br />
<img loading="lazy" decoding="async" width="566" height="202" class="wp-image-3548" src="/wp-content/uploads/2018/05/word-image-3140.png" srcset="/wp-content/uploads/2018/05/word-image-3140.png 566w, /wp-content/uploads/2018/05/word-image-3140-300x107.png 300w" sizes="(max-width: 566px) 100vw, 566px" /><br />
<img loading="lazy" decoding="async" width="1057" height="467" class="wp-image-3549" src="/wp-content/uploads/2018/05/word-image-3141.png" srcset="/wp-content/uploads/2018/05/word-image-3141.png 1057w, /wp-content/uploads/2018/05/word-image-3141-300x133.png 300w, /wp-content/uploads/2018/05/word-image-3141-768x339.png 768w, /wp-content/uploads/2018/05/word-image-3141-1024x452.png 1024w" sizes="(max-width: 1057px) 100vw, 1057px" /></p>
<p>多学一招：github ssh提交实战推荐。</p>
]]></content:encoded>
					
					<wfw:commentRss>/%e7%89%88%e6%9c%ac%e6%8e%a7%e5%88%b6/3478.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GitHub（二）Git与Svn区别、安装GIT、创建仓库、克隆仓库至本地、Git工作流、Git常用指令、ssh协议创建私钥好公钥、GIt分支、创建标签（版本号）、搭建Git服务器</title>
		<link>/%e7%89%88%e6%9c%ac%e6%8e%a7%e5%88%b6/8662.html</link>
					<comments>/%e7%89%88%e6%9c%ac%e6%8e%a7%e5%88%b6/8662.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 10:01:03 +0000</pubDate>
				<category><![CDATA[GIT]]></category>
		<category><![CDATA[版本控制]]></category>
		<category><![CDATA[git与svn区别]]></category>
		<category><![CDATA[GIt分支]]></category>
		<category><![CDATA[Git工作流]]></category>
		<category><![CDATA[git常用指令]]></category>
		<category><![CDATA[ssh协议创建私钥好公钥]]></category>
		<category><![CDATA[克隆仓库至本地]]></category>
		<category><![CDATA[创建仓库]]></category>
		<category><![CDATA[创建标签（版本号）]]></category>
		<category><![CDATA[安装GIT]]></category>
		<category><![CDATA[搭建Git服务器]]></category>
		<guid isPermaLink="false">/?p=8662</guid>

					<description><![CDATA[git和svn的区别 svn是集中式的版本控制系统 git是分布式的版本控制系统 集中式： 可以看出svn集中 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>git和svn的区别</h1>
<p>svn是集中式的版本控制系统</p>
<p>git是分布式的版本控制系统</p>
<p>集中式：</p>
<p><img loading="lazy" decoding="async" width="881" height="609" class="wp-image-8665" src="/wp-content/uploads/2018/06/word-image-1231.png" srcset="/wp-content/uploads/2018/06/word-image-1231.png 881w, /wp-content/uploads/2018/06/word-image-1231-300x207.png 300w, /wp-content/uploads/2018/06/word-image-1231-768x531.png 768w" sizes="(max-width: 881px) 100vw, 881px" /></p>
<p>可以看出svn集中式版本控制都是把所有的版本存储在svn服务器中</p>
<p>且必须要联网到svn服务器才可以进行版本的回退、更新等操作。</p>
<p>假如哪天svn服务器坏了，那么所有的版本代码都将丢失，也就无法获取代码和回退版本等操作。天啊，这将是一个悲伤的故事！</p>
<p>如何化悲伤为快乐呢，来看看git如何工作的把！</p>
<p>分布式：</p>
<p><img loading="lazy" decoding="async" width="829" height="553" class="wp-image-8666" src="/wp-content/uploads/2018/06/word-image-1232.png" srcset="/wp-content/uploads/2018/06/word-image-1232.png 829w, /wp-content/uploads/2018/06/word-image-1232-300x200.png 300w, /wp-content/uploads/2018/06/word-image-1232-768x512.png 768w" sizes="(max-width: 829px) 100vw, 829px" /></p>
<p>可以看出，使用git,每个电脑都有完整的版本号和日志信息。</p>
<p>且没有网的时候，git照样可以工作，只是把代码提交到本地，待有网在提交到远程git仓库</p>
<p>就算哪天git服务器坏了也没事，因为本地仓库都保存了完整的版本。</p>
<p>github、码云</p>
<h1>安装git工具</h1>
<p>git是linux之父李纳斯发明的。</p>
<p>安装注意自己系统的位数。</p>
<p><img loading="lazy" decoding="async" width="720" height="73" class="wp-image-8667" src="/wp-content/uploads/2018/06/word-image-1233.png" srcset="/wp-content/uploads/2018/06/word-image-1233.png 720w, /wp-content/uploads/2018/06/word-image-1233-300x30.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></p>
<p>安装的时候选择安装路径即可，然后一路next即可。安装好后鼠标右键会多出以下两个选项，代表git工具安装完成。</p>
<p><img loading="lazy" decoding="async" width="481" height="151" class="wp-image-8668" src="/wp-content/uploads/2018/06/word-image-1234.png" srcset="/wp-content/uploads/2018/06/word-image-1234.png 481w, /wp-content/uploads/2018/06/word-image-1234-300x94.png 300w" sizes="(max-width: 481px) 100vw, 481px" /></p>
<h1>在github创建仓库</h1>
<p>创建仓库比较简单，参考下面的图片即可：</p>
<p>1、点击加号+，选择New repository新建仓库</p>
<p><img loading="lazy" decoding="async" width="361" height="72" class="wp-image-8669" src="/wp-content/uploads/2018/06/word-image-1235.png" srcset="/wp-content/uploads/2018/06/word-image-1235.png 361w, /wp-content/uploads/2018/06/word-image-1235-300x60.png 300w" sizes="(max-width: 361px) 100vw, 361px" /></p>
<p>2、输入创建仓库的信息</p>
<p><img loading="lazy" decoding="async" width="729" height="586" class="wp-image-8670" src="/wp-content/uploads/2018/06/word-image-1236.png" srcset="/wp-content/uploads/2018/06/word-image-1236.png 729w, /wp-content/uploads/2018/06/word-image-1236-300x241.png 300w" sizes="(max-width: 729px) 100vw, 729px" /></p>
<p>创建好之后，如下所示：</p>
<p><img loading="lazy" decoding="async" width="658" height="542" class="wp-image-8671" src="/wp-content/uploads/2018/06/word-image-1237.png" srcset="/wp-content/uploads/2018/06/word-image-1237.png 658w, /wp-content/uploads/2018/06/word-image-1237-300x247.png 300w" sizes="(max-width: 658px) 100vw, 658px" /></p>
<h1>4、克隆远程仓库代码到本地</h1>
<p>克隆远程的仓库代码到指定目录:</p>
<p>命令：git clone 仓库地址 [目录]</p>
<p>注意：不写目录名称会在当前目录创建一个与github仓库同名的目录</p>
<p>如下面的指令代表把仓库代码检出到当前目录(./)</p>
<p>git clone 仓库地址 ./</p>
<p>仓库地址位于：</p>
<p><img loading="lazy" decoding="async" width="1054" height="487" class="wp-image-8672" src="/wp-content/uploads/2018/06/word-image-1238.png" srcset="/wp-content/uploads/2018/06/word-image-1238.png 1054w, /wp-content/uploads/2018/06/word-image-1238-300x139.png 300w, /wp-content/uploads/2018/06/word-image-1238-768x355.png 768w, /wp-content/uploads/2018/06/word-image-1238-1024x473.png 1024w" sizes="(max-width: 1054px) 100vw, 1054px" /></p>
<p>仓库地址有两种协议：https、ssh。后面使用ssh协议可以免去每次推送代码输入密码的烦恼。</p>
<p>完整命令：git clone <a href="/goto/4rks" rel="nofollow">https://github.com/ww24kobe/test_project.git</a> ./</p>
<h1>git工作流</h1>
<p>一个git仓库包含以下三个部分：</p>
<p>工作区：就是我们电脑里能看到的目录。</p>
<p>暂存区：英文名叫stage,或index。一般存放在“.git目录”的index文件中。</p>
<p>版本库：工作区有一个隐藏目录.git,这个不算工作区，而是git的版本库。且自动创建一个 master 分支以及指向分支的 HEAD 指针</p>
<p><img loading="lazy" decoding="async" width="674" height="323" class="wp-image-8673" src="/wp-content/uploads/2018/06/git.jpeg" alt="git工作流" srcset="/wp-content/uploads/2018/06/git.jpeg 674w, /wp-content/uploads/2018/06/git-300x144.jpeg 300w" sizes="(max-width: 674px) 100vw, 674px" /></p>
<p>后面众多的git命令，就是在以上三者中互相交叉使用。</p>
<h1>6、开发中git常用的指令</h1>
<p><a href="/wp-content/uploads/2018/05/git常用命令速查表.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8686" src="/wp-content/uploads/2018/05/git常用命令速查表.png" alt="" width="2339" height="1654" srcset="/wp-content/uploads/2018/05/git常用命令速查表.png 2339w, /wp-content/uploads/2018/05/git常用命令速查表-300x212.png 300w, /wp-content/uploads/2018/05/git常用命令速查表-768x543.png 768w, /wp-content/uploads/2018/05/git常用命令速查表-1024x724.png 1024w" sizes="(max-width: 2339px) 100vw, 2339px" /></a></p>
<ul>
<li>全局设置：设置提交的用户名和邮箱，用于查看代码是哪些用户提交的，方便排查。</li>
</ul>
<p>git config &#8211;global user.name 名字 # 叫啥名字</p>
<p>git config &#8211;global user.email 邮箱 # 怎么联系你</p>
<ul>
<li>在指定目录创建一个git仓库，但要保证此目录一定是空的。</li>
</ul>
<p>git init :执行完后会在当前目录生成一个.git的隐藏文件夹</p>
<p>同时在设置远程仓库的地址：</p>
<p>git remote add origin url # 设置本地的远程仓库地址</p>
<ul>
<li>克隆远程的仓库代码到指定目录:</li>
</ul>
<p>git clone url [目录]</p>
<p>注意：不写目录名称会在当前目录创建一个与github仓库同名的目录</p>
<p>如下面的指令代表把指定url仓库代码检出到当前目录(./)</p>
<p>git clone url ./</p>
<ul>
<li>添加当前目录的所有文件到暂存区:</li>
</ul>
<p>git add .</p>
<ul>
<li>查看暂存区状态:</li>
</ul>
<p>git status</p>
<ul>
<li>提交文件:</li>
</ul>
<p>git commit -m ‘备注信息’</p>
<ul>
<li>查看提交备注的信息（查看提交记录）</li>
</ul>
<p>git log 或者 git reflog 或 git log &#8211;pretty=oneline</p>
<ul>
<li>代码版本回退:</li>
</ul>
<p><img loading="lazy" decoding="async" width="958" height="59" class="wp-image-8674" src="/wp-content/uploads/2018/06/word-image-1239.png" srcset="/wp-content/uploads/2018/06/word-image-1239.png 958w, /wp-content/uploads/2018/06/word-image-1239-300x18.png 300w, /wp-content/uploads/2018/06/word-image-1239-768x47.png 768w" sizes="(max-width: 958px) 100vw, 958px" /></p>
<p>git reset &#8211;hard HEAD 回到当前的版本</p>
<p>git reset &#8211;hard HEAD^ 回到当前的版本前一个版本</p>
<p>git reset &#8211;hard HEAD^^ 回到当前的版本前两个版本</p>
<p>git reset &#8211;hard af4542g(使用git log 获取日志的前7位,可以回到指定的版本)</p>
<ul>
<li>删除文件</li>
</ul>
<p>git rm files</p>
<ul>
<li>撤掉修改</li>
</ul>
<p>git checkout files</p>
<ul>
<li>推送代码到远程服务器:</li>
</ul>
<p>git push -u origin master</p>
<ul>
<li>修改本地远程仓库地址：</li>
</ul>
<p>git remote add origin url # 设置本地的远程仓库地址</p>
<p>git remote rm origin # 移除本地远程仓库地址</p>
<ul>
<li>从远程服务器获取内容:</li>
</ul>
<p>git pull orgin master 拉取远程仓库代码并合并</p>
<p>git fetch orgin master 拉取远程仓库代码不会合并</p>
<p>远程代码强制覆盖本地代码：</p>
<p>git pull origin master &#8211;allow-unrelated-histories</p>
<ul>
<li>仓库地址</li>
</ul>
<p>git remote -v #查看本地的远程仓库路径</p>
<p>git remote rm origin #移除本地远程仓库地址</p>
<p>git remote add origin git@github.com:用户名/仓库名.git #设置本地的远程仓库地址</p>
<h1>7、给ssh协议创建私钥和公钥</h1>
<p>如果仓库地址使用https的协议，每次提交都会要求输入远程仓库github的用户名和密码，</p>
<p>如果我们使用ssh协议作为仓库地址的话，并且配置好私钥和公钥，每次提交就会免去输入用户名和密码的烦恼。</p>
<p>公钥：理解为锁,上传到github中存放着。</p>
<p>私钥：理解为锁的钥匙，在本地电脑存放着。</p>
<p>也就是说只有锁的对应钥匙才可以进行提交代码。</p>
<p>创建ssh私钥和公钥，输入: ssh-keygen -t rsa -C &#8216;邮箱地址&#8217; ，然后一路回车即可，成功之后会在当前用户的目录多出如下的两个文件。</p>
<p>id.rsa:私钥文件</p>
<p>id_rsa.pub:公钥文件</p>
<p><img loading="lazy" decoding="async" width="727" height="365" class="wp-image-8675" src="/wp-content/uploads/2018/06/word-image-1240.png" srcset="/wp-content/uploads/2018/06/word-image-1240.png 727w, /wp-content/uploads/2018/06/word-image-1240-300x151.png 300w" sizes="(max-width: 727px) 100vw, 727px" /></p>
<p>把id_rsa.pub的公钥内容复制到github上面去，步骤如下：</p>
<p><img loading="lazy" decoding="async" width="1207" height="657" class="wp-image-8676" src="/wp-content/uploads/2018/06/word-image-1241.png" srcset="/wp-content/uploads/2018/06/word-image-1241.png 1207w, /wp-content/uploads/2018/06/word-image-1241-300x163.png 300w, /wp-content/uploads/2018/06/word-image-1241-768x418.png 768w, /wp-content/uploads/2018/06/word-image-1241-1024x557.png 1024w" sizes="(max-width: 1207px) 100vw, 1207px" /></p>
<p>添加好后如下所示：</p>
<p><img loading="lazy" decoding="async" width="1225" height="217" class="wp-image-8677" src="/wp-content/uploads/2018/06/word-image-1242.png" srcset="/wp-content/uploads/2018/06/word-image-1242.png 1225w, /wp-content/uploads/2018/06/word-image-1242-300x53.png 300w, /wp-content/uploads/2018/06/word-image-1242-768x136.png 768w, /wp-content/uploads/2018/06/word-image-1242-1024x181.png 1024w" sizes="(max-width: 1225px) 100vw, 1225px" /></p>
<p>最后修改远程仓库地址为ssh协议即可：</p>
<p>git remote -v #查看本地的远程仓库路径</p>
<p>git remote rm origin #移除本地远程仓库地址</p>
<p>git remote add origin git@github.com:用户名/仓库名.git #设置本地的远程仓库地址</p>
<h1>8、git分支</h1>
<p><a href="/wp-content/uploads/2018/05/git命令流程图解.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8688" src="/wp-content/uploads/2018/05/git命令流程图解.png" alt="" width="508" height="421" srcset="/wp-content/uploads/2018/05/git命令流程图解.png 508w, /wp-content/uploads/2018/05/git命令流程图解-300x249.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></a></p>
<p>master分支：每个仓库默认有的分支，主要用来发布代码新版本。</p>
<p>平常代码的开发在创建的开发分支 dev 上进行。</p>
<p>开发分支dev开发完毕后，把此分支的代码合并到master 分支，最后再把master分支下的代码推送到远程服务器（即远程仓库github）</p>
<p>分支有关的指令：</p>
<ul>
<li>查看仓库所有的分支:</li>
</ul>
<p>git branch</p>
<ul>
<li>创建dev分支:</li>
</ul>
<p>git branch dev</p>
<ul>
<li>切换分支(切换到master分支):</li>
</ul>
<p>git checkout master</p>
<ul>
<li>合并分支dev到master主分支</li>
</ul>
<p>先切换到要合并的分支，再把dev分支合并到当前分支</p>
<p>git checkout master</p>
<p>git merge &#8211;no-f dev -m ‘合并的信息’</p>
<p>注：通过选项&#8211;no-f合并也算一次提交</p>
<ul>
<li>删除分支dev:</li>
</ul>
<p>git branch -d dev</p>
<ul>
<li>提交分支dev:</li>
</ul>
<p>git push origin dev</p>
<p>有关git分支的管理策略：</p>
<p><img loading="lazy" decoding="async" width="283" height="29" class="wp-image-8678" src="/wp-content/uploads/2018/06/word-image-1243.png" /></p>
<h1>创建标签（版本号）</h1>
<ul>
<li>查看所有标签</li>
</ul>
<p>git tag</p>
<ul>
<li>创建标签，版本号为1.0， -m 备注信息</li>
</ul>
<p>git tag v1.0 -m ‘version 1.0’</p>
<ul>
<li>推送本地的所有标签到远程仓库，其他人克隆此仓库或拉取数据同步后，也会看到这些标签。</li>
</ul>
<p>git push origin master &#8211;tags</p>
<h1>搭建git服务器</h1>
<p>参考简书地址：<a href="/goto/f8cf" rel="nofollow">https://www.jianshu.com/p/e79ea05d9b61</a></p>
<div>
<p>环境：<strong>Centos7</strong></p>
<h2>一、 服务端安装</h2>
<p>第 1 步：先安装 git 工具<br />
<code>git -y install git</code><br />
输入 git 命令测试，若出现相应的提示说明安装成功。</p>
<p>第 2 步：新建一个用户起名 git<br />
<code>adduser git</code></p>
<p>第 3 步：在 / home/git / 目录下创建一个名为. ssh 的文件夹，在其. ssh 目录中新建一个文件名为 authorized_key, 用于后面保存客户端提供的公钥</p>
<pre class="hljs shell"><code class="shell">cd /home/git
mkdir .ssh
touch authorized_key
</code></pre>
<p>第 4 步：在 git 用户目录创建一个仓库，名为 project.git, 在初始化此仓库</p>
<pre class="hljs shell"><code class="shell">cd /home/git
mkdir project.git
git init --bare project.git
</code></pre>
<p>第 5 步：将 git 用户目录中的仓库和 ssh 目录的所有者和所属组都设置为 git</p>
<pre class="hljs shell"><code class="shell">cd /home/git
chown -R git.git project.git/
chown -R git.git .ssh/
</code></pre>
<p>第 6 步：修改 sshd_config 文件，打开 RSA 认证<br />
<code>vim /etc/ssh/sshd_config</code><br />
开启三项：</p>
<pre class="hljs shell"><code class="shell"> RSAAuthentication yes     
 PubkeyAuthentication yes     
 AuthorizedKeysFile  .ssh/authorized_keys
</code></pre>
<blockquote><p>为了安全，禁止 git 用户进行 shell 登录</p>
<pre class="hljs shell"><code class="shell">vi /etc/passwd
注释 ##git:x:1000:1000::/home/git:/bin/bash 
改为 git:x:1000:1000:git version control:/home/git:/usr/bin/git-shell
</code></pre>
</blockquote>
<p>至此 git 服务端安装完成。<br />
现在来测试是否安装成功，这里以 window 系统测试为例</p>
<h2>二、客户端测试</h2>
<p>需要在客户端安装 git 工具，linux 系统则不需要，window 系统需要<br />
下载地址：<a href="/goto/5dav" target="_blank" rel="nofollow noopener">https://git-scm.com/download/win</a></p>
<p>第 1 步：生成私钥和公钥，使用命令 ssh-keygen -t rsa , 一路回车即可，会在当前用户的. ssh 目录生成两个文件：<br />
私钥：id_rsa<br />
公钥：id_rsa.pub<br />
将公钥文件（id_rsa.pub）交给 git 服务器的管理员，会将此公钥内容添加到 authorized_key 文件中，一行一个公钥。</p>
<p>第 2 步：克隆 git 仓库，到本地目录测试</p>
<pre class="hljs shell"><code class="shell">git clone git@xxx.xxx.xxx.xxx:/home/git/project.git  ./
git add .
git commit -m 'first commit'
git push
</code></pre>
<p>其中 xxx.xxx.xxx.xxx 为 git 服务器的 ip 地址</p>
<blockquote><p>注：若提示需要密码，则检查上面的公钥和私钥是否配置成功</p>
<p>Git使用教程.pdf：</p>
<p>[embeddoc url=&#8221;/wp-content/uploads/2018/05/Git使用教程.pdf&#8221; download=&#8221;all&#8221;]</p>
<p>Git分支管理策略.pdf：</p>
<p>[embeddoc url=&#8221;/wp-content/uploads/2018/05/Git分支管理策略.pdf&#8221; download=&#8221;all&#8221;]</p>
<p>用SourceTree轻松Git项目图解.pdf：</p>
<p>[embeddoc url=&#8221;/wp-content/uploads/2018/05/用SourceTree轻松Git项目图解.pdf&#8221; download=&#8221;all&#8221;]</p></blockquote>
</div>
]]></content:encoded>
					
					<wfw:commentRss>/%e7%89%88%e6%9c%ac%e6%8e%a7%e5%88%b6/8662.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
