gpt4 book ai didi

git - 麻烦取消暂存,删除甚至取消跟踪文件

转载 作者:行者123 更新时间:2023-12-03 17:41:28 25 4
gpt4 key购买 nike

我新克隆了一个私有(private)存储库,注意到它已经有一个处于状态 deleted 的暂存文件:

发行git status给了我这个:

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

deleted: rootfolder/site/templates/article.php

我想让这个工作目录干净,当我取消暂存、取消跟踪甚至删除时,问题就来了,给了我如下错误:

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q HEAD -- "rootfolder/site/templates/article.php "

error: Invalid path 'rootfolder/site/templates/article.php ' fatal: make_cache_entry failed for path 'rootfolder/site/templates/article.php '



关于如何解决这个问题的任何建议,在此先感谢。

最佳答案

对我来说,这是 Windows/Linux 的事情。我的 travis 构建(在 Linux vm 上)在我的代码中运行了一些测试,在 C:/SomeFolder/someTestResult.file 中创建文件.然后它继续提交这些更改并在 C:/ 中推送到 github。文件夹。
当我尝试 git clone 时,问题就来了在我的 Windows 机器上:

$ git clone git@github.com:awesome/somegitrepo.git
Cloning into 'somegitrepo'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 940 (delta 5), reused 13 (delta 5), pack-reused 926
Receiving objects: 100% (940/940), 500.23 KiB | 364.00 KiB/s, done.
Resolving deltas: 100% (373/373), done.
error: Invalid path 'C:/SomeFolder/someTestResult.file'

很明显, C:/ 出了问题。文件夹。 Windows 上的 GIT 看到了 C:/不是作为本地目录,而是作为根目录,所以Linux本地 someTestResult.file Windows git repo 上没有。我猜它甚至在我进行任何更改之前就假定它已被删除并进行了删除。

我的解决方案是打开一个 Linux 终端( WSL )并从 repo 中删除文件并推送以清理远程存储库。
所以基本上(在 WSL 中):
$ git clone git@github.com:awesome/somegitrepo.git
$ rm -rf C:/
$ git add .
$ git commit -m 'Removed residue test files'
$ git push
我还将测试更改为不生成奇怪的目录,并将生成的测试文件放在 .gitignore反正。

关于git - 麻烦取消暂存,删除甚至取消跟踪文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992411/

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