Contents
  1. 1. Remove ssh key passphrase without create a new key
  2. 2. 移除佔用空間的huge objects

一些使用git遇到的問題與解決方法

Remove ssh key passphrase without create a new key

1
2
ssh-keygen -p 
# 之後就是互動式的

-p: Requests changing the passphrase of a private key file instead of creating a new private key.
-N: Provides the new passphrases.
-P: Provide the Old passphrases.

[參考] How do I remove the passphrase for the SSH key without having to create a new key?

移除佔用空間的huge objects

link
git clone時會下載所有的commit history,若commit的內容為source code,因為壓縮文字檔為git的強項,故不會造成過多的空間浪費,但若加入的對象為huge object file,即使在下一次commit中移除該檔,由於它仍然存在history中的某次commit,故仍會佔用repository大量的空間。

###git gc
要是存在太多鬆散物件 (loose object, 不在 packfile 中的物件) 或 packfile,Git 會執行 git gc 命令。gc 指垃圾收集 (garbage collect),此命令會做很多工作:收集所有鬆散物件並將它們存入 packfile,合併這些 packfile 進一個大的 packfile,然後將不被任何 commit 引用並且已存在一段時間 (數月) 的物件刪除。

Contents
  1. 1. Remove ssh key passphrase without create a new key
  2. 2. 移除佔用空間的huge objects