什么是正确的Git p4工作流程?

时间:2014-02-14 03:51:15

标签: git merge perforce git-rebase

我使用以下说明设置了一个git存储库:https://git.help.collab.net/entries/22564277-Migration-from-Perforce-to-GIT

我有一个主分支,我从perforce获得最新信息,并将我的更改提交给perforce。我还有一个开发分支,我在那里工作,有时我会有一个功能分支(从开发分支)。

我一直在努力找出正确的工作流程,这就是我现在所处的位置 - 如果有更好的方法,请纠正我。

1)git checkout master

2)git p4 rebase(从perforce获取最新信息,我应该使用“git p4 sync”吗?)

3)git checkout development

3)git merge master(将开发更新到最新版本)

4)git commit ..(做我所有的工作和提交)

5)git checkout master(准备将开发合并到分支

6)git p4 sync(从perforce中提取最新信息)

7)git merge development

8)解决任何冲突

9)git p4 rebase(从perforce中提取最新信息然后在我之上修改我提交的更改)

10)git p4提交

“git p4 rebase”只能在“git p4 commit”之前使用吗? 另外,对于我的模型/工作流程来说,合并比变基础好吗?

1 个答案:

答案 0 :(得分:1)

来自http://owenou.com/2011/03/23/git-up-perforce-with-git-p4.html

命令

使用git-p4时要记住四件事:

Instead of using “git push” to push local commits to remote repository, use “git-p4 submit”
Instead of using “git fetch” to fetch changes from remote repository to local, use “git-p4 sync”
Instead of using “git pull” to fetch and merge changes from remote repository to local, use “git-p4 rebase”
Instead of using “git merge” to merge local branches, use “git rebase”

对于最后一个,原因是当你运行“git merge”时,Git会在堆栈顶部创建一个额外的提交以进行合并。这不是我们想要在远程非git存储库中显示的东西。所以我们将代码与“git rebase”合并。