如何从 git 中删除不需要的文件
How to remove unwanted file from git
我推送了一个分支,没有注意到分支下所做的更改。在我的远程分支中有一个名为 \
的文件。我用过git rm \ .
。但是没有luck.Please帮我删除文件。
谢谢
您的 shell 很可能将反斜杠用作转义字符。要将实际的反斜杠传递给程序的命令行,大多数 shell 都允许您自行转义它或使用引号告诉 shell 不要对其进行特殊解释。
git rm \
git rm '\'
要从 Git 中删除文件,您必须将其从跟踪的文件中删除(更多
准确地说,将其从暂存区中删除)然后提交。 git 房间
命令会执行此操作,并且还会从您的工作目录中删除该文件,因此
下次您不会将其视为未跟踪文件。
如果您只是从工作目录中删除该文件,它会显示在
git 状态的“已更改但未更新”(即未暂存)区域
输出:
$ rm PROJECTS.md
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: PROJECTS.md
no changes added to commit (use "git add" and/or "git commit -a")
然后,如果您 运行 git rm,它会分阶段删除文件:
$ git rm PROJECTS.md
rm 'PROJECTS.md'
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
CHAPTER 2: Git Basics
56
deleted: PROJECTS.md
下次提交时,文件将消失,不再被跟踪。如果你
已修改文件并将其添加到索引中,您必须强制删除
使用 -f 选项。这是一项安全功能,可防止意外删除数据
尚未记录在快照中且无法从中恢复的
Git。
您可能想要做的另一件有用的事情是将文件保存在您的工作中
树,但将其从暂存区中移除。换句话说,您可能想要
将文件保存在您的硬盘上,但 Git 不再对其进行跟踪。这是特别
如果你忘记添加一些东西到你的 .gitignore 文件并且不小心
上演它,就像一个大日志文件或一堆 .a 编译文件。去做这个,
使用 --cached 选项:
$ git rm --cached README
您可以将文件、目录和文件全局模式传递给 git rm 命令。
这意味着您可以执行以下操作:
$ git rm log/\*.log
注意*前面的反斜杠()。这是必要的,因为 Git 做到了
除了您的 shell 的文件名扩展之外,您自己的文件名扩展。这个
命令删除 log/ 目录中所有扩展名为 .log 的文件。
或者,您可以这样做:
$ git rm \*~
此命令删除所有以 ~ 结尾的文件。
我推送了一个分支,没有注意到分支下所做的更改。在我的远程分支中有一个名为 \
的文件。我用过git rm \ .
。但是没有luck.Please帮我删除文件。
谢谢
您的 shell 很可能将反斜杠用作转义字符。要将实际的反斜杠传递给程序的命令行,大多数 shell 都允许您自行转义它或使用引号告诉 shell 不要对其进行特殊解释。
git rm \
git rm '\'
要从 Git 中删除文件,您必须将其从跟踪的文件中删除(更多 准确地说,将其从暂存区中删除)然后提交。 git 房间 命令会执行此操作,并且还会从您的工作目录中删除该文件,因此 下次您不会将其视为未跟踪文件。 如果您只是从工作目录中删除该文件,它会显示在 git 状态的“已更改但未更新”(即未暂存)区域 输出:
$ rm PROJECTS.md
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: PROJECTS.md
no changes added to commit (use "git add" and/or "git commit -a")
然后,如果您 运行 git rm,它会分阶段删除文件:
$ git rm PROJECTS.md
rm 'PROJECTS.md'
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
CHAPTER 2: Git Basics
56
deleted: PROJECTS.md
下次提交时,文件将消失,不再被跟踪。如果你 已修改文件并将其添加到索引中,您必须强制删除 使用 -f 选项。这是一项安全功能,可防止意外删除数据 尚未记录在快照中且无法从中恢复的 Git。 您可能想要做的另一件有用的事情是将文件保存在您的工作中 树,但将其从暂存区中移除。换句话说,您可能想要 将文件保存在您的硬盘上,但 Git 不再对其进行跟踪。这是特别 如果你忘记添加一些东西到你的 .gitignore 文件并且不小心 上演它,就像一个大日志文件或一堆 .a 编译文件。去做这个, 使用 --cached 选项:
$ git rm --cached README
您可以将文件、目录和文件全局模式传递给 git rm 命令。 这意味着您可以执行以下操作:
$ git rm log/\*.log
注意*前面的反斜杠()。这是必要的,因为 Git 做到了 除了您的 shell 的文件名扩展之外,您自己的文件名扩展。这个 命令删除 log/ 目录中所有扩展名为 .log 的文件。 或者,您可以这样做:
$ git rm \*~
此命令删除所有以 ~ 结尾的文件。