2017-04-15 99 views
0

我正在爲我的dotfiles創建一個倉庫,這些倉庫文件遍佈我的機器上。我選擇了大多數點文件的目錄,並在那裏創建了git repo。現在我需要添加不在此git repo目錄中的點文件。git從外部回購文件夾添加文件?

我想我找到了一種方法,做

git --work-tree=/ add /another/path/.vimrc 

成功添加的文件,並推爲第一提交。不過,後來我改變了文件。當我做git commit -m 'edit .vimrc',我

On branch master 
Your branch is up-to-date with 'origin/master'. 
... 
no changes added to commit 

爲什麼會出現這種情況?我錯誤地添加了外部文件嗎?

+1

爲什麼不只是創建一個符號鏈接到你想包括在你的點文件回購的文件。這就是我所做的。你可以在這裏查看我的點文件, https://github.com/ipatch/dotfiles – Chris

+0

@Chris只是嘗試用'ln -s'創建符號鏈接,但git只保存該鏈接的內容而不是實際的文件。你是怎麼做到的?非常感謝! –

+1

Chris的意思是你需要將你的文件放在版本控制下的repo中,並且軟鏈接在外面並指向這個文件。 –

回答

1

--work-tree=/選項在單個命令的持續時間git ... add /another/path/.vimrc中更改工作樹臨時

將名稱的其餘部分添加到存儲庫中。因此,您的存儲庫中有一個名爲another/path/.vimrc的文件。

如果你在運行:

你會添加一個名爲 .vimrc到你的資料庫文件
git --work-tree=/another/path add .vimrc 

後來,另一個GIT中命令如:

git checkout <revision> -- another/path/.vimrc 

或:

git checkout <revision> -- .vimrc 

提取文件(another/path/.vimrc.vimrc)到當前工作樹中,從指定的修訂版。當前的工作樹是您此時指定的這一次的--work-tree=,或者默認情況下,基於git rev-parse --show-toplevel的隱含工作樹。

相關問題