git和github简易教程
<h1 class="md-end-block md-heading"><span class="md-plain md-expand">git教程</span></h1><p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">简介</span></h2>
<p class="md-end-block md-p"><span class="md-plain">git是一个<span><strong>开源</strong><span class="md-plain">的<span><strong>分布式</strong><span class="md-plain"> 版本控制系统,用于敏捷高效得处理任何或大或小得项目。</span></span></span></span></span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">Git与SVN得区别</span></h2>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">1、git是分布式得,SVN不是</span></p>
<p class="md-end-block md-p"><span class="md-plain">2、git把内容按元数据方式存储,而SVN是按文件</span></p>
<p class="md-end-block md-p"><span class="md-plain">3、git分支和SVN不同</span></p>
<p class="md-end-block md-p"><span class="md-plain">4、git没有一个全局得版本号,而SVN有</span></p>
<p class="md-end-block md-p"><span class="md-plain">5、git得内容完整性要优于SVN</span></p>
</blockquote>
<p class="md-end-block md-p md-focus"><img src="https://img2018.cnblogs.com/i-beta/1834584/202001/1834584-20200102170821767-1428839840.png"></p>
<p> </p>
<p> </p>
<h1 class="md-end-block md-heading"><span class="md-plain">git快速入门</span></h1>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">使用git前,需要建立一个仓库(repository)。你可以使用一个已经存在得目录作为Git仓库或创建一个空目录。</span></p>
<p class="md-end-block md-p"><span class="md-plain">使用当前目录作为Git仓库,我们只需要初始化。</span></p>
<p class="md-end-block md-p"><span><code>git init</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">使用我们指定目录作为Git仓库</span></p>
<p class="md-end-block md-p"><span><code>git init newrepo</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">添加新文件,有仓库但是什么都没有</span></p>
<p class="md-end-block md-p"><span><code>git add filename</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">提交版本</span></p>
<p class="md-end-block md-p"><span><code>git commit -m "Adding files"</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">如果不使用-m,会出现编辑器来让你写自己的注释信息</span></p>
<p class="md-end-block md-p"><span class="md-plain">当我们修改了很多文件,而不是想每一个都add,用-a标识</span></p>
<p class="md-end-block md-p"><span><code>git commit -a -m "Changed some files"</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">git commit 命令的-a选项可将所有被修改或已经删除的且已经被git管理的文档提交到仓库</span></p>
<p class="md-end-block md-p"><span class="md-plain">发布新版本</span></p>
<p class="md-end-block md-p"><span class="md-plain">我们先从服务器上克隆一个并上传</span></p>
<p class="md-end-block md-p"><span><code>git clone ssh://example.com/~/www/project.git</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">现在我们修改之后可以进行推送到服务器</span></p>
<p class="md-end-block md-p"><span><code>git push ssh://example.com/~/www/project.git</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">取回更新</span></p>
<p class="md-end-block md-p"><span class="md-plain">如果您已经按上面的进行push,下面命令表示,当前分支自动与唯一一个追踪分支进行合并</span></p>
<p class="md-end-block md-p"><span><code>git pull</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">从默认位置更新的指定URL</span></p>
<p class="md-end-block md-p"><span><code>git pull http://git.example.com/project.git</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">删除</span></p>
<p class="md-end-block md-p"><span class="md-plain">从资源库中删除文件</span></p>
<p class="md-end-block md-p"><span><code>git rm file</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">分支与合并</span></p>
<p class="md-end-block md-p"><span class="md-plain">分支在本地完成,速度快。要创建一个新的分支,使用branch命令</span></p>
<p class="md-end-block md-p"><span><code>git branch test</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">使用checkout来更改分支</span></p>
<p class="md-end-block md-p"><span><code>git checkout test</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">对于其他分支的更改不会反应在主分支上,如果想提交到主分支,则需切回主分支——master</span></p>
<p class="md-end-block md-p"><span><code>git checkout master</code></span></p>
<p class="md-end-block md-p"><span><code>git merge test</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">如果想要删除分支,使用-d</span></p>
<p class="md-end-block md-p"><span><code>git branch -d test</code></span></p>
</blockquote>
<h1 class="md-end-block md-heading"><span class="md-plain">github简明教程</span></h1>
<h2 class="md-end-block md-heading"><span class="md-plain">简介</span></h2>
<p class="md-end-block md-p"><span class="md-plain">github是一个基于git的代码托管平台,付费用户可以建立私人仓库,免费用户只能使用公开仓库</span></p>
<h1 class="md-end-block md-heading"><span class="md-plain">注册账户以及创建仓库</span></h1>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">github官方网址:<span class="md-link">https://github.com/</span></span></p>
<p class="md-end-block md-p"><span class="md-plain">github安装</span></p>
<p class="md-end-block md-p"><span class="md-plain">配置git</span></p>
<p class="md-end-block md-p"><span class="md-plain">首先在本地创建ssh key;</span></p>
<p class="md-end-block md-p"><span><code>$ ssh-keygen -t rsa -C "your_email@your_email.com"</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">进入“/“下的.ssh文件夹,打开id_rsa.pub复制里边的key</span></p>
<p class="md-end-block md-p"><span class="md-plain">回到github上,进入Account Settings(账户设置),左边选择SSH Keys,Add SSH key,title随便填,粘贴在你电脑上生成的key</span></p>
<p class="md-end-block md-p"><span class="md-plain">为了验证是都成功,在git bash下输入:</span></p>
<p class="md-end-block md-p"><span><code>$ ssh -T git@github.com</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">如果第一次会提示是都continue,输入yes</span></p>
<p class="md-end-block md-p"><span><code>$ git config --global user.name "your name"</code></span></p>
<p class="md-end-block md-p"><span><code>$ git config --global user,email "your_email@your_email.com"</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">进入要上传的仓库,右键 给i他bash,添加远程地址:</span></p>
<p class="md-end-block md-p"><span><code>$ git remote add orgin git@github.com:yourName/yourRepo.get</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">检出仓库</span></p>
<p class="md-end-block md-p"><span class="md-plain">创建本地仓库的克隆:</span></p>
<p class="md-end-block md-p"><span><code>git clone /path/to/repository</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">如果在远程仓库:</span></p>
<p class="md-end-block md-p"><span><code>git clone username@host:/path/to/repository</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">工作流</span></p>
<p class="md-end-block md-p"><span class="md-plain">你的本地仓库由git维护的三棵”树“组成,第一个是你的工作目录,他持有实际文件;第二个是暂存区(index),临时保存改动;最后是HEAD,指向你最后一次提交结果,你可以</span></p>
<p class="md-end-block md-p"><span class="md-plain">把他们添加到暂存区:</span></p>
<p class="md-end-block md-p"><span><code>git add <filename></code></span></p>
<p class="md-end-block md-p"><span><code>git add *</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">实际提交改动:</span></p>
<p class="md-end-block md-p"><span><code>git commit -m "代码提交信息"</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">推送改动:</span></p>
<p class="md-end-block md-p"><span class="md-plain">你现在改动在HEAD</span></p>
<p class="md-end-block md-p"><span><code>git push origin master</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">可以将master换为你的目标分支</span></p>
<p class="md-end-block md-p"><span class="md-plain">如果你换没有克隆现有仓库,并欲将它连接到远程仓库:</span></p>
<p class="md-end-block md-p"><span><code>git remote add orgin <server></code></span></p>
</blockquote>
<h2 class="md-end-block md-heading"><span class="md-plain">标签</span></h2>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">创建标签:</span></p>
<p class="md-end-block md-p"><span><code>git tag 1.0.0 1b2e1d63ff</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">获取提交id</span></p>
<p class="md-end-block md-p"><span><code>git log</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">可以使用较少的id前即为,只要它有指向唯一性</span></p>
</blockquote>
<h2 class="md-end-block md-heading"><span class="md-plain">替换本地改动</span></h2>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:<span class="md-softbreak"> <span><code>git checkout --</code><span class="md-softbreak"> <span class="md-plain">此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。</span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:<span class="md-softbreak"> <span><code>git fetch origin</code><span class="md-softbreak"> <span><code>git reset --hard origin/master</code></span></span></span></span></span></p>
</blockquote>
<h2 class="md-end-block md-heading"><span class="md-plain">使用小贴士</span></h2>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">内建的图形化 git:</span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"> <span><code>gitk</code></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain">彩色的 git 输出:</span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"> <span><code>git config color.ui true</code></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"> <span class="md-plain">显示历史记录时,每个提交的信息只显示一行:</span></span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><code>git config format.pretty oneline</code></span></span></span></span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"> <span class="md-plain">交互式添加文件到暂存区:</span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"><span><span class="md-softbreak"><span class="md-plain"><span class="md-softbreak"> <span class="md-expand"><code>git add -i</code></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
</blockquote>
</div>
<div id="MySignature" role="contentinfo">
梦的远方,温暖为向,所到之处,遍地阳光!<br><br>
来源:https://www.cnblogs.com/blamwq/p/12134021.html
頁:
[1]