git - 如何部署之前的提交?

标签 git

假设我的 git 日志有 3 次提交:

c3
c2
c1

部署c3后,我意识到生产中出现了问题。

如何在不触及或删除 c3 的情况下部署 c2

在我的第一次尝试中,我执行了 git checkout c2,但随后 c3 消失了。

注意:我不使用git push

最佳答案

我认为你进展顺利。使用:

git checkout c2

您现在处于分离的 HEAD 状态。你的提交 c3 并没有消失;您可以稍后切换回它:见下文。

现在再次部署到您的生产服务器:

dploy ...

现在,如果您想从上次中断的地方继续工作:

git checkout c3

更多详情

当你执行git checkout c2时;您将 HEAD 移动到提交 c2。如果你现在运行 git log ;您只会看到 c2 之前的日志消息(因此看不到 c3)。如果您想再次继续工作;您可以使用以下命令移回到分支的尖端:

git checkout <your-branch-name>

关于git - 如何部署之前的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446768/

相关文章:

Git,使用不同的行尾再次推送一次

混帐包 : two-way all branches sync between local and remote repo

git - 在什么情况下 `git pull` 可能有害?

git - 什么时候应该使用 git 孤立分支?

git - 为什么我在本地 VM 上登录时,在共享文件夹中会得到不同的 git 状态?

git - Mercurial 与 GIT 和 SVN 相比如何?

git - cygwin git 认为文件以前有不同的模式

git - svn 到 git 迁移 : incomplete history

git - 无法提交 CodeCommit

git - 在控制台中显示完整的 Git 提交消息