2013-04-22 40 views
2

我是Git的新手,只有修補它。到目前爲止,我非常喜歡它,我們正在討論在我工作的地方開始使用它。避免與本地承諾失去工作?

已經出現的問題之一(我無法回答)是開發人員長期在當地進行工作的情況,因爲他們的工作尚未準備推送到中央存儲庫。如何避免開發商在硬盤崩潰後失去工作?

在網絡共享上鏡像本地存儲庫還是沿着這些方向行的最佳實踐?

+0

我可能會推薦一個分支,所以你可以在不干擾主線的情況下隨時推送到那個分支。或者另一種選擇是推到網絡上的一個單獨的地方,一個完全獨立的存儲庫。或者,像DropBox或Carbonite這樣的本地機器總是有傳統的雲備份。 – 2013-04-22 21:38:14

回答

4

開發商在一段時間作爲自己的工作長期在當地犯下不 尚未準備推到中央存儲庫。

但是他們的工作準備好了。一旦被一些試驗工作完成,開發人員可以岔開了master分支

git checkout master 
git branch experiment 
git checkout experiment 

現在,他們可以推動實驗分支,而不影響master分支

git push origin experiment 

那麼當時間是正確的你可以合併分支

git checkout master 
git merge experiment 

或刪除分支

git branch -d experiment 

你會發現official Git repo 做到這一點

master # main branch 
next # soon to be merged to master 
pu  # proposed updates 
+1

+1 - 但是關於分支命名的說明:讓你的開發者在他們正在進行的工作之後給分支命名 - 比如'feature/print-money'。如果他們只是在亂搞,可以使用'personal/tom'之類的東西。你需要記住關於git的是:**分支是便宜的 - 就像它得到的那樣便宜**。只要記住給出那些明智的名字,以便你以後瞭解你的分支名單。 – Chronial 2013-04-22 22:23:41

+0

所以在git工作流中比svn更常見的分支(這是我在過去幾年中使用的)?根據我的經驗,使用SVN的人傾向於只爲主要功能分支,而不是爲每個人工作。 – 2013-04-23 12:38:43

+1

@PhilSandler是的,因爲使用Git分支只需要10個字節左右,所以它們可以很容易地創建和銷燬。 – 2013-04-23 18:14:04

1

嘗試使用git只是有我在工作的文件同步的副本太多頭痛的,我發現,我花了(比如「更新」,「更新#2」,「更新#3」)與我一起開發的時間混雜在一起。

我使用了一個單獨的分支/遠程和「雲」(儘管我討厭使用該術語)備份解決方案(如Dropbox)的組合,它可以保存我的回購的當前「髒」狀態。這樣我可以打開我的筆記本電腦,並立即拿起我離開的位置,而無需嘗試下拉/合併我的更改。

另一件需要注意的事情是,git不適用於備份,即使它是分佈式的特性使得在出現問題時恢復工作容易得多。這就是備份腳本:)