2013-11-27 19 views
2

我收到了git之外的代碼,並將它添加到我的存儲庫中。但是,丟棄來自不支持符號鏈接的機器。因此,存在最初鏈接的文件現在被視爲文件,其內容是與原始鏈接指向的內容相同的單個路徑。它們作爲普通文件存儲在git中。如何將包含鏈接內容的文件更改爲git中的實際鏈接?

我想將它們更改爲git中的實際鏈接。

換句話說,我想改變他們的模式爲120000(並且別無其他)並提交它們。

什麼是git命令來做到這一點?

+0

_I'd想改變自己的模式,以120000(以及別的什麼也不做)_不,你** **需要向做別的事情,即替換文件的內容。符號鏈接包含到目標的路徑,副本包含(內容的副本)。所以你需要做的是糾正Unix文件系統中的文件,而不需要考慮git。關於你不必擔心的模式,git會自動完成。在您對文件系統進行更改後,您可以'git commit -a'。 –

回答

0

如果我理解正確,例如,一個名爲somefile的文件是一個指向/opt/somewhere/somefile的符號鏈接,它變成了一個內容爲「/ opt/somewhere/somefile」的文本文件?現在你想恢復原始的符號鏈接?

我不知道是否有一個git命令。我認爲你有一個符號鏈接手動替換該文件並提交:

filepath=somefile 
linkpath=$(cat $filepath) 
ln -sf $linkpath $filepath 
git commit $filepath 
相關問題