2013-10-24 56 views
2

在遠程主機上有一個文件夾/config/samples/(它也包含子目錄),其中包含示例配置文件;這些文件足以在沒有任何變化的實際環境中使用。該應用程序位於同一存儲庫中,只能從/settings/目錄讀取文件。如何在git clone/fetch上重命名/重定位目錄並保存歷史記錄?

如何使主文件夾的每個副本將本地文件夾重命名爲所需文件夾AND將保留這些文件的歷史記錄(所以如果我在那裏添加文件,它將被放置到主文件夾上的正確文件夾上git pull)?

符號鏈接和硬鏈接在文件系統上不可用。

在此先感謝!

回答

1

我不確定我是否正確理解您的問題,但git會查看重命名的文件。如果你執行

mv file_orig_name.ext file_new_name.ext 
    git rm file_orig_name.ext 
    git add file_new_name.ext 
    git commit -m "changed file name file_orig_name.ext to file_new_name.ext" 

他們將顯示爲被重命名,而不是一個消失,另一個出現。

0

git中目前沒有這樣的功能。

對於這種功能將不得不利用您的操作系統的功能,如符號鏈接(如果可用的話)。在這種情況下,仍然需要運行一個設置過程,所以像Make或Rake這樣的工具可以幫助您創建所需的文件夾,並可能檢查其中的更改。

最後,您可以考慮使用git hooks,以便腳本在特定事件中被調用。 post-checkout,post-merge,也許post-commit可能對此有用。