git - 处理来源/主人的分歧

时间:2014-05-26 22:40:52

标签: git version-control workflow

在特定项目中,我使用git来处理共享仓库的分支。在这个分支上,只有我(有时像requires.io这样的机器人)已经将提交推送到origin/master,因此担心覆盖另一个团队成员的工作。

最近,我向我的一个公共origin/master推送了很多提交,之后,我意识到其中一些提交不合理,并且想要编辑或还原它们。因此,我在磁盘上获取了最新版本代码的副本,还原了大约30个提交,并将恢复的头部推送到origin/master

然后我重新设置了repo的本地副本(现在在origin/master之前大约有30个提交)。现在git说我的本地HEAD已经与origin/master分歧,每个提交有30个和18个不同的提交。

我有两个问题。显然,我希望将本地提交推送到origin/master,我不希望pull --rebase并允许我的本地提交被远程提交覆盖。如果不经常打开合并工具,有没有一种简单的方法呢?

其次,这看起来非常混乱。我应该使用什么工作流程来避免这种情况?推送频率较低的可能不是一个有用的选项,因为我试图解决的错误提交与travis.ci YAML文件有关,我只能通过推送到origin/master进行有用的测试。

1 个答案:

答案 0 :(得分:3)

当有其他人推或拉时,永远不要把遥控器变成遥控器。否则,你会让很多人感到沮丧和沮丧。

要做到这一点,不要在你对它们满意之前推动你的提交。

要恢复已经推送的提交,请使用git revert工具创建还原提交,然后推送它。

这通常是我的工作流程的工作方式。