标签: git-rm

git rm --cached .gitignore 中列出的所有内容

在我提交所有内容后,我将.gitignore添加到我的项目中。现在我想运行如下命令:

git rm --cached *everything_listed_in_gitignore*
Run Code Online (Sandbox Code Playgroud)

如何做到这一点?先感谢您。

git git-rm

6
推荐指数
3
解决办法
2181
查看次数

是否可以恢复"git rm -r -f <directory>"命令?

我正在设置我的第一个git存储库并执行以下操作,

git init
Run Code Online (Sandbox Code Playgroud)

按照一些git-config的东西来设置远程服务器.然后我做了

git add directory
git status
Run Code Online (Sandbox Code Playgroud)

哎呀,我添加了一些我不想要的文件.好的,所以我应该gm rm从提交列表中删除目录并重新开始

git rm directory
Run Code Online (Sandbox Code Playgroud)

此时我应该正确阅读控制台消息和文档....但没有.所以我跑了

git rm directory -r -f
Run Code Online (Sandbox Code Playgroud)

咦?我的目录在哪里?啊,好吧,git删除了它,所以它"不在那里"了.所以试试吧,

git status
git reset --hard
Run Code Online (Sandbox Code Playgroud)

在没有成功,一些错误消息和一堆网络搜索后,我意识到我的失礼.我应该用过

git rm -r --cached directory
Run Code Online (Sandbox Code Playgroud)

它会从提交列表中删除它,但不会从我的文件系统中删除它.哎呦.幸运的是没有什么严重丢失

似乎应该有一种方法可以从中恢复,但我的大多数搜索最终都指向"--cached"选项...而且这有点晚了.没有提交,所以我不能只恢复/拉取文件(只有本地副本).

是否可以取回这些文件?

git git-rm

5
推荐指数
1
解决办法
849
查看次数

git rm -r在子模块中不起作用

尝试按照git book中的描述更改子模块

$ git rm -r vendor/html-minifier
$ git submodule add https://github.com/kangax/html-minifier.git vendor/html-minifier
Run Code Online (Sandbox Code Playgroud)

但它失败了以下

rm 'vendor/html-minifier'
fatal: git rm: 'vendor/html-minifier': Is a directory
Run Code Online (Sandbox Code Playgroud)

git git-submodules git-rm

5
推荐指数
1
解决办法
1319
查看次数

撤消 git rm 。-r --缓存或提交更改?

我试图让我的 .gitingore 工作(链接到问题:))。

我刚刚做完

git rm . -r --cached 
Run Code Online (Sandbox Code Playgroud)

现在,当我输入时,我有一个已删除文件的完整列表:

git status -s 
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?我可以安全地提交所有更改吗?

或者也许有办法撤消这个命令?

PS:我试图理解这个命令的作用,但我只发现了这个: http: //brianloomis.wordpress.com/2009/08/10/git-rm-r-cached/ 而且我不太清楚。

PS 2:好的:)为了拯救我的皮肤,我进行了重置:

git reset HEAD *
Run Code Online (Sandbox Code Playgroud)

已删除的文件已经再见了:) git status -s 中不再可见。但执行命令仍然安全:

git rm . -r --cached and then add and commit it? 
Run Code Online (Sandbox Code Playgroud)

git gitignore git-rm

5
推荐指数
1
解决办法
9796
查看次数

如何将未暂存的文件移至未跟踪的?

假设这是我在 git status 中查看的内容:

Changes not staged for commit:
    modified:   Makefile.in

Untracked files:
   ../node_modules/somepath/inverter_packet.js
Run Code Online (Sandbox Code Playgroud)

我想做的是将 Makefile.in 从“未暂存提交的更改”移动到“未跟踪的文件”。

我知道我可以忽略使用 所做的更改git update-index --assume-unchanged Makefile.in,并使用命令将它们取回--no-assume-unchanged,但我不想让这些文件完全脱离视图,因为我偶尔会编辑/提交它们。

我想从“未暂存”部分中删除文件,但在输入 时仍会看到它git status

或者,如果我可以(最好是简单地)在输入时停止显示未暂存文件的差异(例如,像我的 Makefile.in 一样)git diff,那也很好。

git git-add git-stage git-rm

5
推荐指数
1
解决办法
6889
查看次数

无法停止跟踪 JetBrains .idea 文件

我已将.idea文件添加到我的.gitignore文件中,这似乎工作正常。但是,由于我的.idea文件已经被跟踪,因此之前的帖子建议使用以下代码,以将它们从版本控制中移除。

git rm -rf .idea
Run Code Online (Sandbox Code Playgroud)

或者

git rm -r --cached .idea
Run Code Online (Sandbox Code Playgroud)

但是,无论哪种情况,我都会收到以下消息:

致命:路径规范“.idea”与任何文件都不匹配。

但是,当我在此文件夹中列出我的文件时,.idea就在最前面。

我究竟做错了什么?

jetbrains-ide intellij-idea ngit git-rm

5
推荐指数
1
解决办法
1215
查看次数

“git rm --cached”、“git restore --staged”和“git reset”之间有什么区别

我遇到了以下三种方法来取消由命令 'git add' 暂存的文件

git rm --cached <file>
git restore --staged <file>
git reset <file>
Run Code Online (Sandbox Code Playgroud)

当我一一运行这些命令时,它们的行为看起来完全相同。它们之间究竟有什么区别?

git github staging git-reset git-rm

5
推荐指数
1
解决办法
1415
查看次数

如何撤消"git rm -r -f*"

我第一次使用git,我有一个目录,里面写着几个程序并执行了以下步骤

  1. 我做到了 git add .
  2. 然后git commit,我收到了一条消息Aborting commit due to empty commit message.
  3. 然后我想,让我在常见消息下提交一组文件.所以我想删除所有添加的文件.
  4. 所以我做了 git rm -r -f
  5. 当我这样做时,ls我丢失了所有代码.有什么方法可以让他们回来,我的愚蠢我甚至没有备份副本.

到目前为止我所遵循的事情

我用Google搜索了一些发现的命令,但是它们没有用

git stash 如果我输入这个命令我得到

致命:糟糕的修改'HEAD'致命:糟糕的修订'HEAD'致命:需要单一修订您还没有初始提交

git reset HEAD,如果我输入这个命令我得到

致命:模糊的论点'HEAD':未知的修订或路径不在工作树中.使用" - "将路径与修订分开

我真的需要把这些文件拿回来!

我创建GIT时遵循的步骤

  1. mkdir BareRepo
  2. BareRepo目录我做git init,git status,git config --bool core.bare true
  3. 然后我克隆了BareRepo git clone BareRepo/ Programs/
  4. Programs目录中我做了以上所说的所有事情

git git-rm

4
推荐指数
1
解决办法
1716
查看次数

Git:无法运行 git 'rm -rf 。--缓存'

我正在使用 Rubygems,它在 git 中缓存了很多文件。简单的解决方案就是运行git rm -rf . --cached,但是当我运行它时,会出现以下消息:

fatal: pathspec '' did not match any files
Run Code Online (Sandbox Code Playgroud)

即使我运行git rm -rf ./\* --cached,它仍然返回:

fatal: pathspec '*' did not match any files
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?

ruby git git-rm

2
推荐指数
1
解决办法
2705
查看次数

Git恢复文件

我将本地文件添加到git repo(git add .)并提交。

然后使用删除文件git rm *并再次提交(第二次提交)。该删除了本地和远程文件。

是否热衷于将文件从git(从第一次提交)返回到相同的本地文件夹?

谢谢。

git git-rm

1
推荐指数
1
解决办法
98
查看次数

Git - rm --cached .idea 和致命路径规范

我正在使用 PHPstorm,我想从 git 索引中删除隐藏文件夹 .idea。当我使用$git status我得到

C:\Program Files (x86)\Ampps\www\1stenglish IS [master +1 ~0 -0 !]> git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .idea/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)

但是当我想用命令从 git index 中删除它时,git rm --cached .idea/我得到了错误

fatal: pathspec '.idea' did not match any files
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的路径选项,但没有结果:

git rm --cached .idea
git rm --cached .idea/* …
Run Code Online (Sandbox Code Playgroud)

git intellij-idea phpstorm git-rm

0
推荐指数
1
解决办法
6164
查看次数

与通过操作系统删除和 git add 相比,git rm 做什么

如果我们想删除一个文件(比如file1.txt)并停止git repo来跟踪它,据说我们应该使用git rm file1.txt然后git commit -m "..." 它。但通过操作系统从工作目录中删除rm file1.txtadd .然后git commit -m "..."执行相同的操作。他们有什么区别?

git git-add git-rm

0
推荐指数
1
解决办法
1026
查看次数