了解Git和GitHub的基础知识

时间:2012-08-05 12:30:52

标签: git github

我不完全理解使用Git或Github的目的;我知道有助于跟踪您的更改,这对于与其他人合作的人很有帮助,但我不与任何人合作,因此我不知道这对我是否有帮助。

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

  1. Git和GitHub有什么区别?

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

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

  4. Git如何与Time Machine等备份系统进行比较?

  5. 这是一个手动过程,换句话说,如果你没有提交,你不会有新版本的更改?

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

3 个答案:

答案 0 :(得分:245)

  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查看当前代码与上次工作提交之间的差异,帮助您找到错误。

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

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

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

  7. 请务必核对gitimmersion.com

答案 1 :(得分:44)

  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。

答案 2 :(得分:28)

  1.   

    Git和GitHub有什么区别?

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

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

  2.   

    Git是在本地(在用户的机器中)和GitHub中保存每个存储库吗?

    Git被称为"distributed" (rather than "centralized") version control system,因为您可以在本地运行它并与Internet断开连接,然后随时将您的更改“推送”到远程系统(例如GitHub)。因此,当您手动告诉Git推送这些更改时,回购更改只会出现在GitHub上。

  3.   

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

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

    • 它提供了文件的备份。
    • 它为您提供了一个用于导航回购的可视界面。
    • 它为其他人提供了一种导航回购的方法。
    • 它使回购协作变得容易(例如,多个人参与同一个项目)。
    • 它提供了轻量级问题跟踪系统。
  4.   

    Git如何与Time Machine等备份系统进行比较?

    Git会备份您的文件,但它比传统的备份系统提供了更多精细控制,而不是备份时间。具体而言,每次要获取更改快照时都“提交”,该提交包括更改说明和这些更改的逐行详细信息。这对于源代码是最佳的,因为您可以逐行地轻松查看任何给定文件的更改历史记录。

  5.   

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

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

  6.   

    如果没有合作而您已经在使用备份系统,为什么要使用Git?

    • Git使用强大的branching system,允许您同时处理多个独立的开发线,然后根据需要将这些分支合并在一起。
    • Git允许您查看不同版本文件之间的逐行差异,这使故障排除更加容易。
    • Git强制您描述每个提交,这样可以更轻松地跟踪给定文件的特定先前版本(并可能恢复到之前的版本)。
    • 如果您需要有关代码的帮助,通过Git跟踪并托管在GitHub上,可以让其他人更轻松地查看您的代码。
  7. 要开始使用Git,我建议使用在线图书Pro Git以及GitRef作为方便的参考指南。对于GitHub入门,我喜欢GitHub's Bootcamp及其GitHub Guides。最后,我创建了一个简短的videos series来向初学者介绍Git和GitHub。