了解Git和GitHub的基础知识

fs_*_*gre 200 git github

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

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

  1. Git和GitHub有什么区别?

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

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

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

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

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

Dav*_*jad 248

  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.

  • 最后一段中的第一节确实是一个好点.为此还要检查`git intersect`. (5认同)
  • @ H2CO3你的意思是`git bisect`? (2认同)

小智 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.

  • 实际上,你可以完全使用本地git.唯一的原因,为什么你要使用github是发布你的源代码.例如,用于协作.如果你不想这样做,你不需要一个git服务器. (5认同)
  • @ DavoudTaghawi-Nejad我使用github作为备份,而不是用于协作.如果有火/等代码是安全的. (4认同)

Kev*_*ham 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的一些好处:

    • 它提供了文件的备份.
    • 它为您提供了一个用于导航回购的可视界面.
    • 它为其他人提供了一种导航回购的方法.
    • 它使回购协作变得容易(例如,多个人为同一个项目做出贡献).
    • 它提供了轻量级问题跟踪系统.
  4. Git如何与Time Machine等备份系统进行比较?

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

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

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

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

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

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