在我看來,Git是爲大規模開源項目設計的,擁有大量開發人員和團隊。使用Git對小型內部團隊有意義嗎?
我想知道Git是否適合小團隊(< 10)和內部項目(在組織內部)。我明白,擁有本地存儲庫副本會有明顯的性能優勢(儘管當您的組織存儲在您的組織內時,這並不重要)。
你還會推薦Git(以及它附帶的複雜性),爲什麼?
在我看來,Git是爲大規模開源項目設計的,擁有大量開發人員和團隊。使用Git對小型內部團隊有意義嗎?
我想知道Git是否適合小團隊(< 10)和內部項目(在組織內部)。我明白,擁有本地存儲庫副本會有明顯的性能優勢(儘管當您的組織存儲在您的組織內時,這並不重要)。
你還會推薦Git(以及它附帶的複雜性),爲什麼?
Git並不是那麼複雜。它非常強大和精確。我不會使用其他任何東西,一個人項目或一個100,000人項目。我真心的。
我明白了爲什麼人們說這是複雜的,但整個事情被高估。要做你需要做的一切,最多可能需要10個命令。而且你不需要了解這10種食譜的每一種選擇......只是一些食譜式的「食譜」。
你做什麼需要明白的是一些關於Git是如何不同下引擎罩。但這並不是因爲git很複雜 - 這是因爲Git是不同的。你可以花一些時間在一兩天的時間內挖掘這些信息,你就會很開心。
請原諒我的粗魯,但Git使文件系統成爲它的b * tch。您可以隨意在軟件項目的「備用現實」之間切換。一旦你瞭解了工具的來源,你就可以完全控制構成軟件的位和字符。對於軟件開發人員來說,很少有這種能力的工具可用。
是的,夥計,我推薦Git。做到這一點。你會很高興你做到了。祝你好運。
這很簡單:它做它應該做的很漂亮:版本控制。
沒有更多,沒有更少。
它適用於我的IDE,它完美地合併了組編輯,並且可以隨時提取舊代碼。
是的,因爲與svn相比,更改跟蹤如何工作。 (在大型多步合併中,衝突較少)
是的,因爲您可以在工作時進行小型本地提交,然後將完整的工作更改推送到主存儲庫。當你進行推送時,你所有的小提交都被推送了。
是的,因爲當你從主存儲庫執行pull時,它不會立即合併,而是將分支中的東西放入。當你做了更大的改變,並希望在某些計算機上延遲某些日子的更新時,它非常適合。
我更喜歡git over svn for single person projects。 在整個生產線上使用相同的工具更容易,並且爲了保持git和svn存儲庫對我來說似乎毫無結果。
我會說是的。
即使是我自己,我傾向於使用git,因爲它是有用的功能。除了兩次操作(推拉)之外,不必爲網絡(甚至是內部網絡)打網絡,從長遠來看節省了大量時間。諸如查閱不同分支的事情只是在本地發生,就像閱讀日誌一樣。
請注意,即使在分發git時,您仍然可以擁有每個人都在推送和從中拉出的中央存儲庫。但它只是按照慣例的一箇中央存儲庫。
而廉價創建分支機構也是一個優勢。您可以輕鬆製作主題分支,並在其中實施一些小功能,然後再在開發分支中進行合併。
見一個成功的分支策略git flow
我使用的Git爲我自己跑(團隊規模= 1)和項目有5名成員另一個項目。
爲什麼我個人喜歡它的原因:
一個聰明的團隊好處甚至更加明顯:
然而如果你的團隊是啞巴(可能有時真)或偏見對Git的,我強烈建議反對它,因爲它花費一定的精力和程序員的好奇心,學習,而不是每個人都在世界希望分支,合併,使用分佈式工作流程或Git所提供的任何其他功能。
Git對大型和小型團隊都有意義。是的,git很複雜,但這並不意味着你總是必須處理這種複雜性。我使用git每天,我很少發出比其他任何東西:
git branch # To remind myself what features I'm working on.
git checkout <name_of_branch> # To switch to whatever I want to work on.
git checkout -b <name_of_new_feature> # To start work on a new branch
git add <name_of_file> # To add it to the list of tracked files.
git commit -m <commit_message> # To checkpoint my work.
git merge <name_of_branch> # To integrate changes back to trunk.
git branch -d <name_of_branch> # To delete a branch after it has been merged.
其實只有你需要記住每天的基礎上了少數命令。對於比這更復雜的任何事情,你總是可以在文檔中查找它。
我真正喜歡git的一件事,爲什麼我強烈推薦使用它,即使它尚未準備好提交到存儲庫,您仍然可以保持工作點檢查和版本控制。例如,在實際向其他開發人員展示之前,我可能會在本地多次使用「git commit」。這大大增加了我對更改代碼的信心;我可以試驗,不用擔心我目前的工作將會丟失 - 如果出現問題,我總是可以恢復到安全版本。例如,SVN就不能這麼說,在主存儲庫中可以看到任何提交。
+1表格。 –
「致力於存儲庫」是什麼意思?如果Git沒有中央存儲庫,那麼您在說什麼存儲庫? Git令人困惑。 –
@BrunoSantos儘管是分佈式的,但項目或組織往往會有一個反映代碼真實,官方狀態的單一存儲庫。無論如何,當我說「致力於存儲庫」時,我的意思是 - 你可以在不用將這些改變推送到遠程存儲庫(無論是官方存儲庫還是其他遠程存儲庫)的情況下進行本地提交),而在其他版本控制機制中,您必須使用單獨的工具來處理更改的本地版本控制。 –
請提高您的回答率。 –
可能的重複http://stackoverflow.com/questions/250984/do-i-really-need-version-control – Flimzy
@Flimzy:我不會這麼說,因爲Git真的很具體。 「我應該使用Git進行小型團隊項目」和「我應該使用版本控制」是不同的問題。 –