2015-06-04 28 views
0

首先讓我描述一下情況,並且所有這些都需要在不連接到互聯網的情況下進行。 Windows方法優於Linux。從導出的Git存儲庫中脫機更新文件

客戶端有我們的軟件版本是由CD交付的。在我們的存儲庫上進行了一定次數的推送後,我希望客戶端可以接收這些文件更新,而無需重新傳送所有文件。我只想提供一個存儲庫的副本,並讓git將其舊文件更新爲當前狀態。不需要訪問歷史記錄或分支機構,只需要複製每個文件的最新版本即可。

那麼問題是什麼是最好的(最簡單的)方法來更新單獨的脫機文件到當前的外部存儲庫狀態?

我已經閱讀了一些可能性,但我不明白它們的差異或能力或確切的過程和命令。此外,我找到的每個示例都使用https:來傳輸文件。

1)遠程添加,遠程更新,然後合併

2)克隆庫然後用戶將拉

3)GIT中存檔以創建壓縮包

4)束似乎是僅用於未推送的提交。

如果可能的話,寫出cmd命令也是非常有幫助的。

回答

0

如果我正確理解您的情況,那麼您可以使用git diff --patch <revision_of_customer> > latest_version.patch生成補丁文件,然後使用patch實用程序將其應用於客戶端。這種方法僅適用於文本文件。如果您的存儲庫中有二進制文件,則可以查看建議的實用程序here

+0

修補程序是否適用於多個提交?如果有多次推送和合並,你將如何創建一個包含所有提交的補丁?如果不知道,你只是想將他們的文件更新到最新版本? –

+0

您可能會忽略以前有關多個修補程序文件的問題。讀補丁表明這會發生,但你的命令並沒有這樣做。 –