问题标签 [git-ls-files]

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 投票
1 回答
136 浏览

git - 如何解决 dataSources.ids 上的负载问题?

每次我在 Intellij Idea 中切换分支时,我都会收到此错误消息,我是 Intellij IDEA 的新手。请有人指出我正确的方向吗?

加载数据源失败:.idea\dataSources.ids 已损坏。创建备份副本 dataSources.corrupted.20170313-030813.ids。

0 投票
1 回答
26 浏览

git - 有没有办法具体知道在与当前提交匹配的索引中暂存了哪些文件?

无论我们使用 checkout 还是 reset,当我们从 commit 跳转到 commit 时,索引都会与现在的当前 commit 保持匹配。

当我问人们如何查看当前提交的索引中暂存了哪些文件时,他们告诉我:git ls-files -s

git ls-files -s似乎不是我要找的。
此命令仅列出子树的跟踪文件,当前目录是它的根目录。如果我移动到另一个目录,输出的git ls-files -s变化!

真的,在我从其他提交跳转到它之后,是否有一个命令可以可靠地为我提供提交的跟踪文件?

0 投票
1 回答
197 浏览

python - Dulwich 备忘单:如何重现“git ls-files”?

亲爱的社区成员,

我正在开发一个代码分析系统,并想用 Dulwich 模块替换对 CLI Git 应用程序的调用。作为第一步,我需要将“git ls-files”命令替换为 Dulwich 等效命令。我是通过以下方式做到的:

快速断言显示输出不同。可能是什么原因?

在@jelmer 的帮助下回答我自己的问题。问题的原因在于我评论的那一行。现在输出匹配。

0 投票
1 回答
300 浏览

git - 如何从 git ls-files 中排除已经跟踪的文件?

我们的团队使用 flowtype,并且 git 跟踪了 flow-typed 目录下的文件。我想隐藏git ls-files. 这些文件已经被跟踪,—exclude选项似乎不起作用,.git/info/exclude 也是。有人有好主意吗?

0 投票
2 回答
2889 浏览

git - 如何获取带有子模块的 Git 存储库中所有文件的绝对路径?

我正在尝试以递归方式列出所有子模块中的所有未跟踪文件:

但这没有列出绝对路径,它给出了子模块文件夹的相对路径。

我应该如何修改我的命令?

0 投票
0 回答
110 浏览

git - git add 不会暂存文件 - git 缓存混淆?

我有一种感觉,我的 git 缓存经常被混淆。我在 Mac 上工作,在终端和 SourceTree 都使用 git。

我添加或修改了一些文件,但我经常注意到,即使是我从未以任何方式修改过的文件也显示为暂存。这已经很混乱了。

然而,更令人困惑的是,经常发布git add .将所有文件添加到暂存区什么都不做。我已经使用 git 几年了,以前从未有过。

我在这里阅读了关于 SO 的所有帖子,但没有一个为我解决了这个问题。我发现了一个清除 git 缓存的建议,例如:

这确实暂时解决了问题,但不久之后,事情又开始发生了。

我还看到 git ls-list --cache 两次返回大多数文件,包括它们的哈希码,如下所示,文件可以是 png 图像、代码文件等:

更新 1

的输出git config --list --show-origin是:

更新 2

如果我尝试暂存一个拒绝从 SourceTree 暂存的文件,我会在 SourceTree 中短暂忙碌的微调器(它告诉我它正在尝试暂存它),但随后它消失并且没有任何反应,文件保持未暂存状态。

git add path/file如果我尝试通过发出or来暂存拒绝从 git 终端暂存的git add .文件,则不会发生任何事情并且文件不会暂存

更新 3

下面的输出git ls-files --stage | hexdump -C显示了文件 IoC.cs 的两个不同 SHA 值,该文件当前拒绝使用git add .命令添加到阶段:

0 投票
1 回答
381 浏览

git - 将 git lfs ls-files 与 git ls-files ':(attr:filter=lfs)' 进行比较是检测非 lfs 管理的 lfs 文件的可靠方法吗?

我试图找到一种方法来确定 git 存储库中的文件是否由 git-lfs 正确管理。

到目前为止,我发现比较结果git lfs ls-files似乎git ls-files ':(attr:filter=lfs)'给了我想要的东西。

我仍然不确定这是一种可靠的方式。那么,这是一种可靠/正确的方法吗?或者也许有替代方案?

PS:我想要实现的是创建一个拉取请求验证构建(用于 TFS 存储库),它将检测由于某种原因而经常发生并导致不必要的警告和回购的 lfs 违规(提交的文件未添加到 lfs)充其量是臃肿,最坏的情况是严重的麻烦

编辑: 好吧,发现当前代码存在一些问题:

  1. 空文件处理
  2. ls 文件中非 ASCII 字符的八进制编码
  3. 符号链接

但它们相对容易修复,不会改变问题的要点。

0 投票
1 回答
36 浏览

git - 如何首先使用 git ls-files 显示目录

我正在寻找类似于命令--group-directories-first参数的东西ls

通常,输出按字母顺序排序,如下所示:

我希望它看起来像这样:

0 投票
1 回答
152 浏览

git - git 无法暂存文件,将所有文件显示为重复但字符大小写不是问题

就我而言,我对我的一个文件进行了简单的一行更改,并想提交我的更改,但注意到 commit -am "" 没有添加/提交文件。

发出 git 后ls-files --stage,我​​可能会看到项目中的所有文件都显示为重复文件。这是其中一个文件的示例

有趣的是,一些显示广告重复的文件根本没有被我修改,有些是但尽管如此,它们显示为重复,正如您在下面看到的那样,大小写不是这里其他 SO 帖子中的问题。

更新

虽然这不能解决我上面描述的问题,但它帮助我使用git reset --hard HEAD~1它将 HEAD 指针重置为第二个最后提交,这是有效的提交。我使用--hard上面来丢弃最后一次提交,因为它对我造成了上述问题。如果您需要保留这些更改,则使用--soft相反会将 HEAD 重置为您在上次提交之前的提交,并将上次提交中的更改添加到暂存区域。

上面的命令重置 HEAD 指针 1, 2, 3, ... 在最后一次提交之前提交并丢弃之后的任何更改。如果您不想放弃这些更改,请使用--soft代替,在这种情况下,这些更改将为您上演。--hard

这就是我的情况。下面,最后一次提交是提交 A,它是在最后一次将远程更改拉入我的本地分支后开始显示重复项的提交。提交 B、C、... 是提交 A 之前的提交:

,现在我的最后一次提交是提交 B,它没有重复项。我现在可以尝试再次合并,看看是否会遇到与提交 A 相同的问题。正如我所提到的,这并不能解决问题,但至少允许我尝试重新创建它或继续我的工作并处理稍后合并。

0 投票
2 回答
966 浏览

git - git ls-files 用于不同的分支

我想在指定分支的基目录中查找所有降价文件。git ls-files向我建议,但文档没有提到指定一个分支。我希望能够在不检查该分支的情况下做到这一点。这可以做到吗?