当前位置: 首页 > 科技观察

Git系列(二):初步认识Git

时间:2023-03-12 18:58:03 科技观察

在本系列的介绍中,我们了解了Git应该用在谁身上,Git用来干什么。今天,我们将学习如何克隆公共Git存储库以及如何在不克隆整个存储库的情况下提取单个文件。由于Git如此流行,如果您至少熟悉一些基本的Git知识,它会让您的生活变得更加轻松。如果你能掌握Git的基础知识(你可以,我发誓!),那么你将能够下载你需要的任何东西,甚至可能做出一些贡献作为回报。毕竟,这就是开源的本质:您有权使用您所使用的软件的代码,可以自由地与他人分享,并且可以根据需要进行修改。只要熟悉Git,就可以很容易地做到这一点。那么,让我们一起熟悉一下Git吧。读和写一般而言,有两种方式可以与Git存储库进行交互:您可以从存储库读取,也可以向存储库写入。它就像一个文件:有时您打开文档只是为了阅读它,有时您打开它是因为您需要进行一些更改。本文仅说明如何从Git存储库中读取。我们将在后面的文章中介绍如何写回Git存储库的主题。Git还是GitHub?一句话澄清:Git不同于GitHub(或者GitLab,或者Bitbucket)。Git是一个命令行程序,所以它看起来像这样:$gitusage:Git[--version][--help][-C][-p|--paginate|--no-pager][--bare][--Git-dir=][]因为Git是开源的,所以有很多聪明人围绕它构建了基础软件;这些基本软件,包括在他们自己的周围,都变得非常流行。我的系列文章将从纯Git知识开始,因为一旦你了解了Git是做什么的,那么你就不需要关心你使用的是什么前端工具了。但是,我的文章系列还将介绍通过流行的Git服务完成每项任务的常用方法,因为这些可能是您首先会遇到的事情。安装Git在Linux系统上,您可以从您的发行版的软件存储库中获取并安装Git。BSD用户应该在Ports树的开发部分寻找Git。对于闭源操作系统,请到其项目官网按照说明安装。安装后,Linux、BSD和MacOSX上的命令应该没有区别。Windows用户将需要调整Git命令以匹配Windows文件系统,或者安装Cygwin以在没有Windows文件系统转换问题的情况下本地运行Git。Git下午茶不是每个人都需要立即将Git融入我们的日常生活。有时,您与Git的最多交互是访问存储库、下载一两个文件,然后就不管它了。这样看Git,与其说是正式的宴会,不如说更像是下午茶。你有一些礼貌的谈话,你得到了你需要的信息,然后你就走开了,至少在接下来的三个月里你不想那样说话。当然,没关系。通常,有两种访问Git的方法:使用命令行,或者使用神奇的互联网技术通过Web浏览器快速轻松地访问。假设你想为你的终端安装一个回收站,因为你已经被rm'd太多次了。您可能听说过Trashy,它自称是“理智的rm命令中间人”,并且您可能想在安装它之前阅读它的文档。幸运的是,Trashy在GitLab.com上公开托管。我们使用Landgrab的第一步是在这个Git存储库上使用landgrab排序方法:我们将克隆完整的存储库,然后按内容排序。由于存储库托管在公共Git服务上,因此有两种方法可以完成工作:使用命令行或使用Web界面。要使用Git获取整个存储库,请使用带有Git存储库URL作为参数的gitclone命令。如果您不知道正确的URL是什么,存储库应该会告诉您。GitLab为您提供了用于复制粘贴的Trashy存储库的URL。您可能已经注意到,在某些服务平台上,同时提供了SSH和HTTPS连接。仅当您对存储库具有写入权限时才能使用SSH。否则,您必须使用HTTPSURL。有了正确的URL后,克隆存储库就非常容易了。只需gitcloneURL,以及一个可选的克隆目录。默认会将git目录clone到你当前所在的目录;例如,“trashy.git”将克隆到您当前位置的“trashy”目录。我用.clone扩展名标记只读存储库,用.git扩展名标记我可以读写的存储库,但这不是官方要求的。$gitclonehttps://gitlab.com/trashy/trashy.gittrashy.cloneCloneinginto'trashy.clone'...remote:Countingobjects:142,done.remote:Compressingobjects:100%(91/91),done.remote:总计142(delta70),重复使用103(delta47)接收对象:100%(142/142),25.99KiB|0字节/秒,完成。解决增量:100%(70/70),完成。检查连接...完成。成功克隆存储库后,您可以像浏览计算机上的任何其他目录一样浏览存储库中的文件。获取存储库副本的另一种方法是使用Web界面。GitLab和GitHub都提供了.zip格式的存储库快照文件。GitHub有一个很大的绿色下载按钮,但在GitLab中,你可以在浏览器的右侧找到不显眼的下载按钮。选择并选择从Git存储库获取文件的另一种方法是找到您想要的文件并将其从存储库中拉出。只有web界面提供了这种方法,本质上你看到的是别人存储库的克隆;你可以把它想象成一个HTTP共享目录。这种方法的问题是你可能会发现有些文件在原始版本库中是不存在的,因为文件的完整形式可能只有在执行make命令后才能构建,即只有你下载了完整的版本库并阅读README或INSTALL文件,运行相关命令后生成。但是,如果您确定该文件存在,并且只想进入存储库,获取该文件,然后走开,您可以这样做。在GitLab和GitHub中,单击文件链接并以原始模式查看,然后使用网络浏览器的保存功能,例如在Firefox中,文件>页面另存为。在GitWeb存储库(这是一些喜欢自己托管git的人使用的私有git存储库Web查看器)中,原始视图链接位于文件列表视图中。最佳实践通常认为与Git交互的正确方法是克隆完整的Git存储库。以这种方式思考有几个原因。首先,您可以使用gitpull命令轻松更新克隆的存储库,这样您就不必在每次文件更改时都返回网站获取新副本。其次,如果你恰好需要做一些改进,只要你保持仓库干净,你可以很容易地把修改提交给原作者。现在,可能是时候练习查找感兴趣的Git存储库并将它们克隆到您的硬盘上了。只要您了解使用终端的基础知识,就不会太难。还不知道终端的基本用法?再给我5分钟。终端基础首先要知道的是所有文件都有一个路径。这是有道理的;如果我要求您在常规非终端环境中为我打开一个文件,您将导航到该文件在硬盘上的位置,并且您将在一大堆窗口中导航,直到找到该文件。例如,您可以单击主页>图像>InktoberSketches>monkey.kra。在这种情况下,文件monkeysketch.kra的路径是:$HOME/Pictures/InktoberSketches/monkey.kra。在终端中,除非您正在执行一些特殊的系统管理员任务,否则您的文件路径通常以$HOME开头(或者,如果您懒惰,请使用~字符),然后是一个文件夹列表,直到文件名本身。这类似于您在GUI中单击各种图标直到找到相关文件或文件夹的方式。如果你想将Git存储库克隆到你的Documents目录,那么你可以打开一个终端并运行以下命令:$gitclonehttps://gitlab.com/foo/bar.git$HOME/Documents/bar.clone一旦克隆完成,你可以打开一个文件管理器窗口,导航到你的Documents文件夹,你会发现bar.clone目录等待你访问。如果你想更高级,以后可能会重新访问那个仓库,你可以尝试使用gitpull命令查看项目是否已经更新:$cd$HOME/documents/bar.clone$pwdbar.clone$gitpull到目前为止,这就是您入门所需的所有终端命令,所以去探索吧。练习越多,Git就会越好(熟??能生巧),这就是问题的重点和本质。