GitHub入门速通教程
<h1>什么是Github?</h1><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: Segoe UI">GitHub</span><span style="font-family: 宋体">是一个提供版本控制和协作开发的代码托管平台,可以让你和其他人在任何地方一起开发项目。</span><span style="font-family: Segoe UI">
</span></span></p><h1>为什么要用Github?
</h1><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: Segoe UI">Github</span><span style="font-family: 宋体">目前已经是最流行的开源项目托管平台,我们可以在</span><span style="font-family: Segoe UI">GitHub</span><span style="font-family: 宋体">找到很多有用的代码,学习某项技术,甚至帮助开发某个项目。对于学习深度学习的开发者,无论是深度学习框架,还是最前沿的深度学习算法,通常你都能在</span><span style="font-family: Segoe UI">GitHub</span><span style="font-family: 宋体">上找到其源代码并帮助你的研究和开发工作。</span><span style="font-family: Segoe UI">
</span></span></p><h1>什么是Git?
</h1><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: Segoe UI">Git</span><span style="font-family: 宋体">是一个版本控制系统,使用</span><span style="font-family: Segoe UI">Git</span><span style="font-family: 宋体">的项目(无论是否在</span><span style="font-family: Segoe UI">Github</span><span style="font-family: 宋体">上)可以得到更好的版本管理,便于对项目做开发、修改、还原和发布等。</span><span style="font-family: Segoe UI">
</span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">我会把</span><span style="font-family: Segoe UI">Git</span><span style="font-family: 宋体">理解为一些帮助我实现版本控制的命令行工具,使用这些命令可以实现对项目内容的增删查改并保留完整的记录。</span><span style="font-family: Segoe UI">
</span></span></p><p style="background: rgba(248, 250, 253, 1); margin-left: 13pt"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: Segoe UI">Git</span><span style="font-family: 宋体">是由著名的</span><span style="font-family: Segoe UI">Linux</span><span style="font-family: 宋体">之父</span><span style="font-family: Segoe UI">Linus Torvalds</span><span style="font-family: 宋体">在</span><span style="font-family: Segoe UI">2005</span><span style="font-family: 宋体">年开发</span><span style="font-family: Segoe UI">
</span></span></p><h1>Github的基本概念
</h1><h2>1. 仓库(Repository)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">仓库</span><span style="font-family: Segoe UI">(Repository)</span><span style="font-family: 宋体">,简称</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">Repo</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">,通常用来管理和存放一个单独的项目,在本文中也称作</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">项目</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">。一个</span><span style="font-family: Segoe UI">Repo</span><span style="font-family: 宋体">中可以包含文件、文件夹、图片、视频、表单任何项目需要的文件。</span><span style="font-family: Segoe UI">
</span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">一个</span><span style="font-family: Segoe UI">Repo</span><span style="font-family: 宋体">通常需要一个</span><span style="font-family: Segoe UI">READMD</span><span style="font-family: 宋体">文件,我们推荐使用</span><span style="font-family: Segoe UI">markdown</span><span style="font-family: 宋体">格式的文本文档来说明项目相关的信息。</span><span style="font-family: Segoe UI">
</span></span></p><h2>2. 本地(local)和远程(remote)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">如果,(</span><span style="font-family: Segoe UI">1</span><span style="font-family: 宋体">)我们创建了一个本地项目,然后我们将其</span><span style="font-family: Segoe UI">push</span><span style="font-family: 宋体">到</span><span style="font-family: Segoe UI">github</span><span style="font-family: 宋体">上自己的账户中;(</span><span style="font-family: Segoe UI">2</span><span style="font-family: 宋体">)或者我们在</span><span style="font-family: Segoe UI">github</span><span style="font-family: 宋体">账户中(通过浏览器)创建了一个</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">,又将其</span><span style="font-family: Segoe UI">pull</span><span style="font-family: 宋体">到本地。</span><span style="font-family: Segoe UI">
</span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">此时在</span><span style="font-family: Segoe UI">local</span><span style="font-family: 宋体">和</span><span style="font-family: Segoe UI">remote</span><span style="font-family: 宋体">会分别存有两份项目的拷贝。这两份拷贝既独立又有联系,我们可以通过一些</span><span style="font-family: Segoe UI">git</span><span style="font-family: 宋体">命令是他们之间相互</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">推送</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">代码和文件。也就是说,当你在本地修改项目内容时,远程的</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">是不会知道这些修改的,直到这些修改被</span><span style="font-family: Segoe UI">push</span><span style="font-family: 宋体">到</span><span style="font-family: Segoe UI">remote</span><span style="font-family: 宋体">,远程</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">中的代码才会被更新。</span><span style="font-family: Segoe UI">
</span></span></p><h2>2. 分支 (branch)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">分支可以让我们在项目</span><span style="font-family: Segoe UI">Repo</span><span style="font-family: 宋体">中处理多个不同的版本,默认情况下,项目会有一个默认分支</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: Segoe UI"> (</span><span style="font-family: 宋体">有些项目的默认分支是</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">master</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: Segoe UI">)</span><span style="font-family: 宋体">。</span><span style="font-family: Segoe UI">
</span></span></span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">我们通过创建分支来开发和修改项目,然后再将这些修改提交并入到</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">分支。</span><span style="font-family: Segoe UI">
</span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">当你基于</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">分支创建一个新的分支时,可以理解为我们现在有了一个</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">分支的拷贝,或者叫</span><span style="font-family: Segoe UI">snapshot</span><span style="font-family: 宋体">,这份拷贝是基于</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">分支此时当前状态下的</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">复制</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">。要注意,当你在新的分支进行开发时,如果其他人对</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">分支进行了修改,你可能需要拉取</span><span style="font-family: Segoe UI">(</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">pull</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: Segoe UI">)</span><span style="font-family: 宋体">这些更新的内容到你的分支里。</span><span style="font-family: Segoe UI">
</span></span></span></span></span></span></span></span></span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">分支的一个重要作用是协同开发,在</span><span style="font-family: Segoe UI">GitHub</span><span style="font-family: 宋体">上,很多项目的开发人员都是通过创建新的分支,来修复</span><span style="font-family: Segoe UI">bug</span><span style="font-family: 宋体">,开发新的功能,或者开展新的尝试,当相关工作完成之后,这些修改将会合并(</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">merge</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: Segoe UI">)</span><span style="font-family: 宋体">到</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">main</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">分支上。</span><span style="font-family: Segoe UI">
</span></span></span></span></span></span></p><h2>3. 提交(commit)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">对</span><span style="font-family: Segoe UI">Github</span><span style="font-family: 宋体">的项目进行修改,叫做</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">。每一条</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">都会附带一条</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">信息,用来记录这条修改的简要描述,例如,</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">修复了某个</span><span style="font-family: Segoe UI">bug" </span><span style="font-family: 宋体">或者</span><span style="font-family: Segoe UI"> "</span><span style="font-family: 宋体">增加了某个功能</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">。</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">本身会记录对项目修改的所有内容。</span><span style="font-family: Segoe UI">
</span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">使用</span><span style="font-family: Segoe UI">Commit</span><span style="font-family: 宋体">命令前,我们通常需要使用</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">add</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">命令,将修改或增加的项目文件</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">添加</span><span style="font-family: Segoe UI">"</span><span style="font-family: 宋体">到</span><span style="font-family: Segoe UI">git</span><span style="font-family: 宋体">中,让</span><span style="font-family: Segoe UI">git</span><span style="font-family: 宋体">能够跟踪到这些文件,例如我们在项目中修改了</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">README.md</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">文件,在</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">之前:</span><span style="font-family: Segoe UI">
</span></span></span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(56, 58, 66, 1); font-family: Lucida Console; font-size: 10pt; background-color: rgba(250, 250, 250, 1)">git add README.md
</span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">我们还可以通过</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">git status</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">来查看文件状态,用以确定哪些文件需要添加,完成添加后,使用</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">命令完成此次提交:</span><span style="font-family: Segoe UI">
</span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(56, 58, 66, 1); font-family: Lucida Console; font-size: 10pt; background-color: rgba(250, 250, 250, 1)">git commit -m <span style="color: rgba(80, 161, 79, 1)">'update readme file'<span style="color: rgba(56, 58, 66, 1)">
</span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">其中</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">-m</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">参数用来添加</span><span style="font-family: Segoe UI">commit message</span><span style="font-family: 宋体">,建议使用简洁的客观描述概括本次</span><span style="font-family: Segoe UI">commit</span><span style="font-family: 宋体">的主要内容。</span><span style="font-family: Segoe UI">
</span></span></span></span></p><h2>4. 拉取请求 (Pull Request)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">拉取请求(</span><span style="font-family: Segoe UI">Pull Request</span><span style="font-family: 宋体">)又称作</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">PR</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">,是在</span><span style="font-family: Segoe UI">github</span><span style="font-family: 宋体">上进行合作开发的核心概念。当你提交一个</span><span style="font-family: Segoe UI">PR</span><span style="font-family: 宋体">,表示你提议将自己对项目的修改并入到别人项目中的某一分支里去。这个提议将由对方项目的相关人员进行审核,然后完成并入</span><span style="font-family: Segoe UI">(merge)</span><span style="font-family: 宋体">操作。当然,你也可以在自己项目中提交</span><span style="font-family: Segoe UI">PR</span><span style="font-family: 宋体">,并自己并入自己的分支。</span><span style="font-family: Segoe UI">
</span></span></span></span></p><h2>6. Fork
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(64, 64, 64, 1); font-size: 10pt"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">Fork</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">通常是指拷贝一个</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">,这个</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">可以作为你要修改、贡献该项目的起点,或者作为你自己项目的一个组件。</span><span style="font-family: Segoe UI">
</span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">如果你在(别人的)项目中发现了一个</span><span style="font-family: Segoe UI">bug</span><span style="font-family: 宋体">,并且要修复它,那么你可以做:</span><span style="font-family: Segoe UI">
</span></span></p><ol><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(64, 64, 64, 1); font-size: 10pt"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">Fork</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">这个项目</span><span style="font-family: Segoe UI">
</span></span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">修复</span><span style="font-family: Segoe UI">bug
</span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">提交</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">PR</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">给项目</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li></ol><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">通常我们可以方便的在浏览器中使用</span><span style="font-family: Segoe UI">Github</span><span style="font-family: 宋体">的</span><span style="font-family: Segoe UI">fork</span><span style="font-family: 宋体">功能,当</span><span style="font-family: Segoe UI">Fork</span><span style="font-family: 宋体">完成之后,在我们自己的</span><span style="font-family: Segoe UI">GitHub</span><span style="font-family: 宋体">账户下,就多了一个</span><span style="font-family: Segoe UI">forked repo</span><span style="font-family: 宋体">。</span><span style="font-family: Segoe UI">
</span></span></p><h2>7. 克隆(Clone)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">通常情况下,我们在将项目从远程</span><span style="font-family: Segoe UI">(github</span><span style="font-family: 宋体">网站</span><span style="font-family: Segoe UI">)</span><span style="font-family: 宋体">拷贝到本地进行使用或者修改,可以使用</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">clone</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">功能。例如,我们想要将</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">PaddleViT</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">项目拷贝到本地,可以在命令行中使用以下命令:</span><span style="font-family: Segoe UI">
</span></span></span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(56, 58, 66, 1); font-family: Lucida Console; font-size: 10pt; background-color: rgba(250, 250, 250, 1)">git <span style="color: rgba(193, 132, 1, 1)">clone<span style="color: rgba(56, 58, 66, 1)"> https://github.com/BR-IDL/PaddleViT.git
</span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">当远程项目有更新时,我们不需要再次</span><span style="font-family: Segoe UI">clone</span><span style="font-family: 宋体">,只需要使用</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">pull</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">命令,可以将远程</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">的更新内容拉取到本地项目中来</span><span style="font-family: Segoe UI">:
</span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(56, 58, 66, 1); font-family: Lucida Console; font-size: 10pt; background-color: rgba(250, 250, 250, 1)">git pull
</span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">如果是我们创建的远程</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">,在本地进行修改</span><span style="font-family: Segoe UI">(</span><span style="font-family: 宋体">并</span><span style="font-family: Segoe UI">commit)</span><span style="font-family: 宋体">之后,我们可以使用</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">命令将这些更新,上传到远程</span><span style="font-family: Segoe UI">repo</span><span style="font-family: 宋体">中:</span><span style="font-family: Segoe UI">
</span></span></span></span></p><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(56, 58, 66, 1); font-family: Lucida Console; font-size: 10pt; background-color: rgba(250, 250, 250, 1)">git push
</span></p><p style="background: rgba(248, 250, 253, 1); margin-left: 13pt"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">注意:</span><span style="font-family: Segoe UI">
</span><span style="font-family: 宋体">如果我们</span><span style="font-family: Segoe UI">clone</span><span style="font-family: 宋体">的是别人的项目,通常只有</span><span style="font-family: Segoe UI">pull</span><span style="font-family: 宋体">权限,而不能</span><span style="font-family: Segoe UI">push</span><span style="font-family: 宋体">,如果想要修改别人的项目,可以使用</span><span style="font-family: Segoe UI">fork + clone + push + PR</span><span style="font-family: 宋体">的方式。</span><span style="font-family: Segoe UI">
</span></span></p><h2>7. 星标(Star)
</h2><p style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">仓库的书签或者赞赏表示。</span><span style="font-family: Segoe UI">Star</span><span style="font-family: 宋体">是项目受欢迎程度的表示方式。</span><span style="font-family: Segoe UI">
</span></span></p><h1>如何使用Github上的开源项目
</h1><h2>Case 1. 我希望使用某个项目
</h2><ol><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">将项目</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">git clone</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">到本地</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">使用项目</span><span style="font-family: Segoe UI">
</span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">如果远程</span><span style="font-family: Segoe UI">Repo</span><span style="font-family: 宋体">有更新,使用</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">git pull</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">拉取更新</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li></ol><h2>Case 2. 我希望修改或者为某个项目增加功能
</h2><ol><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">将远程</span><span style="font-family: Segoe UI">Repo </span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">fork</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">到自己的</span><span style="font-family: Segoe UI">github</span><span style="font-family: 宋体">中,这一步可以在</span><span style="font-family: Segoe UI">github</span><span style="font-family: 宋体">网站页面完成</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">将</span><span style="font-family: Segoe UI">forked</span><span style="font-family: 宋体">之后的项目拷贝</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">git clone</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">到本地</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">在本地完成修改或者开发,并</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">commit</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">这些修改</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">将本地修改</span><span style="color: rgba(64, 64, 64, 1)"><span style="font-family: Lucida Console; background-color: rgba(247, 247, 247, 1)">git push</span><span style="color: rgba(0, 0, 0, 1)"><span style="font-family: 宋体">到远程</span><span style="font-family: Segoe UI">forked repo</span><span style="font-family: 宋体">中</span><span style="font-family: Segoe UI">
</span></span></span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">给项目提交</span><span style="font-family: Segoe UI">PR</span><span style="font-family: 宋体">(可以使用</span><span style="font-family: Segoe UI">github</span><span style="font-family: 宋体">网站页面完成)</span><span style="font-family: Segoe UI">
</span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: 宋体">项目相关人员会审核代码、给反馈或者提出修改,无误后并入项目</span><span style="font-family: Segoe UI">Repo
</span></span></div></li></ol><p>
</p><p>参考资料:
</p><ul><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-size: 10pt"><span style="font-family: Segoe UI">github </span><span style="font-family: 宋体">官方文档:</span><span style="font-family: Segoe UI"> https://docs.github.com/en/get-started
</span></span></div></li><li><div style="background: rgba(255, 255, 255, 1)"><span style="color: rgba(0, 0, 0, 1); font-family: Segoe UI; font-size: 10pt">https://aistudio.baidu.com/aistudio/projectdetail/3034370</span></div></li></ul>
</div>
<div id="MySignature" role="contentinfo">
转载请注明出处。
有事请私信联系~<br><br>
来源:https://www.cnblogs.com/shealee/p/15605225.html
頁:
[1]