Git的工作区、暂存区和版本库

在Git中,工作区、暂存区和版本库是三个重要的概念。了解它们之间的关系有助于更好地理解Git的工作流程。

工作区(Working Directory)

工作区是你在本地计算机上看到的文件和目录。你可以在工作区中编辑文件、添加新文件或删除文件。工作区中的文件是你当前正在处理的文件。

暂存区(Staging Area)

暂存区是一个临时的存储区域,用于保存你准备提交到版本库的更改。你可以将工作区中的文件添加到暂存区,这样它们就会被包含在下一次提交中。暂存区的作用是让你可以选择性地提交部分更改,而不是一次性提交所有更改。

版本库(Repository)

版本库是Git用来保存项目历史记录的地方。每次提交(commit)都会将暂存区中的更改保存到版本库中,形成一个新的提交记录。版本库包含了项目的所有历史版本。

git status

git status 命令用于查看工作区和暂存区之间的差异。具体来说,它会显示以下信息:

  1. 未跟踪的文件(Untracked files):这些文件存在于工作区中,但没有被Git跟踪。
  2. 未暂存的更改(Changes not staged for commit):这些文件已经被Git跟踪,但它们在工作区中的更改还没有被添加到暂存区。
  3. 已暂存的更改(Changes to be committed):这些文件的更改已经被添加到暂存区,准备在下一次提交中包含。

示例

假设你在工作区中新建了一个文件example.txt,然后运行 git status,你可能会看到如下输出:

$ git status
On branch main
Your branch is up to date with 'origin/main'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        example.txt

nothing added to commit but untracked files present (use "git add" to track)

假设你在工作区中修改了一个文件 example.txt,然后运行 git status,你可能会看到如下输出:

$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   example.txt

no changes added to commit (use "git add" and/or "git commit -a")

这表示 example.txt 文件在工作区中有更改,但这些更改还没有被添加到暂存区。你可以使用 git add example.txt 将其添加到暂存区,然后再次运行 git status,你会看到:

$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   example.txt

这表示 example.txt 文件的更改已经被添加到暂存区,准备在下一次提交中包含。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值