【问题标题】:How to use current checked-out files as latest Branch?如何使用当前签出的文件作为最新的分支?
【发布时间】:2019-02-26 01:41:16
【问题描述】:

我做了很多更改,恢复了它们,最后我当前的工作文件变成了无头文件。

如何将我当前的文件设置为上一个 Head 的最新版本。

我尝试了合并,但遇到了很多冲突,而且我没有找到让我当前的工作文件“赢得”所有冲突的方法。

我只在本地工作,偶尔会更新一个 repo @github。其他开发人员无需担心 gitub 签入之间的更改。 (当其他开发人员对此进行处理时,他们不需要查看提交历史记录)

【问题讨论】:

    标签: windows-7 tortoisegit


    【解决方案1】:

    当您签出的修订版没有分支时,这称为分离 HEAD 而不是 HEADless...“使其成为新 HEAD”是什么意思? HEAD 被定义为已签出的修订版。另外,“最新分支”是什么意思?

    我假设您想让当前的 HEAD 成为您的 master 分支,对吗?为此,只需(强制)在您的 HEAD 修订版上创建一个新分支并将其命名为 master - 然后切换到它并强制将您的更改推送到您的远程存储库。

    请记住:分支(或标签)只是一个指向修订版(及其所有历史记录)的标签。因此,您可以通过我在上述文本中描述的步骤轻松地将其指向另一个修订版。

    【讨论】:

      【解决方案2】:

      如果您希望将所有当前文件内容放在另一个分支之上,请在另一个分支上进行混合重置,签出该分支,然后提交您的更改。然后,您将拥有当前工作树作为分支顶部的新提交。

      混合重置只会将 HEAD 移动到您的另一个分支,但不会修改索引或工作树内容。

      【讨论】:

        【解决方案3】:

        有两种方法可以解决您的情况:

        1。合并和解决冲突

        正如您所写,您已经知道如何合并两个分支,但您会遇到很多冲突。为了解决冲突使用TortoiseGitResolve...

        在新窗口中标记所有文件并点击Resolve conflict using 'mine'(将使用您的HEAD文件的版本)。

        详情请见TortoiseGit Manual - Resolving Conflicts

        2。使用选项力推送

        要执行推送,请使用 TortoiseGitPush... 打开推送对话框

        选择 Ref 和 Destination Branches 并使用 Option Force: May discard unknown changes

        详情请见TortoiseGit Manual - Push

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-27
          • 1970-01-01
          • 2018-12-12
          • 1970-01-01
          • 2021-08-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多