204

我不完全理解使用 Git 或 Github 的目的;我知道跟踪您的更改会有所帮助,并且对与其他人协作的人很有帮助,但我不与任何人协作,所以我不知道这是否对我有帮助。

我通常作为网页设计师/开发人员工作,但我从来不需要合作。我知道在 Git 中,您可以为每个存储库创建、推送、提交、创建分支等,但是......

  1. Git 和 GitHub 有什么区别?

  2. git 是否将每个存储库都保存在本地(在用户的机器中)和 GitHub 中?

  3. 你可以在没有 GitHub 的情况下使用 Git 吗?如果是,使用 GitHub 有什么好处?

  4. Git 与 Time Machine 等备份系统相比如何?

  5. 这是一个手动过程吗,换句话说,如果您不提交,您将不会获得所做更改的新版本?

  6. 如果不合作并且您已经在使用备份系统,为什么还要使用 Git?

4

3 回答 3

257
  1. Git 和 GitHub 有什么区别?

    Git 是一个版本控制系统;将其视为代码的一系列快照(提交)。您会看到这些快照的路径,以及它们的创建顺序。您可以创建分支进行实验并返回您拍摄的快照。

    GitHub 是一个网页,您可以在该网页上发布您的 Git 存储库并与其他人协作。

  2. Git 是否将每个存储库都保存在本地(在用户的机器中)和 GitHub 中?

    不,它只是本地的。您可以决定在 GitHub 上推送(发布)一些分支。

  3. 你可以在没有 GitHub 的情况下使用 Git 吗?如果是,使用 GitHub 有什么好处?

    是的,如果你不使用 GitHub,Git 在本地运行。使用 GitHub 的替代方法是在托管在 Dropbox 上的文件上运行 Git,但 GitHub 是一项更加精简的服务,因为它是专为 Git 制作的。

  4. Git 与 Time Machine 等备份系统相比如何?

    这是另一回事,Git 可以让您跟踪更改和开发过程。如果您将 Git 与 GitHub 一起使用,它实际上会成为备份。但是通常你不会一直推送到 GitHub,如果出现问题,你没有完整的备份。我在与 Dropbox 同步的文件夹中使用 git。

  5. 这是一个手动过程,换句话说,如果您不提交,您将不会获得所做更改的新版本?

    是的,提交和推送都是手动的。

  6. 如果不合作并且您已经在使用备份系统,为什么还要使用 Git?

    • 如果您在提交之间遇到错误,您可以使用该命令git diff查看当前代码与上次工作提交之间的差异,帮助您定位错误。

    • 您也可以返回到最后一个工作提交。

    • 如果您想尝试更改,但不确定它是否会起作用。您创建一个分支来测试您的代码更改。如果它工作正常,你将它合并到主分支。如果不是,您只需将分支扔掉并返回主分支。

    • 你做了一些调试。在提交之前,您总是查看上次提交的更改。您会看到忘记删除的调试打印语句。

确保检查gitimmersion.com

于 2012-08-05T21:26:01.887 回答
46
  1. Git 和 GitHub 有什么区别?

    Linus Torvalds 会为此杀了你。Git 是他编写的版本管理程序的名称。GitHub 是一个网站,上面有 Git 可管理的源代码存储库。因此,GitHub 与原始的 Git 工具完全无关。

  2. git 是否将每个存储库都保存在本地(在用户的机器中)和 GitHub 中?

    如果您提交更改,它将存储在本地。然后,如果您推送提交,它也会远程处理它们。

  3. 你可以在没有 GitHub 的情况下使用 Git 吗?如果是,使用 GitHub 有什么好处?

    你可以,但我确定你不想为自己手动设置一个 git 服务器。GitHub 的好处?好吧,易于使用,很多人都知道它,因此其他人可能会找到您的代码并跟随/分叉它以进行改进。

  4. Git 与 Time Machine 等备份系统相比如何?

    Git 是专门为源代码设计和优化的。

  5. 这是一个手动过程吗,换句话说,如果您不提交,您将不会获得所做更改的新版本?

    确切地。

  6. 如果不合作并且您已经在使用备份系统,为什么还要使用 Git?

    见#4。

于 2012-08-05T12:39:40.040 回答
28
  1. Git 和 GitHub 有什么区别?

    Git 是一个分布式版本控制系统。它通常在本地计算机的命令行上运行。它会在“存储库”(或“repo”)中跟踪您的文件和对这些文件的修改,但仅当您告诉它这样做时。(换句话说,您决定要跟踪哪些文件以及何时拍摄任何修改的“快照”。)

    相比之下,GitHub 是一个允许您在线发布 Git 存储库的网站,出于多种原因,这可能很有用(参见 #3)。

  2. Git 是否将每个存储库都保存在本地(在用户的机器中)和 GitHub 中?

    Git 被称为“分布式”(而不是“集中式”)版本控制系统,因为您可以在本地运行它并断开与 Internet 的连接,然后随时将您的更改“推送”到远程系统(例如 GitHub)。因此,仅当您手动告诉 Git 推送这些更改时,repo 更改才会出现在 GitHub 上。

  3. 你可以在没有 GitHub 的情况下使用 Git 吗?如果是,使用 GitHub 有什么好处?

    是的,你可以在没有 GitHub 的情况下使用 Git。Git 是实际跟踪您的更改的“主力”程序,而 GitHub 只是托管您的存储库(并提供 Git 中不可用的附加功能)。以下是使用 GitHub 的一些好处:

    • 它提供了文件的备份。
    • 它为您提供了一个可视化界面来导航您的存储库。
    • 它为其他人提供了一种浏览您的存储库的方法。
    • 它使 repo 协作变得容易(例如,多个人为同一个项目做出贡献)。
    • 它提供了一个轻量级的问题跟踪系统。
  4. Git 与 Time Machine 等备份系统相比如何?

    Git 确实会备份您的文件,尽管它比传统的备份系统对备份的内容和时间提供了更精细的控制。具体来说,您每次想要对更改进行快照时都“提交”,并且该提交既包括对更改的描述,也包括这些更改的逐行详细信息。这是源代码的最佳选择,因为您可以轻松地逐行查看任何给定文件的更改历史记录。

  5. 这是一个手动过程,换句话说,如果您不提交,您将不会获得所做更改的新版本?

    是的,这是一个手动过程。

  6. 如果不合作并且您已经在使用备份系统,为什么还要使用 Git?

    • Git 采用了一个强大的分支系统,允许您同时处理多个独立的开发线,然后根据需要将这些分支合并在一起。
    • Git 允许您逐行查看文件不同版本之间的差异,这使故障排除更加容易。
    • Git 强制你描述你的每一个提交,这使得追踪给定文件的特定先前版本(并可能恢复到先前版本)变得更加容易。
    • 如果您在代码方面需要帮助,让 Git 跟踪并托管在 GitHub 上可以让其他人更轻松地查看您的代码。

对于 Git 入门,我推荐在线书籍Pro Git以及GitRef作为方便的参考指南。对于 GitHub 入门,我喜欢GitHub 的 Bootcamp和他们的GitHub Guides。最后,我制作了一个短视频系列,向初学者介绍 Git 和 GitHub。

于 2014-05-11T19:54:39.593 回答