Settings
將 ~ 置於原始碼控制之下的提示
我想將我的主目錄 (~) 置於原始碼控制之下(在本例中為 git),因為那裡有許多設置文件(.gitconfig、.gitignore、.emacs 等)我想跨機器攜帶,並將它們放在 Git 中會很適合檢索它們。
我的主機是我的 MacBook,而 OS X 的設置方式,有很多我想忽略的文件夾(文件、下載、.ssh)。還有一些文件夾已經在使用 Git (.emacs.d)。
我的想法是將所有這些目錄添加到我的 .gitignore 文件中,但這似乎有點令人厭煩,並且可能會導致一些無法預料的後果。我的下一個想法是定期將要儲存的文件複製到家中的某個文件夾中,然後送出該文件夾。這樣做的問題是我必須記住在送出之前移動它們。
有沒有一種干淨的方法可以做到這一點?
我
$HOME
在 git 下。我的 .gitignore 文件的第一行是/*
其餘的是使用
!
修飾符不能忽略的模式。這第一行意味著預設是忽略我的主目錄中的所有文件。我想要版本控制的那些文件是.gitignore
這樣的:!/.gitignore !/.profile [...]
我有一個更棘手的模式是:
!/.ssh /.ssh/* !/.ssh/config
也就是說,我只想版本化
.ssh/config
——我不希望 .ssh 中的密鑰和其他文件進入 git。以上是我實現這一目標的方法。編輯:在所有路徑的開頭添加了斜杠。這使得忽略模式從儲存庫頂部($HOME)而不是任何地方匹配。例如,如果
!lib/
是一個模式(不要忽略 lib 目錄中的所有內容)並且您添加了一個文件.gitignore
,那麼之前的模式 (!.gitignore
) 是匹配的。使用前導斜杠 (!/.gitignore
),它將僅.gitignore
在我的主目錄中匹配,而不在任何子目錄中匹配。我還沒有看到這與我的忽略列表產生實際差異的情況,但在我看來,它在技術上更準確。