2017-04-25 103 views
1

我創建了branchA從分支發展GIT:Gitflow工作流程

# git checkout -b branchA 
# git push origin -u branchA 

修改某些文件

# git add * 
# git commit -m "modification in branchA" 
# git push 
# git checkout develop 
# git merge branchA 
# git push 

,我已經創造了另一個分支

# git checkout -b branchB 
# git push origin -u branchB 

修改某些文件

# git add * 
# git commit -m "modification in branchB" 
# git push 
# git checkout develop 
# git merge branchB 
# git push 

然後再在branchA

工作
# git checkout branchA 

我修改1 JSP(針對home.jsp)

# git add * 
# git commit -m "modification in branchA" 
# git push 
# git checkout develop 
# git merge branchA 
# git push 

然後我回來branchB

但是我沒有我在home.jsp中所做的更改

+0

分支機構不保持與它的「父分支」相關聯(加引號,因爲這不是一個真實的東西 - 一個分支只是一個指針提交)。看一下'git log --graph --all'並運行'git merge develop'。 – Ryan

回答

1

首先,使用git push只限追蹤分行,如果您尚未將分行設置爲追蹤分行,則使用git push origin branch_name總是比較安全。您可以輕鬆創建一個新的跟蹤分支雖然通過

git branch --track branch-name origin/branch-name 
git branch --set-upstream-to <remote-branch> # for existing branches 

現在,如果我得到它的權利,你在做第二次最後一步branchA的變化,並把它合併進開發,但是你有沒有更新branchB隨着開發的變化。這就是爲什麼你看不到branchA中branchB的變化。僅僅因爲你將branchB從開發中分離出來,並不意味着它會隨着開發的變化而不斷更新。

git checkout branchB 
git merge develop 

現在你所做的更改應該反映在branchB

+0

好的,我認爲這個工作是由git pull做的 –

+1

git pull只是獲取所有的遠程更改,但只更新當前的分支,並且也從遠程更改,而不是更改開發。 – hspandher