【问题标题】:Understanding the basics of Git and GitHub [closed]了解 Git 和 GitHub 的基础知识 [关闭]
【发布时间】:2012-08-05 12:30:51
【问题描述】:

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

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

  1. Git 和 GitHub 有什么区别?

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

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

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

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

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

【问题讨论】:

标签: git github


【解决方案1】:
  1. Git 和 GitHub 有什么区别?

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

    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

【讨论】:

  • 最后一段中的第一节确实是一个好点。也为此目的结帐git intersect
  • @H2CO3 你的意思是git bisect
  • @SimonWhitaker 是的,这是一个错字。
【解决方案2】:
  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。

【讨论】:

  • 其实你完全可以在本地使用git。使用 github 的唯一原因是发布源代码。例如协作。如果您不想这样做,则不需要 git 服务器。
  • @DavoudTaghawi-Nejad 是的,但我确信 OP 将“没有 Github”称为“不是专门使用 GitHub”。我也相信从 #2 中可以明显看出您只能在本地使用 git。
  • @DavoudTaghawi-Nejad 我使用 github 作为备份,而不是用于协作。如果有火灾/等代码是安全的。
  • 什么是 github follow and fork 功能?
【解决方案3】:
  1. Git 和 GitHub 有什么区别?

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

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

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

    Git 被称为"distributed" (rather than "centralized") version control system,因为您可以在本地运行它并断开与 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 采用强大的branching system,允许您同时处理多个独立的开发线,然后根据需要将这些分支合并在一起。
    • Git 允许您逐行查看文件不同版本之间的差异,从而更轻松地进行故障排除。
    • Git 强制您描述每个提交,这使得跟踪给定文件的特定先前版本(并可能恢复到该先前版本)变得更加容易。
    • 如果您在代码方面需要帮助,让 Git 跟踪并托管在 GitHub 上可以让其他人更轻松地查看您的代码。

对于 Git 入门,我推荐在线书籍 Pro Git 以及 GitRef 作为方便的参考指南。对于 GitHub 入门,我喜欢 GitHub's Bootcamp 和他们的 GitHub Guides。最后,我创建了一个简短的videos series,向初学者介绍 Git 和 GitHub。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 2021-04-07
    相关资源
    最近更新 更多