2014-02-14 90 views
3

我使用這裏的說明設置了一個git倉庫:https://git.help.collab.net/entries/22564277-Migration-from-Perforce-to-GIT什麼是正確的Git p4工作流程?

我有一個主分支,我從perforce獲取最新的信息,並將我的更改提交給perforce。我也有一個開發分支,我在那裏工作,有時我會有一個功能分支(從開發分支)。

我一直在努力弄清楚正確的工作流程,這裏是我現在所在的地方 - 如果有更好的方法,請糾正我。

1)GIT中檢出主

2)混帳P4變基(可以從Perforce獲得最新的,我應該用 「混帳P4同步」 呢?)

3)git的結帳發展

3 )的git合併大師(更新發展到了最新的)

4)git的承諾。(盡我所有的工作和提交)

5)git的結帳主(送準備合併的開發分支

6)git的P4同步(從Perforce的拉最新)

7)混帳合併發展

8)解決任何衝突

9)混帳P4變基(拉從Perforce公司最新的底墊,然後我在它的上面)提交的修改

10)的git P4提交

應該「混帳P4底墊「只能在」git p4 commit「之前使用? 另外對於我的模型/工作流合併比基礎更好?

回答

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在堆棧頂部爲合併創建一個額外的提交。這不是我們在遠程非git倉庫想展示的東西。所以我們將代碼與「git rebase」合併。

+0

至於最後一點,我不是到P4,但我的經驗與其他非混帳VCSes講的是,他們只是不能代表一種歷史糾結的git來管理費力,所以你必須給他們一個線性序列。或者至少,合併必須使用專用工具/命令的中央存儲庫來完成。 – vonbrand