【问题标题】:Ignore Git Commit [duplicate]忽略 Git 提交 [重复]
【发布时间】:2017-11-18 21:51:50
【问题描述】:

我正在为当前项目开发 Git repo,在我的项目中有一些 abc.php 文件。

我的分支是develop

目前我的本地和远程分支代码是一样的,现在我做了一些 abc.php 中的更改。需要移动(远程分支)。

所以我做了以下方式。

git add -A --> 添加文件

git commit -m "changes done in abc.php" --> 文件已提交

那么我必须使用git push origin develop --> 将我的更改推送到远程分支

但现在我意识到,我不想要我的最新提交.. 是否可以忽略我的最新提交?请帮我解决一下

提前致谢!..

【问题讨论】:

    标签: git github


    【解决方案1】:

    如果你已经提交了垃圾但没有推送,

    git reset --soft HEAD~1
    

    HEAD~1 是 head 之前提交的简写。或者,您可以参考要重置到的哈希的SHA-1。 --soft 选项将删除提交,但它会将所有更改的文件保留为“要提交的更改”,就像 git status 所说的那样。

    如果您想摆脱自 head 之前的提交以来对工作树中跟踪文件的任何更改,请改用 --hard。 现在,如果你已经推了有人拉了,这通常是我的情况,你不能使用 git reset。但是,您可以执行 git revert,

    git revert HEAD
    

    这将创建一个新的提交,它会反转由意外提交引入的所有内容。

    【讨论】:

      【解决方案2】:

      试试:

      git reset HEAD~1

      git push -f

      【讨论】:

        【解决方案3】:

        取消提交就是应用其差异的倒数!

        我们可以重定向提交的差异以取消到命令patch --reverse

        git diff HEAD^ | patch --reverse
        

        为了更简单,还有 git revert

        例如,取消最后三个提交:

        git revert HEAD~3..HEAD
        

        或者取消一个特定的提交: :

        git revert 444b1cff
        

        然后你可以干净地推送在服务器上获得的提交。任何以取消提交为基础工作的协作者都必须在正确的时间管理冲突..

        【讨论】:

          猜你喜欢
          • 2015-12-30
          • 2019-12-11
          • 2011-10-27
          • 2021-01-03
          • 2013-12-20
          • 1970-01-01
          • 2023-03-10
          • 2015-12-03
          • 2010-11-11
          相关资源
          最近更新 更多