📜  git 丢弃所有未推送的提交 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:41:28.235000             🧑  作者: Mango

Git丢弃所有未推送的提交 - Shell/Bash

在开发过程中,我们有时会创建很多提交(commit),但并不是所有的提交都需要推送(push)到远程仓库,有时我们需要将不必要的提交清理掉。

下面介绍一种在Shell/Bash中使用Git命令丢弃(撤回)所有未推送的提交的方法。

步骤
  1. 切换到当前Git工作目录下:
cd /path/to/working/directory
  1. 确保所有修改(包括新增、修改、删除等)都已经提交(commit):
git add .
git commit -m "提交说明"
  1. 撤回所有未推送的提交:
git reset --hard origin/分支名

其中,“分支名”是你当前所在的分支名称,如果不确定可以使用以下命令查看当前所在分支:

git branch

其中带星号的就是当前分支,例如:

* master
  dev
  1. 最后,强制将本地代码与远程仓库同步:
git pull
注意事项
  • 本操作会将所有未推送的提交全部撤销,请确保你要操作的是正确的分支。
  • 本操作将清空所有未提交的修改,请务必在执行前先提交(commit)。
  • 本操作将清空所有未提交的修改,如果你有重要的修改还未提交请先备份。
结论

使用以上命令可以快速地清除所有未推送的提交,如果你想保留某些提交,可以使用如下命令来清除指定的提交:

git reset --hard HEAD~1

其中,1表示要清除的提交次数,上述命令将撤销一次提交。如果你要撤销多次提交,将数字1改为对应的次数即可。