2011-12-23 89 views
88

所以我開始使用Git + GitHub。如何關閉Git分支?

在我們的小型分佈式團隊中,每個成員都爲他們分配的每個問題/需求創建自己的分支。

  1. git branch Issue#1 <-- create this branch
  2. git checkout issue#1 <-- switch over to this branch

現在code codecommitcodecommit等..

然後pull requestcode-fixupcommitcodecommit ..等

和最終...拉取請求被接受。

Woot。

但..現在是什麼? (......尷尬......)

在本地開發機器上創建分支的人是否需要關閉分支?一個建議是開發人員刪除分支`(... -D ...),然後做一個拉/刷新主人,然後將獲得他們所有的分支代碼。

Hmmmmm ...不知道 - 請幫助:)

+14

Git中的一個分支只是特定提交的標籤 - 所以基本上,如果您不再需要它 - 只需刪除該「分支」(即該提交上的「標籤」)即可。在本地,只要做一個'git分支問題#1 -d',這就是所有 - 沒有代碼丟失,只是一個標籤已從你的版本庫中刪除 – 2011-12-23 09:14:36

+1

@marc_s我建議只是作出回答:) – KingCrunch 2011-12-23 09:23:23

+0

所以@marc_s - 你是說標準實踐曾經是你的分支......並且分支已經被推動了......我們刪除了它?怎麼樣合併? – 2011-12-23 09:25:03

回答

152

我們要求開發商要求拉入請求的狀態,他們希望刪除的分支。大多數情況下都是這樣。有時需要分支(例如,將更改複製到另一個發行版分支)。

我的手指都記下來了我們的過程:

git checkout <feature-branch> 
git pull 
git checkout <release-branch> 
git pull 
git merge --no-ff <feature-branch> 
git push 
git tag -a branch-<feature-branch> -m "Merge <feature-branch> into <release-branch>" 
git push --tags 
git branch -d <feature-branch> 
git push origin :<feature-branch> 

一個分支是工作。一個標籤及時標記一個地方。通過標記每個分支合併,我們可以在需要時重新生成分支。分支標籤已被多次用於審查更改。

+7

我們對程序進行了最近的更改。使用'git push --tags'是非常重要的,並下載所有標籤。這使你很難擁有自己的本地標籤。相反,我們使用'git push origin branch- '來推送一個標籤。 – 2012-04-24 17:07:11

+0

因此,最後一行,您需要記住使用之前設置爲「branch- 」的功能分支的標籤名稱,而不僅僅是。正確? – 2017-01-18 16:18:04

+0

@PremierBromanov最後一行用於刪除遠程分支。記住標籤@BillDoor已經使用了'git push --tags'。 – Deivide 2017-04-20 17:28:22

37

是的,只是通過運行git push origin :branchname刪除分支。稍後修復一個新問題,再次從主站點分支。

+3

這將刪除遠程分支,而不是本地分支。 – KingCrunch 2011-12-23 09:25:22

+3

我不知道爲什麼這是在-2模式,這是正確的答案。他們肯定有一個偏遠的分支機構,他們怎麼可能會發布PR​​呢? – 2011-12-23 19:09:22

+1

@PaulBetts我同意。我也投了票。 – gilligan 2011-12-23 21:15:14

34

完成後的代碼首先合併分支掌握然後刪除該分支

git checkout master 
git merge <branch-name> 
git branch -d <branch-name> 
+0

這是在我自己的開發機器上,對不對?接受任何新代碼的主要人..他的機器在其他地方。 – 2011-12-23 09:49:49

+2

如果有人正在進行合併,他通常將分支指針放在單獨的遠程位置,例如發件人/分支名稱。他將需要使用'git remote prune sender'在你做完之後也將其清除 - 雖然在大多數情況下,他不需要關心。 – 2011-12-23 15:32:32

+1

*您應該永遠不要合併自己的分支,除非您是負責將其集成到主樹中的分支。如果您不是,並且您要求其他人整合它,請使用新的遠程提交更新您的主分支 - 它們應包含您要求提取的任何內容 - 然後刪除您的分支。這確保瞭如果其他人改變了事情,你就不會有任何問題。 – ThiefMaster 2011-12-23 15:47:24