git如何撤销commit保留本地

不及物动词 其他 838

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要撤销已经提交的 commit 并保留本地修改,可以使用 Git 的命令:

    1. 首先,使用以下命令查看所有的 commit 记录,获取想要撤销的 commit 的哈希值:

    “`shell
    git log
    “`

    这会列出所有的 commit 记录,包括 commit 的哈希值、作者、日期和提交信息。

    2. 然后,使用以下命令撤销将要撤销的 commit:

    “`shell
    git revert
    “`

    这会创建一个新的 commit,来撤销指定的 commit 的修改。你可以编辑撤销 commit 的信息。

    3. 最后,如果你想保留本地的修改而不提交,可以使用以下命令创建一个新的分支来保存这些修改:

    “`shell
    git branch
    “`

    这会在当前 commit 创建一个新的分支,以保存本地的修改。

    通过以上步骤,你可以撤销已提交的 commit 并保留本地的修改。记住,Git 的撤销操作会创建新的 commit,因此最好在撤销前先备份好代码,以防不测。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Git提供了多种撤销commit的方法,其中保留本地更改的方法有以下几种:

    1. 使用git reset:git reset命令允许我们将HEAD指针和分支指针回退到指定的commit。要撤销最后一次commit并保留本地更改,可以使用以下命令:
    “`
    git reset –soft HEAD~1
    “`
    这个命令将HEAD指针和分支指针回退到上一个commit,并且保留了本地更改。你可以使用git status命令查看本地更改是否仍然存在。

    2. 使用git revert:git revert命令可以创建一个新的commit来撤销指定的commit。要撤销最后一次commit并保留本地更改,可以使用以下命令:
    “`
    git revert HEAD
    “`
    这个命令将创建一个新的commit,撤销了当前的commit,并保留了本地更改。你可以使用git log命令来查看新的commit是否已经创建。

    3. 使用git stash:git stash命令允许我们将当前的工作目录的更改保存到一个临时区域,以便稍后再次应用。要撤销最后一次commit并保留本地更改,可以使用以下命令:
    “`
    git stash save “撤销commit但保留本地更改”
    git stash drop stash@{0}
    “`
    第一行命令将本地更改保存到stash中,而第二行命令会删除stash中的最后一次保存。这样,你就可以撤销commit并保留本地更改了。

    4. 使用git cherry-pick:如果你只想将某个commit的更改撤销并保留本地更改,可以使用git cherry-pick命令。首先,使用以下命令查找要撤销的commit的commit hash:
    “`
    git log
    “`
    然后,使用以下命令将commit的更改应用到当前分支上:
    “`
    git cherry-pick
    “`
    这样,你就可以将指定的commit的更改撤销并应用到当前分支上。

    5. 使用git rebase -i:git rebase -i命令允许我们交互式地重写commit历史。如果你想要撤销某些commit并保留本地更改,可以使用以下命令:
    “`
    git rebase -i HEAD~
    “`
    这个命令将打开一个交互式的文本编辑器,你可以在其中选择要撤销的commit,并保留你的本地更改。编辑完成后,保存退出编辑器,git会重新应用commit并保留你的本地更改。

    无论你选择哪种方法,都要小心处理撤销commit的操作,以免丢失重要的更改或者造成混乱。在进行任何git操作之前,最好先备份你的代码,以防万一。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Git中,撤销一个commit并保留本地修改可以通过以下步骤来实现:

    1. 查看commit记录:
    使用`git log`命令查看当前分支的commit记录,找到要撤销的commit的哈希值(commit ID)。

    2. 撤销commit:
    使用`git revert`命令来撤销commit。使用以下命令将指定的commit撤销:
    “`
    git revert
    “`
    例如,如果要撤销的commit的ID是`abcd1234`,则可以运行以下命令:
    “`
    git revert abcd1234
    “`
    运行该命令后,Git会自动创建一个新的commit,该commit的修改内容是撤销指定commit的修改。

    3. 撤销commit后修改本地文件:
    撤销commit后,本地文件会恢复到撤销之前的状态。你可以手动修改文件以修复错误或做出其他必要的更改。

    4. 提交修改:
    在完成对本地文件的修改后,使用`git add`命令将修改添加到暂存区,然后使用`git commit`命令进行提交,以保存对文件的修改。

    下面我们将逐步详细讲解每个步骤。

    ## 步骤1:查看commit记录

    使用`git log`命令查看当前分支的commit记录,可以看到类似如下的信息:
    “`
    commit abcd1234ef5678901
    Author: Your Name
    Date: Mon Oct 1 10:00:00 2022 +0800

    Commit message here
    “`
    其中,`abcd1234ef5678901`就是commit的ID。

    ## 步骤2:撤销commit

    使用`git revert`命令来撤销commit。运行以下命令:
    “`
    git revert
    “`
    例如,如果要撤销的commit的ID是`abcd1234`,则运行以下命令:
    “`
    git revert abcd1234
    “`
    运行该命令后,Git会自动打开文本编辑器供你编辑撤销commit的默认提交信息。如果你不需要修改提交信息,直接保存并关闭编辑器即可。

    ## 步骤3:撤销commit后修改本地文件

    撤销commit后,本地文件会恢复到撤销之前的状态。你可以手动修改文件以修复错误或做出其他必要的更改。

    ## 步骤4:提交修改

    在完成对本地文件的修改后,使用`git add`命令将修改添加到暂存区,然后使用`git commit`命令进行提交,以保存对文件的修改。
    “`
    git add
    git commit -m “Commit message here”
    “`
    其中,`
    `是要添加到暂存区的文件名,可以是单个文件或文件夹路径。

    完成以上步骤后,撤销的commit就会被保留在本地,同时你也可以提交对文件的修改。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部