2011-04-07 49 views
2

我是新來的git,所以如果我完全錯過了船,請原諒我。我在我的筆記本電腦上編寫網站,除了Dropbox之外,我希望將我所做的所有事情都備份到其他地方。這是我瞭解git的時候。我瞭解它會跟蹤所做的所有更改(並已提交),但發生了什麼變化的實際文件?我想問的可能是最好的例子。使用Git的閃存驅動器上的站點備份

我已成立了一個混帳回購協議上我的筆記本電腦來管理所有的到MySite/及其所有文件和文件夾(index.phpimg/css/等)所做的更改。我還在閃存驅動器上創建了一個--bare git存儲庫。我有push編輯原始回購到該位置。我可以使用git log成功查看歷史記錄,但是當我訪問閃存驅動器時,我注意到MySite/的內容不存在(或至少可以看到)。你有什麼建議我能夠從閃存驅動器工作,然後將這些更改推送到筆記本電腦,同時仍然可以像我習慣的那樣在筆記本電腦上工作?

回答

4

只要有兩個是不裸存儲庫。這是最簡單的可能只是刪除裸露的回購協議(因爲它聽起來像有目前沒有什麼獨特的存在),然後運行:

git clone /laptop/project /thumbdrive/project 

其中/laptop/project是主要的非裸露的回購協議,並/thumbdrive爲您安裝閃存盤。

現在,/thumbdrive/project是非裸回購。因此,你有兩個非裸回購(意味着兩個都有工作目錄),你可以隨意工作,並與他們兩個承諾,然後拉(或推,如果你小心)他們之間。

當您想要一份不會直接工作的副本時(例如純備份,鏡像或服務器),可以使用裸回購。

+1

推入非裸倉庫有潛在危險,您會收到關於它的警告。真正重要的是你不想推到檢出分支。通常情況下,獲取/拉入非裸回購更好。另一種選擇是在每臺機器上安裝一個非裸機克隆,並使用拇指驅動器上的裸回購作爲中央回購 - 將其插入到您的機器中,並按照任何中央回購機制進行推/拉。 – Cascabel 2011-04-07 17:53:43

+0

@Jefromi,真的,「拉」更簡單。但如果你小心,推動是一種選擇。 – 2011-04-07 17:55:21

+0

好吧 - 剛剛嘗試過,它似乎完全按照我的要求做了,但我有一個問題......在它們之間推拉時,您如何指定位置?例如,我最初設置它的方式是將閃存驅動器命名爲'flashdrive',然後使用命令'git push flashdrive'。我現在該怎麼做? – ServAce85 2011-04-07 17:56:02

1

的文件是在那裏 - 他們是不同的git的文件夾內,但它們被存儲爲集的差異。

你總是可以用「git pull」提取一個集合,但你不要嘗試編輯git自己的文件 - 你會打破某些東西。只要將git文件夾視爲黑盒子,並從其中提交/拖放/推送文件