2017-01-03 78 views
0

我有一個git回購在目錄中有文件。使用git回購覆蓋目錄

我在我的Linux機器上有一個目錄,它與舊版本 有類似的文件來自某處。

Linux中還包含數千個重要文件,這些文件不能被移動,複製或刪除,並且不受git管理。

我需要一個命令,將下載/結帳/克隆(我不在乎)該回購協議中的git文件 ,並覆蓋任何現有文件的舊版本和/或創建它們,如果它們不存在但不刪除非託管數據。

沒有我試過的作品,你如何做到這一點?

謝謝。

+0

是你計劃從Git的某個分支做到這一點?無論如何,我不認爲Git與你的問題有太大關係。您的問題減少到有選擇地用另一個文件夾中的內容覆蓋一個文件夾。 –

回答

2

如果覆蓋文件較舊,如果它們不存在則創建新文件,我認爲您需要使用rsync。網上有很多指南。 rsync也有一個--dry-run選項來測試您正在運行的命令的效果。

+0

是的'rsync'是爲你一般想要做的事情而做的工具。 – willoller

0

所以你想最終得到一個你最新版本的git倉庫,但是有很多額外的文件你不想讓git來管理?這可能不是一個好主意,因爲原因,但我會繼續前進。

關閉我的頭頂,所以一定要小心:

你可以在當前目錄中嘗試git init。這將開始管理目錄的git,但一切都將git「新」。

接下來,git add remote將您現有的回購添加爲遠程。這會讓你在不改變工作目錄的情況下訪問最新的git狀態。

然後,git reset origin/master --hard應導致任何跟蹤的文件被覆蓋最新版本從origin。如果你的本地文件系統上有更新的文件,它們將被覆蓋!所以小心!


(但你可能要重新考慮整個事情。我將與我在Linux中項目的重新檢出快樂,在另一個目錄,並保留老版本分開)