【发布时间】:2012-01-31 21:01:12
【问题描述】:
我的老板最近决定在我们修改现有应用程序以添加新功能时尝试一个“增加容量”的外包小组。尽管我担心他选择的小组似乎没有很好地沟通,也没有提出足够的问题来真正理解和有效,但我们还是和他们一起去了。
我们将他们设置为在我们的 Git 存储库(托管在 GitHub 上)上进行协作。我们专门为他们创建了一个分支(我们称之为 TheOutsourcedBranch),并要求他们在这个分支中完成所有工作。
此外,我们要求他们在每天下班时推送他们的提交,以便我们可以大致了解他们的工作速度以及(更重要的是)他们的代码有多好。
今天他们第一次推送。五个提交,都在 master 中。我正在尝试弄清楚如何将他们的提交从 master 转移到 TheOutsourcedBranch,而不会丢失他们已经完成的工作(尽管从它的外观来看,无论如何我们都必须把它扔掉)。
橙色点是他们的提交,灰色点是我的。
我知道有很多关于变基的问题(这可能是我需要在这里做的),但我很难弄清楚其中哪些适用于我的具体情况。以防万一,外包团队和我自己是目前唯一真正使用回购的人。
提前致谢!
编辑: 我可能找到了我要找的东西:Move the most recent commit(s) to a new branch with Git
不过,我想检查一下我的理解。在本地,我从 master (TheOutsourcedBranch) 创建了一个分支,其中包含 A-H 的所有内容。然后我将 master 重置回 C。Master 现在将包含 A-C。
假设这是正确的,那对我(本地)来说没问题。但是,我需要做些什么来“强制”远程存储库 (GitHub) 接受我对事情如何发展的本地视图并丢弃其历史版本?
一旦出现这种情况,我想我可以重新处理这个问题,使其更加通用/信息丰富,并去掉一些绒毛——否则我猜它可能是一个很好的删除候选者。
【问题讨论】:
标签: git github rebase git-rebase