2011-03-23 62 views

回答

2

版本控制系統在與另一個人或成千上萬的人一起工作時真正發光;當人們處理文件時,他們很可能會在相似的空間工作。源代碼控制系統讓您合併將多個開發人員變成一個一致的產品,回滾錯誤,弄清楚誰寫了哪些特定的代碼行(問他們爲什麼他們的代碼在兩個月後不工作),提供出色的業務連續性等

但他們依然精彩只有一個開發者:您在評論有關爲什麼你做了一些特殊的方式能找到一些值得他們重的黃金六個月後。您可以同時檢查依賴於四個獨立文件的大型更改,然後,如果需要撤消它,一個命令將立即退出所有四個文件的更改。

3

我使用git作爲獨立開發者,我無法想象沒有它的生活。使用git,我總是知道我在做什麼以及我修改了什麼。我可以做實驗性的改變,而不用擔心不記得我改變了什麼。我可以查看舊版本的文件,以防我刪除現在我想要的東西。

我總是可以去我的終端並鍵入git status,看看我已經改變了哪些文件。我可以輸入git diff來查看這些更改。如果我決定我的更改不好,我想回到我剛纔的位置,只需輸入git checkout .即可。

3

關於Git的最佳部分與其他源代碼控制系統不同,Git可以脫機工作。無論您是在飛機上還是在家中,或者是在沒有連接的地方,都無所謂。你仍然可以將更改提交到本地git存儲庫&將它連接到集中服務器(如果有的話)。還有一件讓Git非常強大的東西是'分支'。如果您想要修復錯誤或想要嘗試新的功能而不損害當前的工作代碼,只需創建一個支持&的分支。在分支中工作正常的情況下,可以將它合併到主分支。

我會說Git比任何其他SCM提供更多的靈活性。

+1

這適用於所有DVCS與集中式DVCS相比。 – eckes 2011-03-23 09:05:14

+1

問題是「Git如何有用?」所以我這樣回答。 – hnprashanth 2011-03-23 09:23:16

1

版本控制系統讓你更輕鬆地跟蹤對文件的改變......所以說你編輯一個文件,並將其提交到系統幾次在一個星期......如果東西壞了,你可以進去看看所有特定的行逐行更改,直到找到導致問題的更改爲止......如果要保存文件的不同副本,這會更困難嗎? (這個功能太棒了,以至於我知道作者使用它來跟蹤他們正在編寫的書籍的變化)。

但是,它真正發光的地方是不同的開發人員正在研究特定文件同時 ...因此,如果我編輯400行代碼文件的行1-20,和編輯97 - 143,版本控制系統,這樣當你去做一個更新,你會得到這些更改合併在一起我更改合併到您的文件中,並可以看到我的代碼如何影響您所寫的內容。

更好的是,如果我們已經在相同的代碼行上工作,版本控制系統將嘗試合併這些更改,如果不是,它會警告您衝突......然後您可以與其他開發人員一起解決並找出如何手動合併您的更改。當然,版本控制你平時工作的一個更大的軟件,所以你也可以拉更新到其他文件,你是不是工作的直接任意。

使用Git,你會得到一個真正的其他的殺手級功能,使開發人員昏厥......

說你是工作在你的代碼,努力嘗試將功能添加到您的軟件,BU你會得到一個緊急呼叫, '請修復XYZ,網站不工作!「

如果沒有版本控制,您必須將所有剛添加的內容註釋掉,然後嘗試修復問題,如果您在某處忘記了某些內容,當你試圖追捕你引入的新bug時,可能會導致更多的問題,因爲你不記得你寫的所有新代碼(你能告訴我以前去過嗎?)...用Git,你可以簡單地'分支'(創建一個不同的你的代碼的虛擬副本)...並且處理你的新功能......然後,當這個3am調用進來時,你可以切換回軟件的主要穩定分支,提交修復,並將其激活。 ..然後回去工作你的功能。
非常漂亮的好嗎?

有很多的你與版本控制系統(特別是GIT)免費獲得其他的事情,(建於比較同一文件的版本的能力,整個代碼庫使用Git,改變提交信息能力的本地化副本和歷史等等)。

我推薦免費的Git的社區書能幫助你走好
https://github.com/rails/jquery-ujs
希望這有助於