2016-02-27 82 views
2

我有一個使用git clone www.someserver.com/mygitrepo創建的git存儲庫。我想維護這個存儲庫整個源代碼和歷史的離線備份,是否足夠每隔一段時間在存儲庫中調用git pullgit fetch?據我發現git pull應該從遠程分支更新當前本地分支,git fetch應該更新所有本地分支從他們各自的遠程分支。但git fetch也下載分支後添加最初的git clone電話?假設我通過使用這種方法獲得了完整的最新備份,這可以嗎?只需撥打get fetch就足夠了嗎?什麼是實現完整備份的最佳方式?維護git存儲庫的備份

編輯:

只是爲了澄清,我不太感興趣,讓所有的分支機構而言,我更感興趣的是保持庫的完整副本,包括標籤和事件的對等服務器將不可用。

+0

[How to獲取所有的git分支](http://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches) –

+0

你有沒有找到可能的重複問題的解決方案? –

+0

@ A.L那裏的答案還有封面標籤嗎?使用該方法可以安全地使用整個歷史記錄和源代碼來維護完整的離線備份嗎?我真的不明白,如果這是從那裏的答案的情況下,我需要確保這是保持一個git存儲庫的完整脫機備份的方式。 – UnTraDe

回答

1

不,它不會自動獲取所有分支。 但是你可以使用:

for remote in `git branch -r`; do git branch --track $remote; done 
git fetch --all 
git pull --all 

來源:How to fetch all git branches

,但如果你把它作爲一個備份,你可以與服務器上的歷史變化的問題。 (比如已經改變的提交也會在backkup上改變,你可以將它設置爲不這樣做,但是從更改舊提交時開始就停止備份)