git 使用記錄

2021-09-29 09:45:47 字數 1539 閱讀 5330

最近開始學習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管理的修改過的檔案和在暫存區的檔案...