我们使用 git & github 作为我们的代码存储库。我的一位合同开发人员在 Windows 上,其余的则不在。windows 开发人员不得不对各种文件进行一些更改,以使项目在 windows 上运行。这些更改永远不应合并回主分支。除了这些更改之外,他还进行了我们希望合并回我们的主分支(经过我的审查)的提交(包括对他之前可能已经做出特定于 Windows 的提交的文件的一些提交)。
我最初解决这个问题的尝试失败了。我们为他创建了一个特殊的分支“windev”并将其添加到 origin。他将他最初的特定于 Windows 的提交提交到跟踪远程分支的本地 windev 分支,然后继续在这个分支中专门工作,向它推送。最初,我想,好吧,我只是挑选他的相关提交,因为我不想将他的特定于 Windows 的提交合并到我们的主分支。这可以很好地将好的提交提交到我们的主分支。问题是他还需要定期从 master 更新他的 windev 分支以获得最新的代码库。我们从尝试 rebase 开始,但它似乎造成了混乱,根本没有很好地处理樱桃选择或特定于 Windows 的提交。所以我' 每次他想更新他的代码时,他一直让他从主分支合并,但问题是他的分支中有重复的提交,因为我选择了他的每一个提交。我还怀疑这些重复提交会导致不必要的冲突和潜在的代码丢失。
我正准备和他重新开始,因为这似乎有点混乱,而且我担心它会产生错误或不必要的、容易出错的冲突。但我正在尝试找出适合这种情况的最佳工作流程,但我有点困惑。有任何想法吗?(PS 他是 git 的新手,对它感到困惑,所以我试图为他保持简单。我更愿意自己处理工作流程的任何复杂部分。)