Git 版本控制系统的完整指南

git 版本控制系统的完整指南

什么是 Git?Git 是一个广受欢迎的版本控制系统。它由 Linus Torvalds 在 2005 年创建,并由 Junio Hamano 维护至今。

它用于:

跟踪代码更改记录谁进行了更改协作开发

Git 能做什么?使用仓库管理项目:

克隆项目以在本地副本上工作使用暂存和提交来控制和跟踪更改分支和合并以便在项目的不同部分和版本上工作将项目的最新版本拉到本地副本将本地更新推送到主项目

使用 Git 在文件夹上初始化 Git,使其成为一个仓库。Git 会创建一个隐藏的文件夹来跟踪该文件夹中的更改。当文件被更改、添加或删除时,它被视为已修改。你可以选择要暂存的已修改文件。已暂存的文件被提交,这会促使 Git 存储文件的永久快照。Git 允许你查看每个提交的完整历史。你可以恢复到以前的任何提交。Git 不会在每个提交中存储文件的单独副本,而是跟踪每个提交中所做的更改!

切换平台:将焦点转向 GitHub、Bitbucket 或 GitLab。

为什么使用 Git?超过 70% 的开发者使用 Git!开发者可以从世界任何地方协同工作。开发者可以查看项目的完整历史。开发者可以还原到项目的早期版本。

什么是 GitHub?Git 与 GitHub 不同。

GitHub 提供使用 Git 的工具

GitHub 是世界上最大的源代码托管服务,自 2018 年起由 Microsoft 拥有。

在本教程中,我们将专注于使用 Git 与 GitHub。

Git 暂存环境:Git 的核心功能之一是暂存环境和提交的概念。

当你工作时,你可能会添加、编辑和删除文件。但无论何时你达到一个重要阶段或完成工作的一部分,都应该将文件添加到暂存环境。

已暂存的文件是准备提交到你正在工作的仓库的文件。不久后,你将更多地了解提交。

目前,我们已完成了对 index.html 的工作。所以我们可以将它添加到暂存环境中:

git add index.html

文件应该已被暂存。让我们检查状态:

git status

在主分支上

尚未提交

TTS Free Online免费文本转语音 TTS Free Online免费文本转语音

免费的文字生成语音网站,包含各种方言(东北话、陕西话、粤语、闽南语)

TTS Free Online免费文本转语音 37 查看详情 TTS Free Online免费文本转语音

待提交的更改:

(使用 “git rm –cached …” 来取消暂存)

新文件: index.html

现在该文件已被添加到暂存环境。

Git 添加多个文件:你还可以一次暂存多个文件。让我们向我们的工作文件夹添加 2 个文件。再次使用文本编辑器。

一个描述仓库的 README.md 文件(推荐用于所有仓库):

代码语言:markdown复制“`markdown

hello-world

Hello World repository for Git tutorialThis is an example repository for the Git tutorial on https://www.php.cn/link/0ab3906a724cfe5ba8b36e7c25d33491This repository is built step by step in the tutorial.

一个基本的外部样式表(bluestyle.css):

代码语言:css<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制css body { background-color: lightblue; } h1 { color: navy; margin-left: 20px; }

并更新 index.html 以包括样式表:

代码语言:html复制html

Hello World!

Hello world!

This is the first file in my new Git Repo.

现在将当前目录中的所有文件添加到暂存环境:

代码语言:bash复制```bashgit add --all

使用 `--all` 而不是单个文件名将会将所有更改(新文件、修改过的文件和已删除的文件)都暂存。代码语言:bash复制```bashgit status

在主分支上

尚未提交

待提交的更改:

(使用 "git rm --cached ..." 来取消暂存)

新文件: README.md

新文件: bluestyle.css

新文件: index.html

现在所有 3 个文件都已添加到暂存环境中,我们准备进行第一次提交。

如何添加新文件到 Git 仓库:从创建本地仓库到添加文件:

添加 Git 新文件:你刚刚创建了你的第一个本地 Git 仓库。但它是空的。

所以让我们添加一些文件,或使用你喜欢的文本编辑器创建一个新文件。然后保存或移动它到你刚刚创建的文件夹中。

在这个示例中,我将使用一个简单的 HTML 文件,类似于这样:

代码语言:html复制```html

Hello World!

Hello world!

This is the first file in my new Git Repo.

然后将它保存到我们的新文件夹中,命名为 index.html

让我们回到终端并列出当前工作目录中的文件:

代码语言:bash复制```bashlsindex.html

`ls` 会列出目录中的文件。我们可以看到 `index.html` 存在。

然后我们检查 Git 的状态,看它是否是仓库的一部分:

代码语言:bash<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制bash git status

在主分支上

尚未提交

未跟踪的文件:

(使用 "git add ..." 来将其包含在将要提交的内容中)

index.html

没有添加到提交但未跟踪的文件存在(使用 "git add" 来跟踪)

现在 Git 已经意识到这个文件了,但还没有将它添加到我们的仓库中!

Git 仓库文件夹中的文件可以处于以下 2 种状态之一:

  • 已跟踪 - Git 已知道的文件,并已添加到仓库
  • 未跟踪 - 存在于你的工作目录中,但尚未添加到仓库

当你首次将文件添加到空仓库时,它们都是未跟踪的。要让 Git 跟踪它们,你需要将它们暂存,或者将它们添加到暂存区。

我们将在下一章中介绍暂存区。

Git 提交:既然我们已经完成了工作,我们准备从暂存转到提交我们的仓库。

添加提交可以跟踪我们的进度和更改。Git 将每个提交视为更改点或“保存点”。如果你发现 bug 或想要做更改,它是项目中可以返回的一个点。

当我们提交时,应该始终包含一条消息。

通过为每个提交添加清晰的消息,对于自己(和其他人)来说,很容易看到发生了什么以及何时发生的。

代码语言:bash复制bashgit commit -m "Hello World 的首次发布!"[master (root-commit) 221ec6e] Hello World 的首次发布!3 files changed, 26 insertions(+)create mode 100644 README.mdcreate mode 100644 bluestyle.csscreate mode 100644 index.html

commit 命令执行提交,-m "message" 添加一条消息。

已暂存环境已被提交,消息是:"Hello World 的首次发布!"

不经过暂存提交:有时,当你进行小的更改时,使用暂存环境似乎是浪费时间。可以直接提交更改,跳过暂存环境。-a 选项会自动将每个已跟踪的更改文件添加到暂存区。

让我们对 index.html 进行小更新:

代码语言:html<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制html Hello World!

Hello world!

This is the first file in my new Git Repo.

A new line in our file!

并检查我们仓库的状态。但这次,我们将使用 --short 选项以更紧凑的方式查看更改:

代码语言:bash复制bashgit status --shortM index.html

注意:短状态标志是:

  • ?? - 未跟踪的文件
  • A - 已添加到暂存
  • M - 修改过的文件
  • D - 已删除的文件

我们看到我们预期的文件已被修改。所以让我们直接提交它:

代码语言:bash<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制bash git commit -a -m "用新行更新了 index.html" [master 09f4acd] 用新行更新了 index.html 1 file changed, 1 insertion(+)

注意:通常不建议跳过暂存步骤。

跳过暂存步骤有时会导致包含不需要的更改。

Git 提交日志:要查看仓库的提交历史,可以使用 log 命令:

代码语言:bash复制bashgit log

这将显示仓库的提交历史:

代码语言:bash<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制```bashcommit 09f4acd3f8836b7f6fc44ad9e012f82faf861803 (HEAD -> master)Author: w3schools-testDate: Fri Mar 26 09:35:54 2021 +0100

用新行更新了 index.html

commit 221ec6e10aeedbfd02b85264087cd9adc18e4b26Author: w3schools-testDate: Fri Mar 26 09:13:07 2021 +0100

Hello World 的首次发布!

最后看完如果觉得有帮助,欢迎 点赞、收藏、关注

以上就是Git 版本控制系统的完整指南的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/454251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 00:41:55
下一篇 2025年11月8日 00:43:34

相关推荐

发表回复

登录后才能评论
关注微信