2017-06-19 85 views
0

我是Git的新手,但我對Master和功能分支概念有所瞭解。雖然有不同的功能分支名稱是有道理的,但如果我們正在一個開發人員,小規模的應用程序,並通過拉請求審查合理工作量已經完成聽起來合理,我發現它是多餘的,我必須創建一個新功能分支,只要我整合下一個功能迭代。我曾嘗試重用分支,但它在請求中導致衝突。重複使用Git分支

每次新添加完成後,我們是否應該創建新分支?

+0

以torek的答案爲出發點:我想這個問題是PR爲什麼會發生衝突(以及如何避免這種衝突)。請注意,pull請求本身不是git概念,而是「git中的其他事物」(通常是github;或類似於gitlab中的「合併請求」)的概念。不過,我預計衝突將基於PR的合併或重組操作。診斷可能需要更完整的圖片(例如,在第一次PR之前/之後和第二次PR之前提交圖表作爲開始),但通常我會第二次重複使用分支不應該打擾git。 –

回答

5

Git在重新使用或重新使用分支名稱時沒有問題。這是圍繞 Git的其他事情,包括人們如何使用Git,以及各種集成系統如何使用Git,這些問題與重新使用或重新使用分支名稱有關。

至於Git的本身而言,一個分支是從字面上只是提交哈希ID,有一些特殊的屬性的字符串名稱:

  • 此字符串的全名始於refs/heads/。 (通常您會看到沒有前綴的字符串。)
  • 隨着新提交被添加到分支,期望由名稱標識的提交散列隨時間而改變。
  • 事實上,它是這樣預計Git會自動爲你做這個,當你「上」的分支一個新的提交,同時(如,當git statuson branch xyz:那麼新的承諾,使xyz名新提交的哈希)。因此,如果其他人將您的分行名稱複製到其存儲庫中 - 通常以遠程跟蹤分行名稱-他們也會期望更新此名稱,但有時僅以「快進」方式進行更新。也就是說,他們不會指望你使用xyz這個名稱,並且使其指向(最後一個)與上一組提交提交的前一組提交非常相關的一組提交。

如果其他人(和流程)都同意xyz移動了,或許根本,是沒有問題的,在那個時候再利用xyz。如果其他人不同意同意,你會遇到問題,他們期望xyz不要這樣改變。他們可能會重新設置xyz他們預計它將去,這將干擾重新設置xyz

總之,重用是沒有問題的提供的大家事先同意,重用是沒有問題的。如果沒有其他人使用你的名字,你只需要同意你自己。如果別人也使用你的名字,請確保他們沒問題。