1、执行了merge但没有commit

git merge --abort

2、撤回上次或者上上次提交代码
要撤销上一次提交或上上次提交的代码,有两种常用的方法可以实现:

2.1. 使用 git revert 撤销提交:

  • 撤销上一次提交:git revert HEAD
  • 撤销上上次提交:git revert HEAD^

这些命令将创建一个新的提交,将先前提交的更改撤销,并将更改应用于代码库。可以使用 -n 选项来阻止自动提交,并在撤销所有所需的提交后手动提交更改。

2.2. 使用 git reset 回退提交:

  • 回退上一次提交:git reset HEAD~1
  • 回退上上次提交:git reset HEAD~2

注意,git reset 命令是危险的操作,它会丢弃提交历史记录,并且如果已经将更改推送到远程仓库,则可能会导致问题。

3、撤销到指定的提交

3.1. 使用 git log 命令查找要回退到的提交的 SHA-1 值或引用名称。例如,要查找提交记录并找到要回退到的提交的 SHA-1 值,使用以下命令:

git log --oneline

此命令将显示提交记录列表,每个提交记录都有一个唯一的 SHA-1 值和提交消息。

3.2. 使用 git reset 命令将分支回退到指定的提交。例如,如果要回退到 SHA-1 值为 abc123 的提交,使用以下命令:

git reset abc123

默认情况下,git reset 使用 “mixed” 模式,这将保留提交之后的更改,但将其放置在暂存区中。如果希望彻底丢弃提交之后的所有更改,使用 --hard 选项:

git reset --hard abc123

注意,这将删除提交历史记录,并且如果已经将更改推送到远程仓库,则可能会导致问题。

  1. 撤销 git add
    在Git中,可以使用git reset命令来撤销已经使用git add添加到暂存区的文件。有几种方法可以实现这个目标,取决于您的需求和操作情况。
  • 撤销所有已添加的更改:
    如果您想撤销所有使用git add添加到暂存区的更改,可以使用以下命令:
git reset HEAD

这会将所有暂存的更改移回工作目录,但不会影响实际的文件内容。

  • 撤销特定文件的更改:
    如果只想撤销某个特定文件的更改,可以运行以下命令:
git reset HEAD path/to/your/file

将"path/to/your/file"替换为要撤销更改的文件路径。

  • 撤销最后一次git add的更改:
    如果您只想撤销最后一次git add添加到暂存区的更改,可以使用以下命令:
git reset HEAD^

这会将最后一次提交(即最后一次git add)中的更改移回工作目录。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐