git - 在 Git 中为多个推送提交只创建一个提交
问题描述
我有一个fork
回购。我经常使用创建一个新分支
git branch -t -b <myBranch> upstream/master
对于我的本地更改,我会:
git commit -m "my message"
git push origin myBranch
同样,要从中获取最新更改master
,我会:
git fetch upstream
git merge upstream/master
git push origin myBranch
所有的提交都是历史中的单个提交,这通常很烦人。我如何才能与我的所有更改保持同步master
但只提交一次。
我尝试过使用git rebase -i
,但尽管我压缩了自己的提交,但它说合并冲突很多次并且弄乱了合并。
解决方案
您只需一个额外的步骤就可以做到这一点......将所有更改都放在一个 commit中。在合并上游/主后,立即执行以下操作:
git reset --soft upstream/master
git commit -m "All of my changes"
好的好的......所以这是两个步骤。现在您可以推送..但是使用 -f 因为您正在重写历史
git push -f origin myBranch
推荐阅读
- netsuite - 使用 PHPToolkit 的 Netsuite 基于令牌的身份验证 (TBA)?
- request-headers - 如何从 webhook 请求者获取 HTTPS 标头
- single-sign-on - 注册服务提供者时出现 SSOCircle 错误 0007
- vtd-xml - VTD-XML 元素片段不正确
- html - 单选按钮(作为按钮)流入框架
- javascript - 使用服务器结合网页和python程序的最简单方法是什么?
- php - session_destroy() 比我需要的早执行
- go - 如何使用 DLL 的序数值从 DLL 中查找过程?
- reactjs - 使用 React 本机导航重新启动应用程序时出现间歇性黑屏
- android - Web 推送通知是否可以在 Apache Cordova Android 应用程序中使用?