git-index相关内容

撤消 git update-index --assume-unchanged <file>

我已运行以下命令忽略监视/跟踪特定目录/文件: git update-index --assume-unchanged 如何撤消此操作,以便再次监视/跟踪 ? 解决方案 要撤消/显示设置为假设未更改的目录/文件,请运行此: git update-index --no-assume-unchanged 要获取假设未更改的目录/文件列表,请运行此: git ls-files -v ..
发布时间:2022-01-04 14:43:32 其他开发

git 索引究竟包含什么?

Git 索引具体包含哪些内容,可以使用什么命令查看索引内容? 感谢您的所有回答.我知道索引充当临时区域,提交的内容在索引中而不是工作树中.我只是好奇索引对象由什么组成.我猜它可能是一个文件名/目录名列表、SHA-1 对、一种虚拟树? 在 Git 术语中,是否有任何 plumbing 命令可以用来列出索引的内容? 解决方案 Git 书包含一篇关于 的文章索引包括什么: 索引 ..
发布时间:2021-12-06 09:10:53 其他开发

Git - “假设不变"和“跳过工作树"之间的区别

我对我不想提交到我的存储库的文件进行了本地更改.它是用于在服务器上构建应用程序的配置文件,但我想使用不同的设置在本地构建.自然地,当我将“git status"作为要上演的内容时,该文件总是会出现.我想隐藏此特定更改而不提交.我不会对该文件进行任何其他更改. 经过一番挖掘,我看到了 2 个选项:“假设不变"和“跳过工作树".上一个问题 here 讨论了它们,但并没有真正解释它们的区别.我的问 ..
发布时间:2021-12-06 08:38:51 其他开发

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

我正在一个分支(称为big_new_feature)中处理一些文件.这些文件尚未准备好提交,但我需要切换分支以在另一个分支(称为 stable_branch)中进行快速修复.为什么我不能在 big_new_feature 中暂存文件并查看 stable_branch?为什么我必须在切换到 stable_branch 之前实际提交 big_new_feature 中的文件? 还是我误会了? ..
发布时间:2021-09-17 19:38:43 其他开发

为什么Git需要设计Index/Stage?

下图是Git流程图,我很奇怪为什么Git需要设计 Index/Stage . 您知道存储库和 Workspace 之间的通信是本地的,很容易在存储库和 Workspace 之间进行提交或回滚 em>. 为什么Git需要设计Index/Stage? 图片 解决方案 这是对即将提交的更改的预览.您可以逐步地或一次性地在此专用空间中构成将来的提交,检查其中的内容,然后仅在对内容 ..
发布时间:2020-07-23 02:25:06 其他开发

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

我在Windows 8上使用VMWare使用Ubuntu VM,在使用git时出现错误 error: bad index file sha1 signature fatal: index file corrupt 尝试commit时. 现在,我找到了解决此问题的方法(主要方法是删除.git/index并重试,这似乎有点解决方法),但我想了解是什么导致了此错误(部分是因为它们倾向于以 ..
发布时间:2020-07-23 02:25:02 其他开发

索引是否有更新?

我手头没有特定的问题,但是在过去的某些情况下,我不小心弄坏了索引,希望我可以返回给定文件的先前状态,该状态在某些情况下已被索引点. 一些例子是: $ git add # find out that I already had an indexed version of , # and that for some reason I shouldn't have ..
发布时间:2020-07-23 02:24:59 其他开发

什么是GIT阶段以及“添加到索引"和“添加到GIT索引"之间的区别?

我正在使用GibHub专用存储库.我对此没有足够的了解. 什么是Git分期? Git暂存的目的是什么? 何时使用Git Staging? 我在Git Staging中找到了两个不同的选项来添加文件. 项目资源管理器->团队->添加到索引 团队同步->添加到Git索引 它们两者都将文件发送到Git Staging.那么这两者有什么区别? 哪个对用户更好?他们俩都将文件发送到Git ..
发布时间:2020-07-23 02:24:57 其他开发

git在Windows和Linux之间切换后强制刷新索引

我有Windows和Linux共享的磁盘分区(格式:NTFS).它包含一个git存储库(约6.7G). 如果我仅使用Windows 或仅使用linux 来操作git存储库,则一切正常. 但是每次我切换系统时. git status命令将刷新索引,大约需要1分钟.运行git status后,如果再次在同一系统中运行git status.仅需不到1秒的时间.这是结果 # Just after ..
发布时间:2020-07-23 02:23:54 服务器开发

Git-在线存储库中有未跟踪的文件

我正在使用git(bitbucket)来控制我的Linux配置文件.所有文件都在目录~/.cfg/中.然后,我在~/.cfg/local/中还有一些本地配置文件,这些文件在计算机之间可能是不同的. 我想将本地文件的副本作为一种示例本地配置保留在我的在线存储库中,但不希望不跟踪这些文件.我并不在乎它们是否被git clone克隆,无论哪种方式都可以. 我尝试遵循此答案,但这会从在线存储库 ..
发布时间:2020-07-23 02:23:50 其他开发

git索引的内容在合并期间如何演变(合并失败后索引中的内容)?

我对git索引所包含的内容与git-add s和git-commit s所包含的内容一模一样,但我不知道当执行git-merge时这些内容会如何.我特别想了解合并失败(例如由于某些冲突)时索引的内容. 解决方案 对于任何给定的路径,索引中最多有四个“版本号",编号为0(零)到3.我将它们称为“插槽" ",尽管实际上只有在需要时才动态引入额外的版本,就像它们实际上确实存在于每个条目中一样,然 ..
发布时间:2020-07-23 02:23:46 其他开发

"git rm --cached x"与"git reset head-x"?

GitRef.org-基本: git rm将删除 暂存区.这有点不同 摘自git reset HEAD的"unstages" 文件.所谓“下台",是指它恢复原状 过渡区到那里 在我们开始修改之前. 另一方面,git rm只是踢 文件完全离开了舞台,所以 它不包含在下一个 提交快照,从而有效地 删除它. 默认情况下,git rm file将完全从暂存区域中删除文件,并且还将其从磁盘>(工 ..
发布时间:2020-07-23 02:23:42 其他开发

测试预提交挂钩中将要提交的内容

对于这个问题,Internet上到处都是不正确和不理想的答案.这很不幸,因为您会认为这是您想做的普通事情. 问题:运行pre-commit挂钩时,存储库可能不干净.因此,如果您天真地运行测试,它们将不会与您提交的内容相抵触,而是会碰到工作树中的任何污垢. 显而易见的事情是在pre-commit的开始处是git stash --keep-index --include-untracked ..
发布时间:2020-07-03 21:25:02 其他开发

为什么结帐有时会创建一个文件?

当我第一次开始使用Git时,我发现 checkout 命令很混乱。但是,当我适应Git的版本控制模型时,它开始有意义。现在我不得不将Git教给我的同事,而我试图简单地解释 checkout 。我认为我有一个简单的解释(来自文档): 签出一个或多个工作树的路径 统一一些您可以使用checkout进行的操作,这些操作看起来像是一个新的Git操作系统: git查看 。 git c ..
发布时间:2018-04-27 21:15:39 其他开发

什么是“统计信息”在一个git索引?

在git文档中(例如git-checkout-index http:// linux。 die.net/man/1/git-checkout-index ),索引文件中有对“stat信息”的引用。什么是这个神秘的“统计信息”? 解决方案 这是由 stat() - 特别是文件权限,因为这是实际跟踪的内容。 (其他信息包括时间戳,文件大小,用户/组所有者以及inode。) 还有一个命令行 ..
发布时间:2018-04-27 21:11:32 其他开发

为什么git索引文件是二进制的?

我的Git目录中的大部分文件都是纯文本文件(压缩的松散对象和包文件除外)。所以我可以编辑和编辑像 .git / HEAD 或 .git / refs / heads / master 这样的文件并检查如果存储库损坏的话。 但是 .git / index 是一个二进制文件。难道纯文本文件不会更有用,因为它可以很容易地用手修改吗? Scott Chacon在他的 presentation ..
发布时间:2018-04-27 20:04:20 其他开发

Git暂存区只是一个索引?

Git说,暂存区只是一个列表或索引,它指出在完成 git commit 时将提交哪些文件,现在名称 index 通常被称为“暂存区域”。 但是,如果我们修改 foo.txt ,它已经是repo的一部分,并且使用 git add foo.txt 来放置它,然后再次修改文件,现在该文件是“staged”和“modified”(如 git status 中所见),如果我们提交,“stage”版本将进入提 ..
发布时间:2018-04-27 15:09:18 其他开发

在哪里“git update-index --assume-unchanged file”实际上将这些信息保存到?

我喜欢直接修改配置文件(比如.gitignore和.git / config),而不是记住任意命令,但我不知道Git在哪里存储了传递给“git update-index --assume “ 如果您知道,请告诉我! 解决方案 它说明了在命令中的位置--git update-index 所以你不能真的在编辑索引,因为它不是一个文本文件。 此外,为了更详细地介绍与存储的内容,git ..
发布时间:2018-04-27 14:54:11 其他开发

你怎么可以添加一个新的文件而不登台呢?

为了有效地使用git(并且按照预期),我做了小的原子提交,而我确实有更长的会话,我不仅仅改变一件事情。因此,我大量使用 git add -p 。这对于全新的文件并不适用,因为我以后会忘记它们。 我想要做的是告诉 git 那里是一个新文件,我希望它能够跟踪,但是不会对它进行分级:: 示例:运行 git status 产生: #在分支my-current-branch #你的分支在 ..
发布时间:2018-04-27 14:14:05 其他开发

获得“阶段”的Git概念

任何类比都可以用SVN来完成吗? 在Git中创建阶段级别的主要目的是什么? 解决方案 相似点: 必须添加应该成为存储库一部分的文件才能进行跟踪。这两个工具都使用 add 命令来完成此操作。添加文件意味着准备提交。 差异: 添加文件时的更多细节。您可以决定添加一个完整的文件或不同的代码行。 将文件添加到索引或阶段允许更多的灵活性。 SVN会自动提交已添加到存储库的文件的 ..
发布时间:2018-04-26 19:36:15 其他开发