根据之前的提交推送更改?

Push changes based on previous commit?

GitLog

我在最近一次提交之前检查了提交,做了一些更改,现在我想 overwrite/merge 我目前拥有的代码("Refined zoom..." 的编辑版本)与最近的提交("Added call API...")。但是,Android studio 不允许我push,因为head 是脱离的。我该怎么做才能解决这个问题?我是否创建一个新分支并尝试合并?删除最新的提交然后尝试推送?感谢任何帮助。

即使在基本 git(命令行等)中,如果您尝试拉动分离的头,它也会抱怨 - 这是因为它真的不知道如何处理合并(您没有分支)。

所以,正如您所建议的,最简单的(恕我直言)方法是创建一些分支,然后将您需要的任何内容合并到其中(我对 Android 工作室一无所知,所以我会举个例子在 git 命令行中)。

这些是一般适用于分支的基本步骤:

  • 创建分支:git branch new_branch
  • 移动到那个分支:git checkout new_branch
  • 提交您的更改(仍未提交):git commit -am "my changes"(您可能需要先使用 git add ... 添加任何新文件)。
  • 随意合并:git merge <some commit hash, branch-name, or tag>
  • 解决任何合并问题(如果有的话)
  • 然后你可以推送:git push origin new_branch