簡體   English   中英

從事開源項目時的git

[英]git when working on open source projects

我在git上工作了一段時間,下面是一些問題:

  1. Git以一種有效的方式壓縮本地機器上的所有源代碼。 對於我們正在從事的項目來說,可能很容易理解,但是我想知道,當在大型項目上工作時,尤其是在開源項目中,成千上萬的開發人員正在並行開發多個版本時,如此龐大的代碼庫是否會以相同的方式存儲在本地機器。 甚至我都覺得這些項目肯定不能使用集中式VC。 請讓我知道您的想法。
  2. 我可以選擇使用git checkout命令切換到特定版本的代碼庫。 切換到修訂版后,如果進行更改並提交,則該方案的處理方法已經偏離了先前指向的提交歷史,因此該如何處理。
  3. 在哪種實時情況下,我們使用commit amend功能,以及在修改提交時需要注意的事項。

問題1:是的,應該使用GIT。 Git具有非常復雜的算法,不僅可以壓縮內容,還可以保存僅更改的內容。 對於Git來說,擁有多少文件並不重要,這對git CONTENT至關重要,這就是為什么它主要用於處理大數據的原因。

無論如何,您應該了解git功能以及遇到問題時如何利用它們。 例如,在大型項目中可能遇到的一些問題是變更的歷史悠久,分支機構眾多等。您可能希望使歷史記錄變淺,或者對分支機構應用過濾器等。要獲得更全面的解釋,您可能想閱讀http://blogs.atlassian.com/2014/05/handle-big-repositories-git/

問題2:如果要進入臨時分支(例如temp_branch_001 ,則在提交更改后,應checkout master (或被視為master的分支),然后git merge temp_branch_001以使您的主分支保持最新。 但是,如果您的分支是內容完全不同的永久分支,那么可能不需要將master分支合並到其中。

問題3:您使用它來通過新更改增強以前的提交,而不是進行新的提交。 為此,您可以在此處參考全面的說明: https : //www.atlassian.com/git/tutorials/rewriting-history

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM