簡體   English   中英

使用 git 合並手動復制目錄中的更改

[英]Using git to merge changes in a manually-copied directory

在工作中,我使用 git 在我們的遠程 VPS 上保留一個大目錄的備份。 因為我住在一個非常偏遠的小鎮,互聯網很差,價格昂貴,我無法通過互聯網復制這個 repo。 相反,當我開始在家工作時,我在外部驅動器上帶了一份目錄副本(不幸的是沒有“.git”子目錄)。

我對目錄的主副本中的文件進行了大約 10kb 的更改。 我想將這些合並到遠程服務器上的 git 存儲庫中,而無需通過 Internet 傳輸整個目錄。

到目前為止的步驟:

git init
git add .
git commit -m "initial"
git remote add VPS [SSH_ADDRESS]
git remote show VPS   # successfully connects to remote

現在我想合並我在本地所做的 10kb 更改,而不傳輸未更改的 GB 數據。

我嘗試過但失敗的步驟:

git push VPS   # can't because there are non-integrated remote changes
git fetch VPS  # starts downloading GBs of data

不知道接下來去哪里 go。

一種嘗試傳輸盡可能少的數據而不使用 git 的傳輸方法的 hacky 方法,它可能有效,也可能無效:

  • 生成本地工作的補丁( git format-patch
  • 壓縮這些補丁( tarzip
  • 將它們發送到遠程服務器( scprsync
  • 登錄遠程服務器( ssh
  • 應用補丁( unzip / tar后跟git apply ),修復沖突並根據自己的喜好編輯歷史

這將使您的本地副本像以前一樣不同步。


假設“GB 數據”是大文件而不是很多小的更改/文件,您可以避免將它們存儲在實際的 git 存儲庫中。

有多種方法可以解決這個問題,我都沒有嘗試過,但這里有一些眾所周知的方法:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM