Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在回溯我的历史,以找出究竟是什么破坏了我的应用程序的 iOS5.1。我已将其跟踪到单个提交,但是该提交有很多文件。
我希望git checkout [commit before iOS5 break]并将所有破坏 iOS5 的提交(即下一次提交)的更改合并到它之前的提交中,而无需提交更改。这样我就可以简单地还原每个文件,直到找到具有破坏 iOS 5 的更改的文件。
git checkout [commit before iOS5 break]
关于如何从提交中获取更改并将它们放在我当前的分支上而不提交它们的任何想法?
谢谢。
您必须先创建一个分支:
git checkout -b fix bcd7c93 git merge -n 8b53674 # merge without auto-commit
您的解决方案创建:
HEAD
fix
这个想法是能够修复错误(修改了一个或两个文件)并将其合并回主分支,而无需重复您发现有问题的提交的所有其他文件部分。
很抱歉回答我自己的问题,但事实证明cherry-pick有这个选项:
cherry-pick
git checkout -f bcd7c93 git cherry-pick -n 8b53674