2017-04-25 108 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