Python 中的 Git 模块2025年3月17日 | 阅读11分钟 在本文中,我们将讨论 Python 编程语言中的 Git 模块,以及用户如何在 Python 项目中使用它。我们还将讨论用户如何将 Git 模块与 GitHub 结合使用,以便我们可以与其他用户合作开发大型项目。我们还将学习如何创建 Git 仓库,如何查看所有项目文件的历史记录,如何回到项目初始阶段,以及如何在仓库中添加新文件并修改它们。 什么是 Git?Git 模块是 Python 语言的一个分布式版本控制系统。版本控制系统是一套用于跟踪项目文件历史记录的工具。用户可以通过指示 Git 版本控制系统轻松地在任何时间点保存文件的状态。此后,用户可以继续编辑项目文件并在任何状态下保存项目。在任何当前状态下保存项目就像备份项目目录一样。在 Git 模块中,保存状态称为进行一次 提交。 每当用户在 Git 模块中进行提交时,用户都会添加一条提交消息,解释在该项目状态下所做的所有更改。Git 模块可以显示用户在项目中进行的所有更改和提交的历史记录。Git 模块的此功能确实有助于用户找出他们所做的工作并专门查找潜入系统中的所有错误。 通过使用 Git 模块,用户还可以比较项目文件与不同的 提交。Git 模块还允许用户轻松地将任何文件或文件恢复到项目的早期状态。 分布式版本控制系统与版本控制系统略有不同。早期的版本控制系统通过将所有提交本地保存在用户的硬盘上工作。用户本地硬盘上的这些提交集合称为 仓库。但由于此,用户无法与在同一代码库上工作的团队合作。由于与团队在同一项目上工作,用户需要将其仓库保存在所有其他团队成员都可以访问的平台上。分布式版本控制系统将仓库保存在一个主服务器上,该服务器可以由许多用户和开发人员共享。这还具有文件锁定功能。 对于 Git 模块,大多数用户和开发人员使用 GitHub 作为中央仓库,任何人都可以访问文件。GitHub 就像一个中央位置,任何人都可以共享代码,每个人都可以访问它。即使在使用 GitHub 后,完整的仓库仍然保存在所有本地仓库中。 Git 模块的基本用法到目前为止,我们已经了解了 Git 模块的概况。本主题将讨论用户如何开始在本地计算机系统上使用 Git 模块。 步骤 1:创建新仓库 要开始使用 Git 模块,用户首先需要输入他们的信息。他们必须使用 Git 配置命令设置用户名。 设置用户名后,用户将需要一个仓库来工作。创建仓库非常容易。用户可以在目录中使用 Git 初始化命令 用户可以在 /home/tmp/sample/.git/ 中初始化空的 Git 仓库 创建仓库后,用户可以在 Git 模块中搜索它。用户最常使用的 Git 模块命令是 Git status ![]() 此输出向用户显示了一些信息,例如他们所在的哪个分支以及他们没有任何要提交的内容。无提交意味着目录中没有 Git 模块不知道的文件。 我们就是这样创建仓库的。 步骤 2. 将新文件添加到仓库 在 Git 不知道的仓库中创建一个文件。使用编辑器创建文件 sample.py,其中只包含一个打印语句。 此后,如果用户再次运行 Git status 命令,他们将看到不同的结果 ![]() 检查新文件后,Git 模块会告诉用户该文件是未跟踪的。这意味着 Git 说该特定文件不是仓库的一部分,也不受版本控制。用户可以通过将新文件添加到 Git 来解决此问题。使用 git add 命令将文件添加到 Git 模块。 ![]() 现在 Git 知道新文件 sample.py,它会将该文件列在“要提交的更改”下。将文件添加到 Git 模块会将其传输到暂存区。这意味着用户现在可以将文件提交到仓库。 进行提交更改 每当用户提交更改时,他们都在告诉 Git 模块将此级别的文件状态保存到仓库中。用户可以通过使用 git 模块的 commit 命令来完成此操作。命令中的 -m 选项通知 git 模块提交以下消息。如果用户在运行命令时没有使用 -m,Git 模块将为用户打开编辑器以创建提交消息。要提交消息,用户应像这样编写命令 ![]() ![]() 用户现在可以看到 commit 命令返回了一些信息,其中大部分用处不大,但它确实告诉用户只有一个文件发生了更改,因为用户只在仓库中添加了一个文件。commit 命令还通知提交的简单哈希算法 (775ca29)。 再次运行 git status 命令后,它显示用户现在有一个干净的工作目录,这意味着文件中所有更改都未提交到 Git。 Git 模块的暂存区 Git 模块有一个暂存区,通常称为索引。暂存区是 Git 模块跟踪用户想要在下一次提交中进行的更改的地方。每当用户运行 Git Add 命令时,就像上面将新文件 sample.py 移动到暂存区一样,此更改在 git status 中显示。项目文件从 git 模块的未跟踪部分移动到输出的待提交部分。 当用户运行 git add 命令时,Git 模块的暂存区显示文件的确切内容。如果用户再次修改此文件,该文件将同时在 git status 输出的暂存区和非暂存区中可见。 在处理文件(已提交一次)的 git 模块的任何阶段,有三个版本的文件可供用户使用
文件的所有三个版本可能彼此不同。通过将更改移动到用户的暂存区,然后提交文件,他们可以将文件的所有这些版本同步。 .gitignoreGit 模块中的 git status 命令非常易于访问,用户可以最常使用它。但有时,用户可能会发现有几个文件显示在 git 模块的未跟踪部分,并且他们不希望 git 模块看到它们。为此,用户可以使用 .gitignore 文件。 例如 之后,修改 sample.py 文件以包含 example.py 并调用其函数 每当用户导入本地模块时,Python 就会开始将该模块编译为字节码并将其文件保存在其文件系统上。在 Python2 中,将模块编译为字节码后,它将以 example.pyc 的形式保存文件。但在 Python3 的情况下,它将生成一个 _pycache_ 目录并将 .pyc 文件存储在其中。 例如 ![]() ![]() 完成此操作后,如果用户运行 git status 命令,他们将看到该特定目录出现在未跟踪部分。用户还可以看到他们的 example.py 文件 在未跟踪部分,但他们对 sample.py 所做的更改在新部分中,该部分称为 "Changes not staged for commit"(未暂存的更改)。此部分意味着用户之前所做的更改尚未添加到 git 模块的暂存区。 例如 ![]() 要将 example.py 和 sample.py 文件添加到仓库,用户需要执行与之前相同的操作。 例如 ![]() 现在,用户应该提交更改并完成清理 ![]() 每当用户运行 git status 命令时,他们将看到如下所示的 _pycache_ 目录 ![]() 如果用户希望忽略所有 _pycache_ 目录及其内容,则他们必须在仓库中添加一个 .gitignore 文件。这是一个非常简单的过程。用户必须在他们选择的编辑器中编辑文件。 然后,用户必须运行 git status 命令,他们将不再看到 _pycache_ 目录及其内容。尽管用户会看到新的 .gitignore ! 文件。 例如 ![]() .gitignore 文件只是一个普通的文本文件,可以像其他普通文件一样添加到仓库中。 例如 ![]() .gitignore 文件中还有一个条目,它是用户存储在其虚拟环境中的目录。此目录称为 virtualenvs。virtualenvs 目录通常称为 env 或 venv。 用户可以将这些添加到项目的 .gitignore 文件中。通过这样做,仓库中存在的项目目录或文件将被忽略。如果没有文件或目录存在,则不会执行任何操作。 用户还可以在其主目录中存储全局 .gitignore 文件。如果用户的编辑器用于保存临时文件或在计算机系统的本地目录中创建备份文件,则此过程非常简单。 例如 用户不应向 Git 仓库添加什么?当用户处于任何版本控制工具(很可能与 Git 模块一起使用)的初始阶段时。用户可能希望将所有类型的文件存储在 Git 的仓库中,但这是一个错误。Git 模块确实存在限制和安全问题,因此用户在可以添加到 git 仓库的文件和数据类型方面面临一些限制。 所有版本控制系统的基本规则是用户只应在版本控制系统中添加源文件,绝不应将生成的文件添加到版本控制系统。 源文件是用户在编辑器中键入时创建的任何文件。生成的文件是计算机在处理源文件时创建的文件。 例如 Sample.py 是一个源文件,而 Sample.pyc 是生成的文件。 不将生成的文件包含在 Git 仓库中的原因
Git 模块仓库不会保存用户提交的每个项目文件的完整副本。相反,仓库使用复杂的算法,该算法基于文件不同版本的差异。这减少了所需存储文件量。但此算法不适用于二进制文件,因为 MP3 或 JPG 等二进制文件没有良好的差异工具。对于二进制文件,Git 模块仓库必须在用户每次提交时保存项目的完整文件。 当用户在 Git 模块上工作或将文件存储在 GitHub 仓库中时,请勿在公开共享时将机密信息保存在仓库中。 Git LogGit log 是 Git 模块的命令。Git log 用于查看用户提交的历史记录。 例如 ![]() 用户可以查看用户在 git 仓库中提交的历史记录。所有提交消息将按其创建顺序出现。提交的开头将由单词“commit”标识,后面跟着提交的简单哈希区域。Git log 命令将提供每个简单哈希区域的历史记录。 结论本文讨论了 Git 模块、版本控制系统、如何在 Git 及其仓库函数中进行提交、在 Git 模块和 GitHub 的仓库中添加文件和信息的规则。不同类型的 Git 命令,例如 .gitignore、git log、git add、git status 等,以及它们在项目文件和目录中的使用。 下一个主题最受欢迎的 Python 游戏框架 |
极其用户友好的 Python 语言唯一的缺点是它的速度慢。它比 C、C++ 和 Java 慢得多。在线编程平台,如果 C/C++ 的限制是 X。通常,Python 提供的时间是 Java 的 5 倍。语言提供各种输入和...
阅读 6 分钟
字典是 Python 中最常用的数据类型之一。它是键:值对的无序集合。每个值都有一个对应的键来标识它。字典是可变集合,意味着我们可以修改值。使一个...
阅读 4 分钟
在 Python 中,列表包含多种数据,包括字符串和整数。所有项目都用逗号分隔;列表通过将值括在方括号中来表示。我们可以使用 Python 内置的 len() 方法来确定列表的长度。要计算列表的长度...
阅读 3 分钟
SNMP,即简单网络管理协议,是 SDN 的必要工具,是控制软件中设备的最佳选择。除此之外,应用程序内访问是 SNMP 的主要目的。毫无疑问,所有监控系统都利用 SNMP 来...
11 分钟阅读
在本教程中,我们正在讨论如何使用 Python 进行 Web 开发。Python 是一门可爱的语言。它易于学习且有趣,其语法(规则)简单明了。Python 是初学者的首选;但仍然强大且...
阅读 6 分钟
图像过滤是照片处理中的一个重要概念,旨在通过各种技术增强或改进照片。最通用和广泛使用的过滤策略之一是双边过滤。这种技术不再保留图像中的边缘和高质量细节,而且还减少了噪音...
阅读 4 分钟
众所周知,字典是 Python 中最重要的数据结构,并且记住其项目的顺序(根据其最新更新)。Python 字典像映射一样存储数据值;保存键:值对。字典中提供了键值以使其...
阅读 6 分钟
Python 是世界上最著名的编程方言之一。其受欢迎的一个原因是 Python 使处理信息变得容易。从文本文件读取信息是 Python 中的一项标准任务。在这里,我们将研究...
阅读9分钟
找到给定单词的押韵词绝非易事,当我们写诗歌或押韵段落时,这变得更加困难。我们许多人可能听说过 CMU 发音字典以及它如何有助于产生押韵...
5 分钟阅读
StringIO模块是一个内存中的、类似文件的对象。它可以用于输入或输出大多数用户期望从普通文件对象获得的功能。一旦用户创建了StringIO对象,它最初是通过提供一个字符串来创建的...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India