最近開始學習git 遇到一些問題,記錄如下:
特別感謝兩位大佬的文章,獲益匪淺
1. git 新增資料夾問題,新增當前資料夾可以使用
git add ./
如果檔案太多,需要等待一會,同理git commit 時,也需要等待一會。
2. git 刪除檔案問題
我們都知道工作區檔案刪除之後,如果這個檔案曾經被git add 新增到暫存區,那麼暫存區會有乙份備份,這時想要恢復檔案很容易,但是想要徹底刪暫存區檔案,就需要使用
git rm - 檔名
git commit -m "info"
如果已經使用過git add 和git commit 將檔案提交到版本庫中,那麼將很難刪除,可以檢視一下,當使用git rm 刪除乙個大檔案之後,.git 資料夾依然很大,沒有變化。這時就需要知道,git會將大檔案打包為pack,即./git/objects/pack/ 資料夾中的idx檔案。我們找到這個檔案之後,就可以使用
git verify-pack -v .git/objects/pack/你的檔名(那一長串字元).idx | sort -k 3 -n | tail -10
來確定前十個大檔案。然後使用
git rev-list --objects --all | grep 你想刪除的檔案的那一長串字元
找到那個檔案的檔名和目錄,然後可以使用
git log --pretty=oneline --branches --你的檔案目錄
來檢視檔案的提交資訊。接下來就可以刪除了
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 你的檔案目錄' --prune-empty --tag-name-filter cat -- --all
rm -rf .git/refs/original
rm -rf .git/logs/
git gc
一般情況下這樣就可以刪除,但是我這裡並沒有成功,我是直接刪除.git 資料夾,重新git init ,我並不推薦這樣做,只是因為我的專案是我自己寫的小玩意,可以隨便折騰。至於到底我的問題怎麼解決,我還在找資料。
3.git中fatal: refusing to merge unrelated histories
在使用git pull的時候報如上的錯誤,是因為兩個分支沒有取得關係,解決方案記錄如下:
git pull origin master --allow-unrelated-histories
4. git上傳報錯:error: failed to push some refs to '[email protected]
5.上傳github不要用公司網或者校園網這種有外網轉內網的網路
這個純屬我個人建議,這是因為我在密碼使用者名稱都正確的情況下,使用這種網路經常出現22埠問題等連線不上github,換成手機熱點就好了。
Git 使用記錄
1 從遠端倉庫獲取更新 1 git fetch 獲取更新不會自動合併 git fetch origin master git pull origin master獲取更新 git log p master.origin master 對比本地和遠端的主分支 git merge origin mast...
GIT 使用記錄
git clone xx 從遠端伺服器上將專案轉殖下來 git add 將檔案或者資料夾新增到git 倉庫中 本地 git commit m commit 將改動提交到git倉庫中 git push origin master 將倉庫推送更新到遠端伺服器的master分支,git push 操作 g...
git使用記錄
平時開發都是直接使用eclipse自帶的git客戶端管理 但有時會遇到一些詭異的問題,不得不通過敲命令來解決 以下是我平時會用的git命令,記錄下來,留做備用 git status git log 新增所有新建的檔案到暫存區 git add all 提交所有經git管理的修改過的檔案和在暫存區的檔案...