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