Blo*_*ger 5 git github git-merge git-squash
我正在从上游分叉的git存储库上工作。有一个我想实现的功能,我创建了一个新的分支uiTests并在那里进行了更改并提出了拉取请求。
公关在那里呆了一段时间,与此同时,还有其他一些公关被合并并发生了冲突。我用叉子解决了它们,最后有两个合并提交。
当我检查git日志时,列表的顶部看起来像这样;
commit 70db4de884d5e4b64ef3a2c903f310c901dd68e2
Merge: ef5dfc2 5b7a827
Author: Padmal
Date: Sat May 26 18:53:33 2018 +0530
Merge branch 'CloudyPadmal-uiTest' into uiTests
commit 5b7a827763c35a3605daed6c717004700582eede
Merge: e815867 ef5dfc2
Author: Padmal
Date: Sat May 26 18:52:52 2018 +0530
Merge branch 'uiTests' of git://github.com/CloudyPadmal/pslab-android into CloudyPadmal-uiTest
commit ef5dfc2f4af7431b2bc5efa356540bd616669706
Author: Padmal
Date: Thu May 24 20:06:27 2018 +0530
test: removed Travis build time consuming UI tests
removed dummy test files
Run Code Online (Sandbox Code Playgroud)
所以我想压扁70db4de884d5e4b64ef3a2c903f310c901dd68e2并5b7a827763c35a3605daed6c717004700582eede在ef5dfc2f4af7431b2bc5efa356540bd616669706和一个提交更新PR。
有关更多信息,git log --oneline结果如下:
70db4de Merge branch 'CloudyPadmal-uiTest' into uiTests
5b7a827 Merge branch 'uiTests' of git://github.com/CloudyPadmal/pslab-android into CloudyPadmal-uiTest
ef5dfc2 test: removed Travis build time consuming UI tests
Run Code Online (Sandbox Code Playgroud)
但是当我尝试时git rebase -i HEAD~3,控制台看起来像这样;
pick 9b97740 Changed Help and Feedback Activity to Fragment (#882)
pick 7e93db6 chore: Update app version (#922)
pick ca155b6 Added card view for instruments section (#884)
pick e815867 Removed AboutUs activity (#914)
pick ef5dfc2 test: removed Travis build time consuming UI tests
Run Code Online (Sandbox Code Playgroud)
它没有显示合并提交。有关更多信息,以下是来自Android Studio的版本日志。
我是否遵循正确的方法来压缩这些合并提交?还是可以完全压缩这些提交?这些压缩合并提交对我来说是一个小问题。非常感谢您的帮助和提示!:)
让我假设您有一个名为“development”的上游 repo 分支和名为“uiTests”的您自己的分支。并且您已经从fork/uiTeststo创建了一个 PR upstream/development(因此您有 2 个遥控器:fork和upstream)。
解决冲突后,日志中有一些混乱,但您已经测试过您的工作副本状态良好,应用程序工作,您的更改工作,一切顺利,您想要的只是让您的工作全部完成 1 次提交并更新公关。
一种简单的解决方案是运行:
git reset --soft upstream/development
Run Code Online (Sandbox Code Playgroud)
然后再次重新提交所有更改:
git add .
git commit
Run Code Online (Sandbox Code Playgroud)
在此之后,您将只在新的上游分支上提交 1 次更改。
假设您在“uiTests”分支中执行所有这些操作,您需要更新 PR 的所有内容是:
git push -f fork
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |