在特定项目中,我使用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
进行有用的测试。
答案 0 :(得分:3)
当有其他人推或拉时,永远不要把遥控器变成遥控器。否则,你会让很多人感到沮丧和沮丧。
要做到这一点,不要在你对它们满意之前推动你的提交。
要恢复已经推送的提交,请使用git revert
工具创建还原提交,然后推送它。
这通常是我的工作流程的工作方式。