关于恢复到git中的提交有一些问题,但我想确定。这个SO页面是最有帮助的页面: How to revert Git repository to a previous commit?
我有一个先前的提交,比如客户说1.0,它已经完成了。我提交(不确定我是否推送)然后创建一个新分支来处理下一个版本。现在,由于某种原因,1.0的二进制文件“已损坏”,我需要返回但仍保留当前的修改。
git log显示了这个:
commit be01d2a99ec35bbfcdbca47d5570acef8c69b275
Author: Yko <xxxxxxxxx@gmail.com>
Date: Mon Apr 25 10:25:35 2011 -0400
那么,我需要采取的步骤是什么?
1. git add .
2. git commit "good stopping point for v1.1"
3. git checkout be01...
我假设步骤#3修改了所有源代码?这是一个XCode项目(iPhone应用程序),所以我只需重新加载项目文件,构建,并拥有新的二进制文件.app?
然后,使用
返回最新版本1.1git checkout "latest commit #"?
谢谢,
我是新人,不想失去任何工作。感谢帮助!!!
编辑:基于几个答案,我想澄清一下。 我不想合并任何分支机构。我想回到1.0版并重建源代码以创建一个新的二进制文件,然后跳回到我所在的位置。假设verision 1.0的苹果为1.00美元,1.10版的苹果为1.10美元。我想回到1.0版,重建苹果为1.00美元的源代码,将二进制文件提供给客户x。然后,跳回1.10版本,继续处理它。
再次感谢!!!
答案 0 :(得分:4)
你可以这样做:
git tag 1.0
git add .
git commit -m "good stopping point for v1.1"
git tag 1.1
git checkout 1.0
.. do your build stuff/whatever
git checkout 1.1
答案 1 :(得分:0)
你的步骤很好,你不会失去任何以这种方式做的工作。您可能需要查看git stash
命令,以避免在步骤2中出现问题。