Git指令 删除远程分支文件
git 区间概念
- 工作区(Working Directory):代码编辑的区域。
- 暂存区(Stage/Index):代码改变并暂时提交到本地分支的区域。
- 分支区(commit History):存放已经提交的数据。
删除远程分支文件
最近在项目中遇到了一个问题 就是我在 提交代码到gitlab时,将一些没有必要提交的文件提交到了远程分支。刚开始我以为是我的.gitignore
没有过滤掉需要忽略的文件 后来发现 并非如此 由于我司某项目分为pc端和移动端 虽然我们两端的项目在一个gitlab地址 但是项目的配置也是各自配置的。(这锅我不背)
后面我们将gitignore重新处理了以下 虽说gitignore重新处理好了, 但是 远程分支中那些不必要的文件还是存在 于是就用上了 很少用上的git 删除远端分支文件的命令了
git rm 删除工作区文件
git rm file_path
命令 删除工作区的文件
rm 后面接文件或者文件夹的地址
如上图所示 该项目中有一个名为test.txt
该文件现在已经在工作区此时我们执行命令来删除掉它
git rm test.txt |
输入git rm
命令后 发现报错了 意思是 这个跟踪文件已经改变到暂存区。 后面括号里面说 叫我们 使用 --cached
来保持工作区的文件 或者说 用 -f
来强制删除该文件 这就是我们后面说的 如果要在暂存区删除代码 前提时 你所要删除的文件是没有被改变过的 就是和当前版本库的文件内容一样 才可以删除
如果你非要强制删除 那么 如他所说 在 指令后面加上-f
就可以进行强制删除了
此时我们进行强制删除
删除完之后我们就发现 在你项目中的 test.txt已经删除掉了。
到此我们已经删除掉了工作区的无用文件
删除远程分支文件
如下图 .idea文件webstorm的配置文件 对于项目来说是无效的 但是我们又提交到了 gitlab 此时我们将.idea文件进行删除
输入命令 git rm file_path -f
该命令意思是 强制删除git分支区文件
file_path 支持模糊匹配 即 假设 idea文件夹下有多个 xml的文件
那么我们可以 输入git rm -f .idea/*.xml
将删除idea文件下所有的xml文件
我们执行命令git rm -f .idea
在工作区的文件就会被删除掉了
此时 我们可以使用 git status
查看文件变化
我们可以看到 git里的文件发生了变化 我们只是在暂存区删除掉了并没有提交到远程分支 输入命令
//提交修改后的代码 |
然后可以看到在gitlab界面 .idea文件夹已经不存在了 至此我们已经删除掉了远程分支中的不必要文件
删除分支区文件但不删除工作区文件
git rm -f --cached file_path |
我们输入命令时只需要加上 --cached
就能删除掉远程分支区的文件而保留工作区。
End
感谢您观看此篇博客,本人技术有限 若有不足之处 还望各位大佬们指出。