2011-02-03 38 views
5

我有一個項目,我正在做以下設置:一臺服務器與我的git回購,一臺臺式機和一臺筆記本電腦。同步文件沒有提交?

我有時在桌面上工作我的項目,有時在我的筆記本電腦上工作。

如何在臺式機和筆記本電腦之間同步我的文件而不需要更改服務器?

感謝

+0

只需使用一個分支。 – ismail 2011-02-03 12:20:04

+1

短語「一個服務器與我的git回購,一臺臺式機和一臺筆記本電腦」真的很奇怪。據推測,如果你在筆記本電腦和桌面上工作,那麼他們也有回購。不要將服務器上的存儲庫視爲與桌面或PC上的存儲庫不同。他們都是平等的。 – 2011-02-03 15:28:07

回答

3

您可以或多或少地直接拉你的「客戶」,即PC和筆記本電腦之間的推動。傳輸可能是直接連接,如SSH或HTTP。但是您也可以在外部媒體上使用另一個存儲庫,這可能是一個USB存儲棒,外部硬盤驅動器,甚至像Dropbox這樣的服務。

這樣,你的工作流程看起來是這樣的:

  1. 讓您的筆記本電腦的變化
  2. 提交您的筆記本電腦
  3. 推更改提交到U盤上
  4. 拉離提交後倉庫將U盤粘貼到PC上的存儲庫
  5. 作出更多更改
  6. 提交它們 - 您也可以修改其他如果你希望你的變化是原子
  7. 把你的最終提交到信息庫中的服務器上

要知道,你總是需要在本地提交更改之前,你可以將它們推到另一個倉庫提交。看起來你來自另一個像Subversion這樣的SCM系統,其中提交總是意味着「使更改在服務器和所有人上都可見」。 Git的工作方式不同,在你推送它們之前,提交只是本地的。

1

如果你需要一個「快速和污染」的解決方案,你可以使用像Dropbox這樣的服務。我在我的Dropbox目錄中有幾個回購:)

1

只需使用rsync命令。確保你在你本地的回購根路徑,並運行: rsync -a --exclude=.git . [email protected]:[Your Remote Path]

你可以修復你的代碼在本地和rsync它。當代碼可以部署時,然後提交部署問題。

你可以在~/.ssh/config文件中配置你的ssh遠程別名,google知道如何配置它。那麼你的命令將是: rsync -a --exclude=.git . [remote-alias-name]:[Your Remote Path] 並且不需要輸入密碼。