问题标签 [git-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
204 浏览

git - 为什么“git index”有这么多名字?

在阅读如何使用 Git 时,我发现git index.

他们是:

  • directory cache
  • current directory cache
  • staging files
  • staging area

为什么会有这么多选择来准确地命名一件事?

我应该如何命名,以免混淆我未来的对话者,他们的背景我不知道?

0 投票
2 回答
73 浏览

git - 为什么在切换分支之前仅暂存进行中的工作是不够的?为什么我也必须承诺?

我正在处理一个分支(称为big_new_feature)中的一些文件。这些文件尚未准备好提交,但我需要切换分支以在另一个分支(称为stable_branch)中进行快速修复。为什么我不能只暂存文件big_new_feature并签出stable_branch?为什么我必须big_new_feature在切换到之前实际提交文件stable_branch

还是我误会了?

0 投票
2 回答
483 浏览

git - 是否有索引的 reflog?

我手头没有具体的问题,但我在过去遇到过一些我不小心炸毁索引的情况,并希望我可以回到给定文件的先前状态,该状态在某个时候被索引。

一些示例是:

可以求助于挖掘git fsck --full --unreachable --no-reflog(如建议here),我想知道是否有更方便的方法来做到这一点。

问题 :

索引是否有某种 reflog ?

0 投票
3 回答
9913 浏览

git - 如何在本地恢复`.git/index`?

不小心删.git/index了,有什么办法可以恢复吗?它被永久删除。我还没有做出任何承诺。

0 投票
1 回答
21 浏览

git - 如何在初始提交时重置 INDEX 后清除 git/objects 下的 blob?

在一个干净的 git repo 中,如果我使用添加所有未跟踪的文件,git add .则 git 将所有文件存储blobsgit/objects目录下。

现在,如果我将文件从索引中删除回工作目录,git reset .则它会清除INDEXblobs仍然保留在git/objects目录下。

使用什么命令来清除blobs以及清理对象目录?

如果不手动删除(使用命令)是否会git自动清理那些未使用的 blob?

谢谢dk

0 投票
2 回答
119 浏览

git - 如何暂存对已暂存于索引中的文件的后续更改?

我对文件进行了一些更改,然后将其暂存到索引中以供下一次提交。然后我意识到我需要做更多的改变。有没有办法在最终提交之前捕获这些后续更改,而不是取消暂存它?

可不可能是

git add -u filename (与我对文件名文件进行更改的次数一样多)

代替

git 重置

git 添加文件名

?

0 投票
1 回答
68 浏览

git - 各种 git 状态,对 git 状态(头部、索引、工作状态)的底层理解

想象一下,你有一棵树和一个文件。假设这个文件只有两种可能的状态a, 和b。如果它丢失或不存在,ø. 我正在尝试建立一个表格来了解所有可能的git-statuses。我相信我所说的是有道理的,但是,我已经标记了**有问题的领域:

对于任何一个,*, ø, *我几乎觉得它取决于父树,以及它是否在索引中......例如,a, ø, ø就好像你已经从工作树中删除了 blob 以及索引。但是,从索引中删除是什么样的?是否只是将父树添加到暂存区域而删除了树条目?如果是这种情况,那么在索引中没有针对 blob 本身的条目是有道理的。

对于 index = head, ( a,a,a, a,a,b, a,a,ø) 的任何记录,我假设这种状态实际上不会发生,除非您正在使用管道命令。

如果您在我的表格中看到错误,和/或对此有所了解,那就太好了!提前致谢。

0 投票
1 回答
91 浏览

git - 共享目录中的索引文件错误

我使用 VMWare 在 Windows 8 上使用 Ubuntu VM,在使用 git 时出现错误

当试图commit.

现在,我找到了解决此问题的方法(主要的方法,删除.git/index并重试,似乎有点解决方法),但我想了解导致此错误的原因(部分原因是它们往往以随机方式工作)。

~/我做了一个实验,并在(一个常规目录)和/mnt/hgfs/Shared with host/(与 Windows 主机的共享目录,这是我的笔记本电脑) 中运行了几个命令。

在常规目录中它完美地工作,但在共享目录中它失败并在提交消息中出现上述错误。

命令是:

现在我想知道,为什么共享目录很重要?
一般来说,是什么导致了这个错误?与哪个 sha1 签名相比是索引文件(我没有找到任何可以在运行时存储这样的签名的东西tree .git)?

0 投票
1 回答
27 浏览

github - 将文件添加到将被克隆但不跟踪的 Github 存储库

我觉得这个问题以前一定有人问过,但我在这里找不到。我在 GitHub 存储库中有一个我想要的文件,在这种情况下,用户将在克隆后粘贴他们的 API 密钥。我希望将这个空白文件克隆下来,但我不希望它被跟踪或推送。我已经在 repo 中包含的 .gitignore 文件中列出了它,但是在拉取和修改文件之后,git status仍然显示该文件正在被跟踪并且需要提交更改。我怎样才能解决这个问题?

0 投票
5 回答
31177 浏览

git - Git中的暂存区有什么用?

将其添加到暂存区有什么意义git add .git add <filename>为什么不只是 git commit -m "blabla"

我不明白暂存区的价值。