问题标签 [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.
git - 为什么“git index”有这么多名字?
在阅读如何使用 Git 时,我发现git index
.
他们是:
directory cache
current directory cache
staging files
staging area
为什么会有这么多选择来准确地命名一件事?
我应该如何命名,以免混淆我未来的对话者,他们的背景我不知道?
git - 为什么在切换分支之前仅暂存进行中的工作是不够的?为什么我也必须承诺?
我正在处理一个分支(称为big_new_feature
)中的一些文件。这些文件尚未准备好提交,但我需要切换分支以在另一个分支(称为stable_branch
)中进行快速修复。为什么我不能只暂存文件big_new_feature
并签出stable_branch
?为什么我必须big_new_feature
在切换到之前实际提交文件stable_branch
?
还是我误会了?
git - 是否有索引的 reflog?
我手头没有具体的问题,但我在过去遇到过一些我不小心炸毁索引的情况,并希望我可以回到给定文件的先前状态,该状态在某个时候被索引。
一些示例是:
可以求助于挖掘git fsck --full --unreachable --no-reflog
(如建议here),我想知道是否有更方便的方法来做到这一点。
问题 :
索引是否有某种 reflog ?
git - 如何在本地恢复`.git/index`?
不小心删.git/index
了,有什么办法可以恢复吗?它被永久删除。我还没有做出任何承诺。
git - 如何在初始提交时重置 INDEX 后清除 git/objects 下的 blob?
在一个干净的 git repo 中,如果我使用添加所有未跟踪的文件,git add .
则 git 将所有文件存储blobs
在git/objects
目录下。
现在,如果我将文件从索引中删除回工作目录,git reset .
则它会清除INDEX
但blobs
仍然保留在git/objects
目录下。
使用什么命令来清除blobs
以及清理对象目录?
如果不手动删除(使用命令)是否会git
自动清理那些未使用的 blob?
谢谢dk
git - 如何暂存对已暂存于索引中的文件的后续更改?
我对文件进行了一些更改,然后将其暂存到索引中以供下一次提交。然后我意识到我需要做更多的改变。有没有办法在最终提交之前捕获这些后续更改,而不是取消暂存它?
可不可能是
git add -u filename (与我对文件名文件进行更改的次数一样多)
代替
git 重置
git 添加文件名
?
git - 各种 git 状态,对 git 状态(头部、索引、工作状态)的底层理解
想象一下,你有一棵树和一个文件。假设这个文件只有两种可能的状态a
, 和b
。如果它丢失或不存在,ø
. 我正在尝试建立一个表格来了解所有可能的git-status
es。我相信我所说的是有道理的,但是,我已经标记了**
有问题的领域:
对于任何一个,*, ø, *
我几乎觉得它取决于父树,以及它是否在索引中......例如,a, ø, ø
就好像你已经从工作树中删除了 blob 以及索引。但是,从索引中删除是什么样的?是否只是将父树添加到暂存区域而删除了树条目?如果是这种情况,那么在索引中没有针对 blob 本身的条目是有道理的。
对于 index = head, ( a,a,a
, a,a,b
, a,a,ø
) 的任何记录,我假设这种状态实际上不会发生,除非您正在使用管道命令。
如果您在我的表格中看到错误,和/或对此有所了解,那就太好了!提前致谢。
git - 共享目录中的索引文件错误
我使用 VMWare 在 Windows 8 上使用 Ubuntu VM,在使用 git 时出现错误
当试图commit
.
现在,我找到了解决此问题的方法(主要的方法,删除.git/index
并重试,似乎有点解决方法),但我想了解导致此错误的原因(部分原因是它们往往以随机方式工作)。
~/
我做了一个实验,并在(一个常规目录)和/mnt/hgfs/Shared with host/
(与 Windows 主机的共享目录,这是我的笔记本电脑) 中运行了几个命令。
在常规目录中它完美地工作,但在共享目录中它失败并在提交消息中出现上述错误。
命令是:
现在我想知道,为什么共享目录很重要?
一般来说,是什么导致了这个错误?与哪个 sha1 签名相比是索引文件(我没有找到任何可以在运行时存储这样的签名的东西tree .git
)?
github - 将文件添加到将被克隆但不跟踪的 Github 存储库
我觉得这个问题以前一定有人问过,但我在这里找不到。我在 GitHub 存储库中有一个我想要的文件,在这种情况下,用户将在克隆后粘贴他们的 API 密钥。我希望将这个空白文件克隆下来,但我不希望它被跟踪或推送。我已经在 repo 中包含的 .gitignore 文件中列出了它,但是在拉取和修改文件之后,git status
仍然显示该文件正在被跟踪并且需要提交更改。我怎样才能解决这个问题?
git - Git中的暂存区有什么用?
将其添加到暂存区有什么意义git add .
?git add <filename>
为什么不只是 git commit -m "blabla"
?
我不明白暂存区的价值。