【问题标题】:TortoiseHg - How to remove files from a branch after pushing to remote repositoryTortoiseHg - 推送到远程存储库后如何从分支中删除文件
【发布时间】:2016-05-27 16:25:58
【问题描述】:

我已经修改、提交和推送fileAfileBfileC。我应该只推送“fileA”和“fileB”,但由于这个不需要的fileC,我的拉取请求已被拒绝。

考虑到我已将这些更改推送到远程存储库,有没有办法让我在本地解决此问题,以便我的拉取请求不再包含 fileC

【问题讨论】:

    标签: mercurial repository branch commit tortoisehg-2.0


    【解决方案1】:

    只需创建一个包含所有必要提交的新头,开始在您的“错误”变更集所基于的同一个父级分支。然后为您创建的新头部创建一个新的拉取请求。

    之后,您可以选择使用包含不需要的 fileC 的变更集删除不需要的头,但这不是必需的。 strip 命令会派上用场(它是一个扩展,需要在您的 mercurial 配置文件中激活)

    【讨论】:

      【解决方案2】:

      有两种方法可以做到这一点: 1-修复存储库并更正历史记录,以便您的错误提交也从历史记录中清除:

      a- 做一个 git 日志:

      Desphilboy@computer:~/workspace/project(master)$ git log
      commit dee4f318231b07ca3dbf213579dbfdeb89f72591
      Author: Desphilboy<desphilboy@yahoo.com>
      Date:   Wed Jul 13 11:04:43 2016 +1000
      
          feat(project): this is a wrong commit pushing FileC
      
      commit e9772baa0abefc3423db2e6b518c71bade74abd9
      Author: Somebody else<someoneelse@yahoo.com>
      Date:   Tue Jul 12 12:05:18 2016 +1000
      
          feat(project): added new API endpoint 
      ....    
      

      b- 对错误提交之前的哈希码进行重置 --soft:

      Desphilboy@computer:~/workspace/project(master)$ git reset --soft e9772baa0abefc3423db2e6b518c71bade74abd9
      

      这将在保留所有更改的同时恢复您的提交。如果您现在执行 git status,您将看到提交后的所有更改

      c- 删除 FileC 并再次提交并使用 -f 开关再次推送

      Desphilboy@computer:~/workspace/project(master)$ rm FileC 
      Desphilboy@computer:~/workspace/project(master)$ git rm FileC
      Desphilboy@computer:~/workspace/project(master)$ git add .
      Desphilboy@computer:~/workspace/project(master)$ git commit -m "some commit message"
      Desphilboy@computer:~/workspace/project(master)$ git push -f
      

      2- 保存历史记录: 您可以简单地删除 fileC,将其从 repo 中删除,再次提交并将本地推送到 master。这将纠正您的问题,但会对 master 进行额外的提交,并将显示在历史记录中。

      【讨论】:

        猜你喜欢
        • 2020-05-31
        • 1970-01-01
        • 2012-08-31
        • 2011-01-09
        • 1970-01-01
        • 1970-01-01
        • 2020-10-11
        • 1970-01-01
        • 2012-08-31
        相关资源
        最近更新 更多