gpt4 book ai didi

git - `git stash` 如何处理未跟踪的文件?

转载 作者:太空狗 更新时间:2023-10-29 14:17:04 24 4
gpt4 key购买 nike

git stash 如何处理未跟踪的文件?

Git 官方文档 ( link ) 将 git-stash 定义为

git-stash - Stash the changes in a dirty working directory away

但对我(一个 git 初学者)来说,它不是很明显“脏工作目录”的确切定义。未追踪包含文件?

更准确地说,我注意到在“脏”工作目录中,我们可以有三种类型的脏状态:

  1. 在运行 git add 之前对文件所做的更改(更改在索引中)
  2. 在运行 git add 后对文件所做的更改(更改不在索引中,但文件被跟踪,即“要提交的更改”)
  3. 对从未运行过 git add 的文件所做的更改(该文件未被跟踪)

当我们运行 git stash 时,#1、#2 和 #3 会发生什么?

最佳答案

我认为他们的意思是,实际的更改 只是 git 正在跟踪的文件中的更改。

以一种在 git 中有意义的方式,因为如果你有一个未跟踪的文件,那么它不是一个更改,在你跟踪它之前它什么都不是。您甚至可以使用未跟踪的更改在分支之间自由切换。

然而,从 git 的外部来看,这是错误的,因为它是本地存储库中的实际更改,但是由于我们正在谈论 git 功能,因此 git 内部的 View 是正确的,即使它看起来有点非教学。

这可能看起来像是一个见仁见智的问题,但由于 change 是 git 中的关键字,因此它必须具有单一含义。

较长的描述解决了它:

The command saves your local modifications away and reverts the working directory to match the HEAD commit.

关于git - `git stash` 如何处理未跟踪的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46366708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com