【问题标题】:Push changes based on previous commit?根据先前的提交推送更改?
【发布时间】:2018-06-08 20:46:07
【问题描述】:

GitLog

我在最近一次提交之前检查了提交,进行了一些更改,现在我想用最近的提交覆盖/合并我当前拥有的代码(“Refined zoom...”的编辑版本)( “添加了调用 API ...”)。但是,Android Studio 不允许我推送,因为头部是分离的。我该怎么做才能解决这个问题?我是否创建一个新分支并尝试合并?删除最新的提交,然后尝试推送?任何帮助表示赞赏。

【问题讨论】:

  • 使用合适的 git 工具或控制台。 Android Studio 的主要任务不是版本控制
  • 另外看来你需要学习git基础知识,这超出了问题的范围
  • @Chisko 第一条评论可能有点不公平,如果有人想使用他们的“集成”IDE 来使用 git,那没关系(可能是废话) - 我相信它可以做一些基本的 git 任务,例如分支和提交/推送。他的主要问题似乎是他不在一个分支上......我说这是一个只使用命令行的人,因为大多数集成 (IMO) 都很差。
  • @code_fodder 尝试查看 AS 默认情况下在文件上显示的差异以及 git 最终得出的结果,例如,在仅切换文本字段的布局中。 AS 基本上会说你移动了所有的行,而 git 只会提出被改变的 exact 行。这就是我的观点。

标签: android git android-studio git-detached-head


【解决方案1】:

即使在基本的 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

【讨论】:

    猜你喜欢
    • 2019-07-07
    • 2018-07-09
    • 2020-06-24
    • 2019-11-28
    • 2012-11-28
    • 2014-07-13
    • 1970-01-01
    • 2021-08-30
    • 2013-08-31
    相关资源
    最近更新 更多