首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >恢复到git中的特定提交,构建,然后恢复到最新更改

恢复到git中的特定提交,构建,然后恢复到最新更改
EN

Stack Overflow用户
提问于 2011-05-02 23:26:35
回答 2查看 3.8K关注 0票数 8

在git中恢复到提交有一些问题,但我想确认一下。这个SO页面是最有帮助的:How to revert Git repository to a previous commit?

我有一个以前的提交,比如说客户的1.0,它已经完成了。我提交(不确定是否推送),然后创建一个新的分支来处理下一个版本。现在,由于某些原因,1.0的二进制文件被“破坏”了,我需要返回,但也要保留当前的修改。

git日志显示:

代码语言:javascript
运行
复制
commit be01d2a99ec35bbfcdbca47d5570acef8c69b275
Author: Yko <xxxxxxxxx@gmail.com>
Date:   Mon Apr 25 10:25:35 2011 -0400

那么,我需要采取的步骤是什么?

代码语言:javascript
运行
复制
1. git add .
2. git commit "good stopping point for v1.1"
3. git checkout be01...

我假设第三步修改了所有的源代码?这是一个XCode项目(iPhone应用程序),所以我只需要重新加载项目文件,构建,并拥有新的二进制.app?

然后,返回到最新版本1.1

代码语言:javascript
运行
复制
git checkout "latest commit #"?

谢谢,

我是新来的,不想丢掉任何工作。感谢您的帮助!

编辑:根据几个答案,我想澄清一下。1.我不想合并任何分支。我想回到1.0版本并重新构建源代码以创建一个新的二进制文件,然后跳回我所在的位置。假设1.0版本的苹果价格是1.00美元,而1.10版本的苹果价格是1.10美元。我想回到1.0版本,重新构建源代码,其中苹果的价格是1.00美元,将二进制文件交给客户x。然后,跳回1.10版本,继续工作。

再次感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-02 23:51:06

你可以这样做:

代码语言:javascript
运行
复制
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
票数 4
EN

Stack Overflow用户

发布于 2011-05-02 23:35:03

您的步骤很好,这样做不会丢失任何工作。如果您不是真正处于一个好的停止点,那么您可能希望检查git stash命令以避免步骤2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5859020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档