在这个视频中, 我们将讨论get和GitHub以及源代码控制｡
现在, 你可能还记得我们上一节提到的GitHub, 我们用它把网站放到网上,
但我会告诉你它远不止于此｡
更重要的是, 上车｡
GitHub被大多数专业公司所使用, 它是一项预计现在所有开发者都知道的技能｡
所以这是一个重要的部分｡
大多数开发人员在工作的第一天首先要做的事情之一是获得一个叫做拉取请求的东西, 它使用Git和GitHub｡
我们将在这一节中介绍这一点｡
别担心, 你会学到这一切, 这将是有意义的｡
让我们首先从源代码管理开始｡
到目前为止, 我们只处理小文件｡
没有队员, 只有我们自己｡
只是一些文件｡
但在真实的生活中, 您很可能不是团队中唯一的开发人员｡
这些项目很可能是巨大的｡
有很多很多文件｡
源代码管理使我们能够确保多个人可以从不同的位置处理同一个文件｡
您可以将它想象成Google Docs, 它允许人们在一个文档上进行协作｡
但说够了｡
我们来看看｡
我在这里设置了两个文件夹｡
一个是我自己的Andre, 她刚开始一份新工作, 但X公司和我有Marci, 她已经在公司工作了一段时间,
她有项目文件在这里｡
我实际上使用的文件从我们的背景生成器视频｡
现在, 没有Git或GitHub, 我能做的就是复制和粘贴这些文件｡
马尔西手上的东西我都拿到了我们可以开始处理这些文件了｡
我可以在这里拥有我的开发环境, 我的终端和我的崇高文本, 我可以在应用程序上进行任何需要的更改｡
还有马尔西｡
这里也有她自己的版本, 她可以在那里工作｡
而且我们都在做同一个项目｡
但让我们假设Marcy和我都在这个项目上工作, 她决定将项目名称从渐变背景更改为超级背景｡
同时在我的项目中, 我决定把这个叫做酷炫的背景｡
好吧, 现在你得安排我和玛西见个面, 然后决定我们该怎么修改密码｡
这是一个小例子, 但你可以想象, 当不同的程序员一起工作时, 总是会有这样的问题,
一个人修改一件事, 另一个人修改另一件事｡
这就是源代码控制的用武之地, 而社会控制是一种控制的方式, 我们有一个地方,
而不是我们自己的计算机｡
在本例中, 它只是由我在这里的文件夹表示,
而不是我们每个人都有一个带有源代码管理的项目副本｡
我们有一个项目的副本,
但有一个集中的位置在某处, 也许是由该公司拥有或在互联网上的某处有最终版本, 我们每个人都谈, 以确保我们每个人都有相同的版本｡
获取GitHub是实现这一点的一种方法, 能够使用源代码控制｡
事实上, 这是事实上的做法｡
就像我之前说的, 这很可能是你每天在工作场所使用的工具｡
所以如果我在这里进入GitHub网站, 它允许我们做的是, 它是一个地方, 一个中心的地方,
安德烈和马尔西都可以交谈｡
所以即使我们在处理同样的文件, 同样的项目｡
我可以问这个中心位置, 如GitHub｡
嘿, 玛西有什么改变吗？
玛西可以问｡
安德烈有什么改变吗
每隔一段时间, 你会看到这样的东西, 我们有很酷的背景和超级背景,
我们有一个所谓的合并冲突｡
GitHub允许我们做的是说, 嘿, 我注意到有一个合并冲突｡
我看你们都改变了背景｡
我不知道谁说得对, 但这是信息｡
安德烈·马西, 你们能不能私下谈谈, 想办法？
这就是工作流程｡
让我们来看看它是什么样子的｡
我们要做的第一件事是建立一个GitHub帐户｡
如果你在前面的练习中没有这样做, 你绝对应该开始一个GitHub帐户｡
免费的｡
就像我之前说的, 如果你是一个开发人员, 你只需要拥有它｡
每个人都在这里做项目, 你也在这里工作｡
你会花很多时间在这个网站上｡
你可能还记得, 当我们有GitHub项目的时候, 我也告诉过你要把GitHub用于桌面｡
虽然我们在视频中使用这种方法使事情变得更简单, 但实际上这不是推荐的方法｡
它可以让你直观地看到GitHub并与之交互, 但它有点被雇主看不起,
大多数人使用终端或命令提示符来完成这一任务｡
所以我不会这样教你们, 只是因为我认为这是不好的练习, 习惯终端很重要｡
我要把它关上, 然后我们开始｡
我们要做的第一件事是单击“Start a Project”（启动项目）｡
这里我们想怎么叫都行｡
我们称之为背景生成器｡
您还希望将其保留为公开, 我们希望单击“initialize this with a read me”（初始化此存储库）, 然后单击“Create
Repository”（创建存储库）｡
我们在GitHub上创建了一个新项目｡
这里是readme, 它只是一个描述您的项目的文件｡
你可以看到它在这里｡
我们可以在read me中输入任何我们想要的内容, 它会描述我们的项目｡
但我们还是回去吧｡
如果Marcy在这家公司工作了很长时间, 我实际上要在这里删除我的文件｡
玛西在这家公司工作了很长时间, 雇主最终决定, 嘿, 我们需要使用GitHub,
我们要雇佣这个新家伙｡
安德烈｡
我们想确保你们两个都能一起工作, 一起做这个项目, 没有任何问题｡
你能把这个项目放到GitHub上吗？
Marcy要做的是进入GitHub, 创建背景生成器, 然后她要点击这里来克隆或下载,
她要确保它显示使用HTTPS｡
从这里你只要点击这个按钮, 它会把这个链接复制到你的键盘上, 然后是Marcy｡
去她的终端｡
而现在, 我们在文件中｡
我们希望将项目放在Marcy文件夹中, 因此如果单击LRS, 我会将种子放入Marcy中, 我会看到我现在有了自己的文件｡
我们要学习的第一个命令叫做Get｡
克隆｡
然后复制粘贴我们从网站上复制的内容｡
我们只是说嘿克隆这个项目从GitHub. com｡
所以我按下回车键, 你就可以了｡
所有内容都已下载｡
如果我现在回到文件夹, 我看到我有背景生成器｡
如果我双击这个, 你会看到这里有一个. git文件夹, 它实际上是隐藏的｡
如果您的计算机上没有启用此功能, 您甚至可能无法在笔记本电脑上看到它｡
但是这个dog get现在允许我与GitHub进行通信｡
所以我们现在可以做的是, Marcy可以复制并粘贴这些文件, 并将其放入背景生成器｡
现在让我向您展示下一个get命令, Marcy｡
现在, 如果我们看到她在她的文件夹里,
但现在我们需要进入后台生成器, 因为如果我们在这里执行任何git命令, 它都不会工作, 因为它不是一个git项目｡
我们需要真正进入GitHub上创建的项目内部｡
所以我将在该目录中进行播种｡
注意这里我设置了我的终端, 它实际上显示了我在GitHub的位置, 我稍后会解释master的意思｡
既然我们到了, 就可以看我们所有的文件了｡
是的, 我看到了｡
现在我有了我在GitHub上创建的read me, 以及我复制和粘贴的文件｡
我们需要这样想, 如果我进入我的后台生成器, 而不是读我的文件, 马尔西可以把她的文件在GitHub上｡
我们这样做的方法是我们的第二个命令获取状态｡
它告诉我们, 我们有关于跟踪文件｡
也就是说, 我们已经索引了HTML, 脚本, JS和样式, 这是在跟踪和它说, 使用获得添加文件, 以包括什么,
你什么将提交｡
现在, 我们看到了文件夹中的状态, 我们可以输入get､ add和文件名,
这样我就可以执行index. HTML､ add script JS和add style. CSS｡
我们把它清理一下, 这样我们就能看到了｡
现在我可以再次获得状态, 只是为了看看我们的状态是什么｡
现在我有你的分支是最新的变化要提交｡
你可以看到, 现在通过ADD, 我们已经说过, 嘿, 我们想要添加这些更改｡
我们添加了新文件, 并表示要提交｡
所以第二步是做一个叫做get commit的动作, get commit说, 嘿, 我在提交那个｡
这些是我想对GitHub做的修改, 它允许你传递一条消息, 这样在GitHub上就可以显示这条消息｡
当Andre回来时, 他可以说, 哦, Marcy添加了这些文件, 这就是消息｡
我们通过这样做来实现这一点｡
在这里, 在双代码内, 我可以说添加起始项目关闭括号, 按回车｡
我现在要清除这个, 我们已经添加了最后一个步骤｡
我们用add来添加我们的更改, 然后用commit来提交, 然后说, 是的, 我们正在锁定这些更改｡
最后, 我们需要让GitHub. com知道这些是变化｡
所以我们确实有压力｡
就这样｡
现在已将其推送到此存储库｡
所以如果我回去｡
然后我刷新｡
你看那个｡
这和我们第一个网站上线时做的一样｡
但是我们没有使用桌面版的GitHub, 而是使用了命令行, 现在我们有了我们的项目, 这非常好｡
现在让我们回到我们的例子｡
玛莎一直在做这个项目｡
有一个很好的存储库, 我刚加入公司, 现在我需要开始工作｡
我现在该怎么办？
我需要访问GitHub并获得背景生成器的副本｡
我做的方式｡
好吧, 我打开文件夹｡
我也是这么做的｡
我得到克隆, 然后像以前一样复制并粘贴存储库｡
获取克隆并克隆存储库｡
就这样｡
如果我回到我的文件夹, 看看这个｡
我有背景生成器｡
所以我们现在都在做背景生成器, 但不是从对方的文件中｡
我们使用的是GitHub上的任何版本｡
好吧, 我会的
所以现在更现实一点, 我们回去工作｡
在我工作的第一天, 我说我要把渐变背景标题, 实际上是H1标签改成cool
generator｡
如果我保存了这个, 我就能得到状态｡
哦, 好吧, 我现在不在仓库｡
如果你还记得的话, 我得进入背景生成器｡
让我把它打开一点, 这样我们就可以看到｡
你又来了
如果您所在的文件夹中没有摘要文件夹, 则这些命令将不起作用｡
让我把CD放到背景生成器中｡
我将清除此选项, 然后输入“获取状态”, 然后查看该选项｡
它告诉我, 我已经修改了索引HTML文件, 如果我们记得我会说得到添加｡
我只有一个文件, 我可以做索引HTML｡
但如果我想, 如果我有多个文件, 我想一次提交所有文件,
我可以只执行句点.
我将这样做, 然后提交, 我将添加一个消息, 更改标题｡
我按下回车键｡
我去把这个弄清楚｡
再说一次, 我确实被推了｡
而且看起来一切都顺利｡
我们打开看看吧｡
我现在刷新你的｡
我们还没有看到任何变化, 但是我们现在看到了三个提交｡
我们有一个初始提交, Marci做的添加后台项目, 它显示了所有添加的文件｡
如果我返回, 我会提交更改的标题, 现在我看到了｡
是的, 我知道
安德烈刚换了后台发电机, 也就是用红色来降温的发电机｡
如您所见, 我们有所有变更的历史记录, 如果有任何错误, 我们随时可以返回｡
但现在有一个问题｡
如果我回到代码, 我去马西的电脑, 我看到了｡
她这里还有背景生成器｡
为什么会这样呢？
因为她的电脑不知道GitHub已经更新了｡
下一个命令是get pull, 这也是视频中的最后一个命令.
所以请记住, 要推动变革, 就必须推动ABC｡ 并获得拉拉任何是最新的｡
所以我确实被拉住了｡
就这样｡
您可以在这里看到, 它显示索引HTML文件已更改｡
现在你看到我的｡
标题已变更为Cool Generator｡
这么说吧, 马尔西看到了我的第一个变化, 她真的, 真的很喜欢我添加了酷发电机,
但我认为她想让它再次资本化｡
她会保存你的
她会说获取状态｡
好了, 我有了我的索引HTML文件, 得到add, 然后得到commit, 我会把消息副本添加到谎言标题｡
然后被人推｡
你又来了
我回去了｡
我刷新了一下, 现在有四个提交, 我们可以看到大写的标题｡
是的｡
新的变化｡
第一天的工作完成了｡
我进入第二天的工作, 好吧, 我想开始与任何最新的项目是背景生成器｡
让我们假设玛西工作了一整晚, 把这个标题改成了“酷资本”｡
我想确保我有最新的版本｡
所以当我早上上班的时候, 我会说, 好吧, 我想确保如果马西做了任何改变,
我都知道｡
我会说“拉”, 注意在我拉之后标题会发生什么变化｡
现在我点击升华文本, 就这样｡
冷却发电机｡
好吧, 我会的
在下一个视频中, 我们将对此进行扩展, 向大家展示如果Marcy和Andre都做了同样的改变,
会发生什么｡
GitHub是做什么的？
我会看到你在那个｡
再见, 再见, 再见