什么是git_什么是Git?

什么是git

欢迎来到我的系列文章,学习如何使用Git版本控制系统! 在本系列的简介中,您将学习Git的用途以及谁应该使用它。

读:

另一方面,对Git的所有兴奋和炒作往往会使事情变得有些混乱。 您可以只使用Git与他人共享代码,还是可以在自己的家庭或企业私密下使用Git? 您必须有一个GitHub帐户才能使用Git吗? 为什么要使用Git? Git有什么好处? Git是唯一的选择吗?

因此,请忘记您对Git的了解或想法,让我们从头开始。

什么是版本控制?

首先,Git是版本控制系统 (VCS)。 有很多版本控制系统:CVS,SVN,Mercurial,Fossil,当然还有Git。

Git是GitHub和GitLab等许多服务的基础,但是您可以在不使用任何其他服务的情况下使用Git。 这意味着您可以私下或公开使用Git。

如果您曾经与任何人合作进行任何数字化合作,那么您就会知道进展如何。 它的开始很简单:您拥有自己的版本,然后将其发送给您的伴侣。 他们进行了一些更改,因此现在有两个版本,并将建议发送给您。 您将其更改集成到您的版本中,现在又有一个版本。

然后情况变得更糟:当您进一步更改版本时,您的伴侣对其版本进行了更多更改。 现在您有了三个版本。 两者都使用的合并副本,更改的版本以及您的合作伙伴的更改版本。

就像Jason van Gumster在他的文章中指出的那样, 即使艺术家也需要版本控制 ,这种综合症也倾向于在个人环境中发生。 在艺术和科学领域,开发某种事物的试用版并不少见。 您的项目版本可能会使其变得更好,或者可能会惨败。 因此,您可以创建文件名,例如project_justTesting.kdenliveproject_betterVersion.kdenlive ,然后创建project_best_FINAL.kdenlive ,但不可避免地要保留project_FINAL-alternateVersion.kdenlive等等。

无论是对for循环的更改还是对编辑的更改,它都是我们最好的。 好的版本控制系统使生活变得更轻松。

Git快照

Git拍摄项目快照 ,并将这些快照存储为唯一版本。

如果您认为自己的项目方向错误,则可以回滚到上一个好的版本,然后继续进行选择。

[下载我们的Git备忘单 ]

如果您正在协作,则当有人向您发送更改时,您可以将这些更改合并到您的工作分支中,然后您的协作者可以获取项目的合并版本并从新的当前版本继续工作。

Git不是魔术,所以确实会发生冲突(“您更改了书的最后一行,但我完全删除了该行;我们如何解决这一问题?”),但是总的来说,Git使您能够管理许多潜在的问题。单个作品的变体,保留所有更改的历史记录,甚至允许并行版本。

Git分发

在不同的机器上处理项目很复杂,因为您希望在工作时拥有最新版本的项目,进行自己的更改,并与协作者共享更改。 这样做的默认方法通常是笨拙的在线文件共享服务或老式电子邮件附件,这两种方法效率低下且容易出错。

Git专为分布式开发而设计。 如果您参与了一个项目,则可以克隆该项目的Git存储库,然后像对待它唯一的副本一样对其进行处理。 然后,通过一些简单的命令,您可以从其他贡献者那里提取任何更改,也可以将您的更改推送给其他人。 现在,对于谁拥有哪个版本的项目,或者谁的更改存在于何处,没有任何困惑。 它都是本地开发的,并被推向一个共同的目标(或不,取决于项目选择开发的方式)。

Git界面

在自然状态下,Git是在Linux终端中运行的应用程序。 但是,由于它是经过精心设计的开源软件,因此世界各地的开发人员都设计了其他访问它的方法。

它是免费的,任何人都可以以$ 0的价格获得,并且以Linux,BSD,Illumos和其他类似Unix的操作系统的软件包提供。 看起来像这样:


   
   
$ git --version
git version 2.5.3

可能最著名的Git界面是基于Web的: GitHub ,开源GitLabSavannahBitBucketSourceForge之类的网站都提供在线代码托管,以最大程度地最大化开源的公共和社会方面,并在不同程度上基于浏览器的GUI,以最小化使用Git的学习曲线。 这是GitLab界面的样子:

GitLab graphical Git interface.

此外,Git服务或独立开发人员甚至可能具有不基于HTML的自定义Git前端,如果您不使用永远打开的浏览器,这特别方便。 最透明的集成以文件管理器支持的形式出现。 KDE文件管理器Dolphin可以显示目录的Git状态,甚至可以生成提交,推送和拉取。

Dolphin

Sparkleshare使用Git作为其自己的Dropbox样式文件共享界面的基础。

Sparkleshare screenshot

有关更多信息,请参阅Git官方Wiki上的(长)页面,该页面列出了具有Git图形界面的项目。

谁应该使用Git?

你应该! 真正的问题是何时? 那又做什么呢?

我什么时候应该使用Git,它应该用于什么用途?

要充分利用Git,您需要比通常多考虑一些文件格式。

Git旨在管理源代码,在大多数语言中,源代码由文本行组成。 当然,Git不知道您要提供的是源代码还是下一本《美国小说》,因此只要将其分解为文本,Git都是管理和跟踪版本的绝佳选择。

但是什么是文字? 如果您在Libre Office之类的Office应用程序中编写内容,则可能不会生成原始文本。 通常有一个围绕复杂应用程序的包装程序,例如将原始文本封装在XML标记中,然后封装在zip容器中的包装程序,以确保将文件发送给其他人时确保Office文件的所有资产均可用。 但是,奇怪的是,您可能希望它们非常复杂,例如Kdenlive项目的保存文件或Inkscape的SVG,实际上是可以由Git轻松管理的原始XML文件。

如果使用Unix,则可以使用file命令检查文件的内容:


   
   
$ file ~ / path / to / my-file.blah
my-file.blah: ASCII text
$ file ~ / path / to / different-file.kra: Zip data ( MIME type "application/x-krita" )

如果不确定,则可以使用head命令查看文件的内容:


   
   
$ head ~ / path / to / my-file.blah

如果您看到的文本大部分是您可读的,则可能是由文本组成的文件。 如果您在各处看到带有一些熟悉的文字字符的垃圾,则可能不是由文字组成的。

没错:Git 可以管理其他格式的文件,但会将它们视为blob。 区别在于,在一个文本文件中,两个Git快照(或称为commits ,我们称之为快照)可能相差三行。 如果您的照片在两次不同的提交之间进行了更改,那么Git如何表达这种更改? 确实不能这样,因为照片不是由可以插入或删除的任何明智的文字组成的。 我希望照片编辑就像将某些文本从“ <sky>丑陋的蓝绿色</ sky>”更改为“ <sky>蓝色蓬松的云</ sky>”一样容易,但实际上并非如此。

人们一直在向Git签入BNG(例如PNG图标,明细表或流程图),因此,如果您在Git中工作,请不要害怕这样做。 但是要知道,对大型文件执行此操作并不明智。 如果您正在从事一个既会生成文本文件又会生成大斑点的项目(这是视频游戏的一种常见情况,其源代码与图形和音频资产的部分相等),那么您可以做以下两件事之一:发明自己的解决方案,例如指向共享网络驱动器的指针,或使用诸如Joey Hess出色的git annexGit-Media项目之类的Git插件。

如此看来,Git确实适合所有人。 这是管理文件版本的好方法,它是一个功能强大的工具,并且没有最初看起来的那么恐怖。

翻译自: https://opensource.com/resources/what-is-git

什么是git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值