1. 如何删除GitHub仓库中的文件夹和文件
背景: 由于上传GitHub时,文件管理不当,多上传了文件和文件夹,滑稿所以想删除它们。但GitHub本身只能删除仓库,而不能直接删除里面的文件。
工具 :git
思路: 克隆本地+重新上传
操作:
1.将对应仓库克隆到本地库[ 命令行git clone xxxxxx.git] (我是直接在Pycharm中操作的)
2.在Git Bash中删除文件和文件夹
git rm test.txt (删除文件)
git rm -r test (删除文件夹)
3.提交修改,输入如下:
git commit -m "Delete some files."正桐
4.重新上传,输入如下:
举让坦 git push origin xxx
注意点:
1.使用Git Bash删除文件时,必须切换到对应的文件夹下面,例如进入这个位置 “E:\Python\CV_homework\KW1”应该先进入E盘,输入 cd e:
接着输入 cd Python\CV_homework\KW1
2.如果文件夹或者文件名中有空格需要先加转义符' / ' 再加空格' ',例如删除文件
正确输入: git rm hw_1_image\ process\ basic1.0.py
2. git上为什么删除不掉文件夹
git上删除不掉文件夹是因为它的储存方式。
git仓库下有一个名为git的隐藏文件夹,删除一个文件,只是记录了删除这个操作,但并不会把文件从git文件夹删除。要想彻底删除git已经记录的文件,就必须用到一个高端命令:gitfilter-branch。
git是一个开源的分布式版本控制系统,可以有效、陪键高速地处理从芦轿巧很小到非常大的项目版本帆困管理。
3. git上为什么删除不掉文件夹
git上删除不掉文件夹是因为git的存储方式。根据查询相关信息显示,git仓陪销库下有一个名为git的隐藏文件夹,从git初始化开始,所有仓库的变化都会记录在这个文件夹芦局游中,只要是git记录的文件,就会通过一定的算法保存到这里,删除一个文件,只是记录了删除这个操腊裂作,但并不会把git文件夹删除,要想彻底删除git已经记录的文件夹,就必须用到一个高端命令gitfilterbranch。
4. git 命令删除文件及文件夹
1.删除文件夹
1.1查看本地分支下的文件
ls
1.2 删除src下的某个文件夹
git rm -r src/views (你想要删除的文件夹)
1.3删除某个文件
git rm src/view/home.vue
5. Git如何删除历史记录中的大文件详解
步骤一:从你的资料库中清除文件
以Windows下为例(Linux类似), 打开项目的Git Bash,使用命令:
$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch path-to-your-remove-file' --prune-empty --tag-name-filter cat -- --all
其中,path-to-your-remove-file就是你要删除的文件的相对路径(相对于git仓库的跟目录), 替换成你要删除的文件即可. 注意一点,这里的文件或文件夹,都不能以 '/' 开头,否则文件或文件夹会被认为是从 git 的安装目录开始。
如果你要删除的目标不是文件,而是文件夹,那么请在 `git rm --cached' 命令后面添加-r命令,表示递归的删除(子)文件夹和文件夹下的文件,类似于 `rm -rf` 命令。
此外,如果你要删除的文件很多, 可以写进一个.sh文件批量执行, 如果文件或路径里有中文, 由于MinGW或CygWin对中文路径设置比较麻烦, 你可以使用通配符*号, 例如: sound/music_*.mp3, 这样就把sound目录下以music_开头的mp3文件都删除了.
例如这样, 新建一个bash脚本文件,del-music-mp3.sh:
注:绿色字部分是命令执行后的结果.
6. git删除远程分支上的文件夹或文件
git删除远程分支上的文件夹或文件:
前提是没有直接push到dev或master的权限。
git删除.idea文件的提交
git ignore:
git rm --cached -r *.iml
git rm --cached -r .idea
git add .gitignore
git commit -m '(gitignore commit and remove .idea)'
git push origin dev
git回退:
可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除
一般情况下,gc对那些无用的object会保留很长时间后才清除的
可以使用git reflog show或git log -g命令来看到所有的操作日志
恢复的过程很简单:
通过git log -g命令来找到需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别,找到执行reset --hard之前的那个commit对应的commitid