恢复复杂的git repo

时间:2013-01-15 15:48:31

标签: git

我们有几个人在使用git repo。我们都把它拉了下来。有几个功能分支,当然还有master。

现在问题是主分支中已经开发了一个功能,但它不完整,我们不能再同时在代码中部署错误修正。

我对git有点了解,但肯定不足以“稳定”回购,我知道情况完全是一团糟。

我如何将推送的提交从master拆分到正确的分支,同时仍然允许master独立地提交,推送等 - 这样我们就可以继续执行错误修正,但以后可以合并这些功能。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

从当前development创建master分支。将任何开发工作推送到developement,然后重新创建master以指向最新的稳定版本。

对于错误修复,请从新master中取出一个分支,对其进行处理,测试,标记并将其合并回master。这样,团队的其他成员就可以继续使用其他功能,可以将错误修复程序合并到master并作为补丁发布。

请参阅git branching model

假设你有一个稳定版本的标签(或者至少是它的提交哈希),你可以这样做:

 //lets sync origin master and local master
 git checkout master //checkout local copy of master
 git pull origin master //grab any changes in origin/master
 git push //now origin and local are in sync

 //create development branch off of master
 git checkout -b development master
 git push origin development:development

 //now point master to release tag
 git branch -d master
 git checkout -b master tag_name
 git push -f origin master:master

现在让每个人将开发合并到他们的功能分支中。错误修复进入主人。