【发布时间】:2015-06-26 02:25:16
【问题描述】:
我对 Git 很陌生,我正在尝试了解它的工作流程。我遇到了一种情况,我不知道如何完成我想做的事情,并且很高兴有人解释正在发生的事情,更重要的是为什么。
场景是这样的:我正在和另一个人一起做一个项目。该项目由不同的独立子项目组成。我们的想法是我们将自己处理不同的子项目,并逐步将这些子项目的结果添加到主项目中。
为了管理这一点,我们在 GitHub 上创建了一个包含信息 A 的共享存储库。我们都将该存储库克隆到本地计算机。我在本地创建了一个新的分支来处理子项目 B,他对子项目 C 做同样的事情。最后,我们希望 GitHub 上只有一个分支包含所有信息 A+B+C。
有哪些不同的方法可以做到这一点?我无法理解的是如何将我的工作 B 推送到 GitHub 而不做任何更改(如删除)他已经放在那里的工作 C。如果他在本地将 A 和 C 合并到 A+C 中,然后将其推送到 GitHub,然后我对 A+B 做同样的事情,会发生什么;那么 GitHub 上的 C 会发生什么?是不是想办法把 B 和 C 的独立分支推送到 GitHub 上,然后将 A、B 和 C 合并成 A+B+C?
如您所知,我对此有点困惑,希望能得到一些帮助。
【问题讨论】:
-
避免特定问题的方法是在执行合并之前始终
git pull。无论如何,如果您忘记这样做,遥控器将拒绝您的推送,您将不得不git reset --hard您的更改,然后再次执行它们(或者将您的伙伴和git push --force搞砸,这将强行覆盖他们的更改)
标签: git github merge push pull