在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
使用 Git 和 GitHubGitHub 是一个开源项目的社交化代码存储空间,基于 Git 作为版本控制系统。它的首要功能就是代码共享和项目协作。在本章你可以快速找到用 GitHub 学习本书的一些方法。 本章节假设你不太了解 Git 和 GitHub。如果你已经熟悉他们了,你可以直接跳到下一章! 代码提交Git 最基本的工作单元是提交。你可以把提交设想为你的代码库在某个特定时间的一个快照。 与其简单地给你一个 Microsocope 项目的最终代码版本,我们更愿意把开发过程中每一步的快照都提供出来,这样你在 Github 上在线看到。 比如,这个就是我们上一章最后一次提交 (https://github.com/DiscoverMeteor/Microscope/commit/chapter3-2)看起来是这样的: 你可以看到 让我们对比一下另外一个例子本书中以后会用到的文件: 这次,只有修改的代码行被高亮为绿色了。 当然,有时候我们并不增加和修改代码,而是直接删除某些行: 好了,我们现在看到 GitHub 的第一个好处:一览代码的改动。 浏览提交的代码Git 的提交视图给我们显示了本次提交的代码改动,但是有时候我们还是需要看看没有修改的那些代码,从而确认他们的代码看起来合理。 好,让 GitHub 再次来解决这个问题。在提交页面上点击 Browse code(浏览代码)按钮: 你现在可以看到某次提交的时候代码库的样子了。 GitHub 没有给我们足够的视觉提示让我们知道我们正在看一个提交,不过你可以通过与 “正常” 的主视图进行比较,就会发现文件结构的不同了: 访问本地提交我们刚刚看到在 Github 上如何在线浏览某个提交的整个代码。但是你是否想在本地也看到呢?比如你也许想退回到某次提交的代码状态测试一下那时候运行的样子。 想做到这个你需要首次(也许你早已经不是首次了,但是至少在本书中是第一次用命令行)用
命令行最后的 让我们
现在我们已经从 GitHub 克隆了代码库,我们已经下载了这个应用的 全部 代码,也就是说我们正在看的是最后一次提交。 值得感激的是我们有办法check out(签出)代码回退到某一个特定的提交,而不会影响到其他提交。让我们试一下:
你现在是在 'detached HEAD' 状态. 你可以随便看看做点实验性的修改并提交。你只需再次签出代码即可放弃你的提交,而不会影响的任何其他分支。 如果你想建立新的分支来保留你的提交,你可以这样做(现在或者以后也行),迁出代码的时候使用 -b 参数。 举例:
Git 通知你现在在 ‘分离头’ “detached HEAD” 状态,也就是说就 Git 而言, 你可以发现过去的历史提交但是不能修改。你可以想象一个巫婆用水晶球回顾历史。 (注意 Git 还有让你 改变 历史提交的命令。这更像是时间旅行,不过那些不是我们本书需要讨论的范畴了。) 你能够简单地输入 再一次 GitHub 让我们可以轻松地在提交的右下角看到蓝色提交框中提交哈希码。如图所示: 这一次让我们试试哈希码而不是标签:
好了,别再用水晶球看历史提交了,让我们想看看最新的代码状态,我们可以让 Git 签出主分支master:
Historical Perspective这里还有一种常见的情形:你看代码文件的时候发现有一些你以前没有见到过的改动。大多数情况是你不记得什么时候你改了这个文件。你可以逐个检查每个提交直到你发现某个提交造成了这个改动,不过还有一种更好的方法,那就是 GitHub 的 历史 功能。 首先,在 GitHub 上找一个代码库里的文件,然后找到 “历史” 按钮: 你现在可以看到所有影响这个文件的提交历史: 问责游戏让我们看看问责: 这个简洁的视图给我们逐行显示了谁修改过这个文件,以及在哪次提交中修改的。(换句话说,知道软件搞坏了该找谁算账): 现在的 Git 已经是一个相当复杂的工具了 - GitHub 也一样 - ,所以你不可能在这里覆盖所有功能。事实上,我们只是学习了一点皮毛。尽管如此,这点皮毛已经够我们在本书的学习中用了。 |
请发表评论