2012-10-29 37 views
1

在我們的公司(Windows域網絡)中,我們的開發人員使用GIT作爲他們的版本控制軟件。如何爲域用戶備份本地git更改?

主要倉庫(如果你可以稱呼它)每天備份(讀取+克隆 - 從備份服務器)

我要保持我的用戶的GIT本地文件夾(他們提交前)每天備份。

我在想我可以從上次獲取/提交中獲得最後的更改,並且只保存/備份已更改的文件。

可能嗎? 我該如何爲整個組織做? (我想要一個自動化的腳本,每天都會啓動)

我想避免一個情況,開發人員工作數天(無法工作) - 並因災難而放棄他的工作。

  • 我可以跟蹤已更改的文件嗎? (日期印章也許?)
+0

我編輯了我的答案以解決您的編輯問題。 – VonC

回答

1

不能獲取/克隆未經跟蹤的數據從上游回購(見「Pushing untracked content with git」)
這意味着你不能集中啓動備份過程。

您可以將腳本分發給rsync或scp用戶的共享中心路徑的用戶。
另一種解決方案是使用git archivegit bundle,但用戶將增加藏匿他/她的工作正在進行中(其中可能包括未跟蹤文件,但恢復將能夠上演和git stash pop未經跟蹤的變化來區分)。

我想避免的情況下,如果開發工作幾天如果你想獲取/克隆用戶回購(不能提交作品)

,那麼他們必須定期承諾。
不要忘記這不是SVN:即使代碼沒有編譯/不通過測試,開發人員也可以創建他/她自己的dev分支並進行提交。在這方面,dev是一個私人分支,僅用於記錄開發者每天的進度。
只有公共分支(他/她想要推送的分支)應該只包含「乾淨」的提交。

+0

「rsync」的+1。 'git'很棒,但是一個DVCS,而不是一個備份工具。 – mgarciaisaia