CodeGym /课程 /Java 集合 /提交和分支

提交和分支

Java 集合
第 5 级, 课程 2
可用

“今天我要给大家介绍两个最流行的版本控制程序:SVN 和 Git。”

“SVN 的工作方式大致与我在上一课中描述的方式相同。Git 稍微复杂一些,我打算更详细地讨论它。”

“你能给我 SVN 和 Git 文档的链接吗?”

“当然,等一下。”

http://svnbook.red-bean.com/en/1.7/svn-book.html

https://githowto.com  (这简直就是神作)

“那么,吉特。”

“它比 SVN 复杂一点。 使用 Git,除了服务器存储库之外,每个用户都有自己的本地存储库。 ”

“那你承诺在哪里?”

“用户总是提交到他们的本地存储库。”

“但是服务器存储库呢?”

“要同步本地和服务器存储库,有特殊的 Pull 和 Push 命令。

“这是有原因的。有时程序员需要自己做很多工作,这可能涉及数百次提交,然后才能将其添加到共享存储库中。”

“要在 SVN 中执行此操作,您必须启动一个单独的分支,然后将其与主干合并。”

“使用 Git,您只需始终提交到本地存储库,然后在完成后将所有更改作为批次发送到服务器上的中央存储库。”

“当你只写一点代码时,这种方法可能看起来有点过分。但是当你的任务如此之大以至于跨越数周时,你就会明白你不能一直写那么多时间而不投入。”

“为什么你不能只工作两周,然后将你的更改提交到服务器一次?”

“嗯,版本控制程序提供了很多便利。”

“想象一下,你每天都提交,在第 10 天你发现你在过去两天所做的更改不会按计划工作。你想恢复到第 8 天的代码并处理任务不一样的。”

“你只需回滚最近两天对本地存储库所做的更改并返回到所需状态。这被称为回滚操作。”

“你是说你能做到?”

“是的。此外,由于存储了提交历史记录,您可以找出何时、为何提交某项内容,由谁提交,相关功能/错误,以及作为这项工作的一部分同时修改了哪些十个文件。”

“假设某人的错误修复破坏了其他人的代码。您可以回滚(回滚)代码并继续进行,就好像更改从未发生过一样。”

“好吧,太棒了。我相信。你能给我举几个例子来说明这一切是如何工作的吗?”

“当然。”

“以下是将中央存储库克隆到本地计算机的方法:”

提交和分支 - 1

“所以,不再需要 Checkout 操作了。”

“是的。这里是推送操作的例子:”

提交和分支 - 2

“和拉动操作:

提交和分支 - 3

“啊。这多少有点道理。”

“顺便说一下,有一个很棒的服务叫做 GitHub。”

“任何程序员都可以在那里注册并创建自己的 Git 存储库。我建议你熟悉它。”

“这里有一些有用的链接:”

https://githowto.com

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

https://articles.assembla.com/using-git/getting-started/set-up-git-on-windows-with-tortoisegit

“请注意,有相当多的 Git 客户端。”

“首先是  GitBash,它可以让您输入文本命令。”

“然后是TortoiseGit,它是 Windows 资源管理器中内置的一个很好的程序。它允许您直接在资源管理器中处理 Git 存储库中的文件。”

“IntelliJ IDEA 支持 Git,让您只需在环境中直接点击几下,即可执行各种复杂的命令。”

“那么,我该学哪一个呢?”

“我建议你去了解他们所有人。”

“你会通过面试并上班。你会得到一个 Git 链接、一个登录名和密码——仅此而已。然后你就靠自己了。”

“你是什么意思,‘靠你自己’?”

“我的意思是你会自己设置 Git,自己拉一个存储库的副本,......”

“然后你需要构建并尝试运行该项目。”

“构建说明也很可能与项目文档一起位于 Git 存储库中。”

“你的团队领导会在晚上来找你说,  ‘好吧,到目前为止你发现了什么?’ “

“你会说,‘我正在尝试在这里设置 Git,但还没有取得任何成功。“你不会解雇我,对吧?” “

“或者,趁现在还是中午,你可以去找团队负责人说,  «我安装了 Git,拉取了项目,浏览了文档,但是有数百个文件,我还没有把所有东西都整理好。在哪里?当前的构建说明是什么?'» “

“你能感觉到不同吗?”

“是的。在第二种情况下,我是一个超级摇滚明星程序员,但在第一种情况下,我是一些机器人傻瓜,甚至不知道如何从 Git 中提取项目。换句话说,我搞砸了“我什至在开始编程之前就已经开始了。我想在那之后他们甚至都不会让我写代码了。”

“看,你回答了你自己的问题。所以研究并弄清楚。没有人会为你做。”

“你不打算帮我?”

“我已经帮忙了。我们这里教的是Java,以防你忘记了。其他的就靠你自己了。还是你的脑袋只是用来喝酒的?”

“好的,我知道了。谢谢你,比拉博!”

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION