git - 仅从远程存储库中删除文件

标签 git

我已阅读了有关此问题的大部分其他问题,并按照那里的建议完成了步骤。

git rm --cached <filename>工作正常,但是当我提交时,它说一切都是最新的。

看来我一定在这里遗漏了一些明显的东西。如何从远程存储库中删除此文件?

Jordan@JBH-LAPTOP /c/sites/SAM3 (master)
$ git rm --cached SAM3/Web.config
rm 'SAM3/Web.config'

Jordan@JBH-LAPTOP /c/sites/SAM3 (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

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

        deleted:    SAM3/Web.config


Jordan@JBH-LAPTOP /c/sites/SAM3 (master)
$ git commit . -m "Remove the webconfig please"
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

Jordan@JBH-LAPTOP /c/sites/SAM3 (master)
$ git commit SAM3/Web.config -m "Remove the webconfig please"
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

最佳答案

执行git rm后,您需要执行git commit。 Git 说一切都是最新的是因为您尚未创建删除此文件的提交。

例如,如果您执行git reset --hard,您会看到您的文件又回来了。

一般来说,git rm 与 git add 没有什么不同。

will this override all my commits

不,不会,它将创建一个新的提交,并删除该文件。只需以下步骤就足够了 -

git rm #your_files

git commit -m "#your_comments"

git push origin #your_local_branch:#your_remote_branch

关于git - 仅从远程存储库中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828713/

相关文章:

macos - git:尝试将存储库推送到 Mac 上的 Amazon Elastic Beanstalk 时, 'aws.push' 不是 git 命令

git - 将更改和添加的文件从没有工作树的裸存储库导出到目录以进行编译或部署

node.js - 在多个实例中更新我的 node.js 代码

git - 如何巧妙地限制团队成员的源代码访问?

git - 我如何使用 git-archive 来包含裸存储库中的子模块

git - git push 的不同分支定义

git - 在 Git Bash 上运行 "git difftool"会打开 Visual Studio 的多个空实例

git upload 将静态文件更改为 s3 并在推送时更新代码

重命名/移动修改后的文件后,Git 不跟踪历史记录

git - 如何为多个提交触发一个 TeamCity 构建,但一个 merge 到一个分支