方圆系统 發表於 2020-10-15 16:21:00

IDEA版github教程(转载)

<div id="content_views" class="markdown_views prism-tomorrow-night">
                  <svg xmlns="http://www.w3.org/2000/svg" style="display: none">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0)"></path>
                  </svg>
                  <p></p>
<div class="toc">
<h3>Git</h3>
<ul><li>版本控制</li><li><ul><li>什么是版本控制?</li><li>本地和集中式版本控制</li><li>分布式版本控制-Git</li></ul>
</li><li>Git理论</li><li><ul><li>工作区</li><li>分支</li><li>HEAD指针与reset和checkout</li><li>fetch、clone和pull</li></ul>
</li><li>安装配置</li><li><ul><li>Git安装</li><li>Git配置</li></ul>
</li><li>使用示例</li><li><ul><li>设置SSH</li><li>关联远程仓库</li><li>upload</li><li>download</li></ul>
</li><li>IDEA集成Git</li><li>附:常用的Linux命令</li></ul>
</div>
<p></p>
<h1>版本控制</h1>
<hr color="#000000" size="1&quot;">
<h2>什么是版本控制?</h2>
<p>版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。并行开发、提高开发效率,减轻开发人员的负担,节省时间,同时降低人为错误。简单说就是<mark>便于管理多人协同开发项目的技术</mark>。</p>
<h2>本地和集中式版本控制</h2>
<ul><li>本地版本控制<br> 本地版本控制简单说就像我们在自己本地电脑上做的备份或快照等,记录每次更新,适合个人使用。(比如常见的文档修改1版,2版,终版,究极版,究极不改版,完结版等等)</li><li>集中版本控制<br> 集中就是把数据保存到服务器上而不是本地,这样便于多人协同开发,协同开发者从服务器上同步更新或上传自己的修改。但这样用户本地只有同步更新前的版本,存在服务器损坏则丢失全部数据的风险,需要定期备份等。</li></ul>
<h2>分布式版本控制-Git</h2>
<p>分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆,在本地机器上拷贝一个完整的Git仓库。这样就可以在本地查看所有版本历史,可以离线在本地提交,在连网时push即可,不会因为服务器损坏或者网络问题,造成不能工作的情况。同时只要有一个用户的设备没有问题就可以恢复所有的数据。</p>
<h1>Git理论</h1>
<hr color="#000000" size="1&quot;">
<h2>工作区</h2>
<p>Git本地有三个工作区,再加上远程的git仓库共四个工作区:</p>
<ol><li> <p>工作目录(Working Directory)<br> 工作区,就是你平时存放项目代码的地方</p> </li><li> <p>暂存区(Stage/Index)<br> 暂存区,用于临时存放你的改动</p> </li><li> <p>资源库(Repository)<br> 仓库区,就是安全存放数据的位置</p> </li><li> <p>git仓库(Remote Directory)<br> 远程仓库,托管代码的服务器</p> </li></ol>
<p><img src="https://img-blog.csdnimg.cn/20200708163755885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 工作流程</p>
<ol><li>在工作目录中添加或修改文件</li><li>将需要进行版本管理的文件放入暂存区</li><li>将暂存区的文件提交到仓库</li></ol>
<h2>分支</h2>
<p>分支默认是master主分支,可以创建新的分支用于不同的用途或不同部门的人并行开发,比如开发,测试,发布,紧急修复等等。从主线上分离出来进行另外的操作,而又不影响主线就像线程一样,或者看作互不影响的平行宇宙,当需要的时候还可以进行合并分支等操作。<br> 常用指令:</p>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token comment"># 列出所有本地分支</span>
<span class="token function">git</span> branch
<span class="token comment"># 列出所有远程分支</span>
<span class="token function">git</span> branch -r
<span class="token comment"># 新建一个分支,但依然停留在当前分支</span>
<span class="token function">git</span> branch <span class="token punctuation">[</span>branch-name<span class="token punctuation">]</span>
<span class="token comment"># 新建一个分支,并切换到该分支</span>
<span class="token function">git</span> checkout -b <span class="token punctuation">[</span>branch-name<span class="token punctuation">]</span>
<span class="token comment"># 合并指定分支到当前分支</span>
$ <span class="token function">git</span> merge <span class="token punctuation">[</span>branch-name<span class="token punctuation">]</span>
<span class="token comment">#切换分支</span>
$ <span class="token function">git</span> checkout <span class="token punctuation">[</span>branch-name<span class="token punctuation">]</span>
<span class="token comment"># 删除分支</span>
$ <span class="token function">git</span> branch -d <span class="token punctuation">[</span>branch-name<span class="token punctuation">]</span>
<span class="token comment"># 删除远程分支</span>
$ <span class="token function">git</span> push origin --delete <span class="token punctuation">[</span>branch-name<span class="token punctuation">]</span>
$ <span class="token function">git</span> branch -dr <span class="token punctuation">[</span>remote/branch<span class="token punctuation">]</span>
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li><li style="color: rgba(153, 153, 153, 1)">9</li><li style="color: rgba(153, 153, 153, 1)">10</li><li style="color: rgba(153, 153, 153, 1)">11</li><li style="color: rgba(153, 153, 153, 1)">12</li><li style="color: rgba(153, 153, 153, 1)">13</li><li style="color: rgba(153, 153, 153, 1)">14</li><li style="color: rgba(153, 153, 153, 1)">15</li><li style="color: rgba(153, 153, 153, 1)">16</li><li style="color: rgba(153, 153, 153, 1)">17</li></ul></pre>
<h2>HEAD指针与reset和checkout</h2>
<ul><li> <p>HEAD指针<br>   Git中存在一个HEAD指针,在每次提交时HEAD指针会向前进一位,同时HEAD指针只存在于暂存区和仓库区。也就是说如果我们使用git add命令,那么此时HEAD指针会进入到暂存区,继续用git commit,此时会进入到仓库区。</p> </li><li> <p>git reset<br>   git reset其实就是把HEAD指针回退一位。即如果你在仓库区,那么你回退一位就是暂存区,如果你在暂存区,那么指针会回退到上一次的仓库区。reset命令提供了三种使用方法。分别是–soft --mixed --hard:</p> </li></ul>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token function">git</span>reset--soft <span class="token comment">#移动指针</span>
<span class="token function">git</span>reset--mixed <span class="token comment">#移动指针+清空暂存区</span>
<span class="token function">git</span>reset--hard <span class="token comment">#移动指针+清空暂存区+清空工作区</span>
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li></ul></pre>
<ul><li>git checkout<br> 简单说,checkout就是把当前代码更新成HEAD指针指向的提交。除了前面提到的git checkout 切换分支,其原理就是将HEAD指针指向另一个分支,同时将其覆盖。还可以git checkout ,把内容更新成上一版提交,但前提是HEAD指针指向的提交与当前你所在的区域不同。</li></ul>
<p>小结:</p>
<div class="table-box"><table><thead><tr><th></th><th>reset</th><th>checkout</th></tr></thead><tbody><tr><td>原理</td><td>头指针回退到上一个</td><td>更新当前代码为头指针指向的提交</td></tr><tr><td>异同</td><td>还原本地文件(撤销)</td><td>还原本地文件(替换)</td></tr></tbody></table></div>
<h2>fetch、clone和pull</h2>
<div class="table-box"><table><thead><tr><th></th><th>fetch</th><th>clone</th><th>pull</th></tr></thead><tbody><tr><td>适合场景</td><td>有本地仓库主分支,下载其他分支</td><td>没有本地仓库</td><td>本地仓库和远程仓库不同步</td></tr><tr><td>异同</td><td>从远程获取最新到本地,不会自动merg</td><td>把仓库克隆到本地 ,无需有本地仓库(即git init)</td><td>从远程获取最新并merge到本地</td></tr></tbody></table></div>
<p>小结:<br> git pull = git fetch + git merge,这样fetch就比较有优势,可以下载后根据情况再选择是否合并,而clone就是从无到有的过程。</p>
<h1>安装配置</h1>
<hr color="#000000" size="1&quot;">
<h2>Git安装</h2>
<ul><li>前往Git官网下载,选择对应的操作系统和版本即可。以Windows64为例。<br> <img src="https://img-blog.csdnimg.cn/20200708120152965.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/20200708120716191.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li><li>镜像下载(官网隔墙比较慢),可前往淘宝镜像下载。<br> 划到最下面选最新版<br> <img src="https://img-blog.csdnimg.cn/20200708121000786.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/20200708121125986.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li></ul>
<p>下载好后安装默认下一步即可,安装完后菜单会有三个程序:</p>
<ul><li>Git Bash:Unix与Linux风格的命令行,使用最多(推荐)</li><li>Git CMD:Windows风格的命令行</li><li>Git GUI:图形界面的Git</li></ul>
<h2>Git配置</h2>
<ul><li>用户配置(<mark>设置用户名与邮箱</mark>)</li></ul>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token comment">#查看当前用户配置</span>
<span class="token function">git</span> config --global --list
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<ol><li>直接修改<br> C:\Users\Administrator\ .gitconfig<br> <img src="https://img-blog.csdnimg.cn/20200708123653228.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li><li>命令行修改</li></ol>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token function">git</span> config --global user.name <span class="token string">"123"</span><span class="token comment">#名称</span>
<span class="token function">git</span> config --global user.email 123@qq.com <span class="token comment">#邮箱</span>
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<ul><li>系统配置(默认即可)</li></ul>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token comment">#查看系统配置</span>
<span class="token function">git</span> config --system --list
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p>Git\etc\gitconfig (Git 安装目录下的 gitconfig)</p>
<h1>使用示例</h1>
<hr color="#000000" size="1&quot;">
<h2>设置SSH</h2>
<ol><li>打开Git Bash,创建SSH Key<br> 按提示输入密码等,也可以全部直接回车</li></ol>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">ssh-keygen -t rsa -C <span class="token string">"注册邮箱"</span>
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/20200708203431985.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 2. 打开.ssh下的id_rsa.pub文件,复制里面key的内容<br> 3. 进入github,头像-&gt;settings-&gt;SSH and GPG keys-&gt;new SSH key<br> <img src="https://img-blog.csdnimg.cn/20200708204341578.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/20200708204945535.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 输入命令行ssh -T git@github.com测试,如图就成功连上github。<br> <img src="https://img-blog.csdnimg.cn/20200708205753348.png" alt="在这里插入图片描述"></p>
<h2>关联远程仓库</h2>
<ol><li>创建远程仓库<br> 在首页左上角点击New 新建远程仓库<br> <img src="https://img-blog.csdnimg.cn/20200708211306115.png" alt="在这里插入图片描述"><br> 填写仓库名,描述等,选择语言和证书。<br> <img src="https://img-blog.csdnimg.cn/20200708210733337.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 2.clone到本地<br> 在你想要设置仓库的目录下右键打开Git Bash,克隆到本地,git clone ssh,ssh替换成你的仓库ssh<br> <img src="https://img-blog.csdnimg.cn/20200708213003417.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li></ol>
<p><img src="https://img-blog.csdnimg.cn/20200708211732745.png" alt="在这里插入图片描述"><br> 3.输入命令关联</p>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token function">git</span> remote <span class="token comment">#查看已关联的远程仓库</span>
<span class="token function">git</span> remote <span class="token function">rm</span> 仓库名 <span class="token comment">#删除</span>
<span class="token function">git</span> remote add 仓库名 你的仓库ssh <span class="token comment">#添加/关联</span>
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li></ul></pre>
<p>不能重复仓库名,这里origin重复了,可以取其他名,我演示删除后再添加。<br> <img src="https://img-blog.csdnimg.cn/20200708225507745.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p>
<h2>upload</h2>
<ol><li>修改本地仓库,新建test.txt<br> <img src="https://img-blog.csdnimg.cn/20200708213538263.png" alt="在这里插入图片描述"></li><li>输入git status查看文件状态,提示Untracked未跟踪文件有test.txt,还说可以输入git add &lt; file&gt;提交,输入git add . 即提交所有未跟踪文件,同步暂存区。<br> <img src="https://img-blog.csdnimg.cn/2020070821374877.png" alt="在这里插入图片描述"><br> 3.此时文件状态显示暂存区有新文件test.txt,还说可以输入git restore撤销来unstage取消暂存。我们接下来提交,输入git commit -m ”注释可随意填“。<br> <img src="https://img-blog.csdnimg.cn/20200708220314491.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li><li>此时文件已经提交到本地仓库了,显示nothing to commit。我们接下来同步到远程仓库,输入git push -u origin master。<br> <img src="https://img-blog.csdnimg.cn/20200708220439927.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li><li>到github远程仓库中查看,test.txt文件已经同步上去了。<br> <img src="https://img-blog.csdnimg.cn/20200708215658881.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> <mark>5. 注意忽略提交</mark>,在新建仓库时配套的.gitignore文件设置了忽略提交的文件类型等(如class,log,jar等就没必要提交)。</li></ol>
<div class="table-box"><table><thead><tr><th>符号</th><th>作用</th><th>例子</th></tr></thead><tbody><tr><td>名称的最前面是感叹号!</td><td>表示将不被忽略</td><td>!lib.txt(lib.txt除外)</td></tr><tr><td>名称的最前面是路径分隔符/</td><td>表示要忽略的文件在此目录下,而子目录中的文件不忽略。</td><td>/temp (仅忽略项目根目录下的TODO文件,不包括其它目录temp )</td></tr><tr><td>名称的最后面是路径分隔符/</td><td>表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)</td><td>build/ (忽略build/目录下的所有文件 )</td></tr></tbody></table></div>
<p>还可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号()代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。例:<br> <em>.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!<br> doc/</em>.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt<br> (好像扯远了)</p>
<h2>download</h2>
<ol><li> <p>删除工作区test.txt文件,打开Git Bash,查看文件状态,提示deleted文件:test.txt,输入 git rm test.txt同步暂存区,类似与git add 。<br> <img src="https://img-blog.csdnimg.cn/20200708221051235.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li><li> <p>同样的,提交到本地仓库,不在赘述。至此本地仓库就和远程仓库不一样了(没有test.txt)。<br> <img src="https://img-blog.csdnimg.cn/20200708221539714.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li><li> <p>强制把远程仓库内容同步到本地。</p> </li></ol>
<pre class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token function">git</span> reset --hard origin/master <span class="token comment">#放弃本地修改</span>
<span class="token function">git</span> pull<span class="token comment">#从远程获取并合并,等同于git fetch + git merge</span>
<div class="hljs-button {2}" data-title="复制" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.4259&quot;}"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/20200709100458331.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p>
<p><img src="https://img-blog.csdnimg.cn/20200709101501927.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 再刷新工作区,就能看见删掉的test.txt了。<br> <img src="https://img-blog.csdnimg.cn/20200708223255371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p>
<h1>IDEA集成Git</h1>
<hr color="#000000" size="1&quot;">
<ol><li> <p>设置Git<br> 打开File–&gt;Setting-&gt;Version Control–&gt;Git–&gt;Path to Git executable选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功。<br> <img src="https://img-blog.csdnimg.cn/20200709001827391.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li><li> <p>登录GitHub账号<br> File–&gt;Setting-&gt;Version Control–&gt;GitHub,输入账密登录<br> <img src="https://img-blog.csdnimg.cn/20200709002448697.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li><li> <p>创建本地仓库<br> VCS–&gt;Import Version Control–&gt;Creat Git Respository,选择项目目录<br> <img src="https://img-blog.csdnimg.cn/20200709002739247.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li><li> <p>IDEA出现如下图变化:<br> <img src="https://img-blog.csdnimg.cn/20200708231947728.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 可以打开Terminal用我们熟悉的命令行操作,也可以用右上角IDEA集成的按钮来操作。<br> <img src="https://img-blog.csdnimg.cn/20200708235433969.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 命令行就不再赘述了,继续介绍IDEA集成。</p> </li><li> <p>添加到暂存区<br> 右键项目–&gt;Git–&gt;add(等同于 git add .)<br> <img src="https://img-blog.csdnimg.cn/20200709003554529.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> add完后文件会变成绿色,输入git status也可查看。<br> <img src="https://img-blog.csdnimg.cn/20200709003822250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li><li> <p>commit提交到本地仓库<br> 可以右键项目–&gt;Git–&gt;commit Directory 或则右上角√或左侧导航<br> <img src="https://img-blog.csdnimg.cn/20200709005446753.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 等同于git commit -m “航空票务系统”<br> <img src="https://img-blog.csdnimg.cn/20200709005154933.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p> </li></ol>
<p>7.同步到远程仓库<br> VCS–&gt;Import into Version Control–&gt;Share Project on GitHub<br> <img src="https://img-blog.csdnimg.cn/2020070901162813.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 在弹框中输入仓库名和描述,点击Share。<br> <img src="https://img-blog.csdnimg.cn/20200709011831121.png" alt="在这里插入图片描述"><br> 同步成功:<br> <img src="https://img-blog.csdnimg.cn/20200709012406907.png" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/20200709012924995.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDM0NzA4,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p>
<h1>附:常用的Linux命令</h1>
<hr color="#000000" size="1&quot;">
<div class="table-box"><table><thead><tr><th>指令</th><th>作用</th></tr></thead><tbody><tr><td>cd</td><td>改变目录</td></tr><tr><td>cd . .</td><td>回退到上一个目录,直接cd进入默认目录</td></tr><tr><td>pwd :</td><td>显示当前所在的目录路径。</td></tr><tr><td>ls(ll)</td><td>都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。</td></tr><tr><td>touch</td><td>新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。</td></tr><tr><td>rm</td><td>删除一个文件, rm index.js 就会把index.js文件删除。</td></tr><tr><td>mkdir</td><td>新建一个目录,就是新建一个文件夹。</td></tr><tr><td>rm -r</td><td>删除一个文件夹, rm -r src 删除src目录</td></tr><tr><td>mv</td><td>移动文件</td></tr><tr><td>reset</td><td>重新初始化终端/清屏</td></tr><tr><td>clear</td><td>清屏</td></tr><tr><td>history</td><td>查看命令历史。</td></tr><tr><td>help</td><td>帮助</td></tr><tr><td>exit</td><td>退出</td></tr><tr><td>#</td><td>表示注释</td></tr></tbody></table></div>
<blockquote>
<p><strong>原创不易,请勿转载</strong>(<s>本不富裕的访问量雪上加霜</s> )<br> 博主首页:https://blog.csdn.net/qq_45034708<br> <em>如果文章对你有帮助,记得关注点赞收藏❤</em></p>
</blockquote>
                </div><br><br>
来源:https://www.cnblogs.com/jyxqclzx/p/13821296.html
頁: [1]
查看完整版本: IDEA版github教程(转载)