• 在Git上,提交记录有误,修改commit方法


    GitLab上,如果你发现提交(commit)有误,可以采取以下几种方式来修正,具体选择哪种方法取决于你的具体情况和需求:

    1. 修改最近一次提交(Amend)

    如果你只是想修改最近一次提交的信息(比如提交信息message错误,或者忘记添加某个文件),并且这个提交还没有被推送到远程仓库,或者你确定没有人基于这个错误的提交进行工作,你可以使用amend命令。

    1. # 首先,如果你需要修改提交中的文件
    2. git add <file>
    3. # 然后,使用amend命令修改最后一次提交。这会打开默认编辑器让你重写提交信息。
    4. git commit --amend
    5. # 如果你只想修改提交信息,而不改变文件内容,可以直接在命令中指定新的提交信息
    6. git commit --amend -m "新的提交信息"

    2. 强制推送(force push)

    完成amend之后,由于你改变了本地的历史记录,你需要用强制推送(force push)来更新远程仓库。注意:这将覆盖远程分支的历史,如果其他人已经基于旧的提交进行了工作,这将导致他们的仓库与你的不同步。在团队协作环境中要特别小心。

    1. git push origin <branch> --force
    2. # 或者使用更安全的选项(Git 2.0+
    3. git push origin <branch> --force-with-lease

    3. 如果提交已推送且不能直接amend

    如果错误的提交已经被推送到远程仓库,并且可能已经有其他人在其基础上进行了工作,直接使用amend并强制推送就不是一个好主意了。这时,你可以采用以下步骤:

    • 交互式重新提交(Interactive Rebase):使用git rebase -i HEAD~n命令(n为你要回溯的提交数量)来交互式地修改历史。在这个过程中,你可以选择“edit”(编辑)某个提交,然后对它进行修改,再继续rebase。
      1. # 假设你要修改的是最近的两次提交
      2. git rebase -i HEAD~2
      3. # 在文本编辑器中,你会看到提交列表,将第一个提交的那一行的pick改为edit,保存并退出。
      4. # 然后会停在这个提交上,你可以修改文件、提交信息等
      5. git add <file>
      6. git commit --amend
      7. # 继续rebase
      8. git rebase --continue

  • 相关阅读:
    maven 编译.../maven-metadata.xml 报错
    微火课堂:共享WiFi项目怎么代理,如何挑选合适的服务商?
    Redis缓存穿透、击穿、雪崩介绍
    AUTOSAR EcuM休眠阶段的具体实现详解
    bilibili和抖音之内容类型
    基于FPGA的模板匹配红外目标跟踪算法设计
    C|基础语法 控制台输入输出各类型数据
    C++贪心算法之乘船问题
    五分钟k8s入门到实战-应用配置
    RocketMQ集群监控平台rocketmq-console
  • 原文地址:https://blog.csdn.net/weixin_47000834/article/details/139742861