一、撤销git add
git reset HEAD
二、合并commit提交步骤(rebase)
- 使用git rebase -i命令进行交互式的rebase。-i选项表示交互式。HEAD~n表示你想要合并的提交数量,其中n是一个整数。例如,如果你想要合并最近的3个提交,你可以执行:
git rebase -i HEAD~3
- 这将会打开一个文本编辑器,列出你选择的提交。请需要合并的commit提交前缀将pick更改为s或f。s会将提交合并到前一个提交,并允许你编辑提交信息。f会将提交合并到前一个提交,但会丢弃新的提交信息。
例如,将提交B和C合并到提交A:
pick commitA
s commitB
f commitC
- 按Esc退出,接着输入:wq保存退出 ,再次输入:wq保存退出;这时Git会执行rebase操作并合并选定的提交。你可以使用git log命令查看合并后的提交历史。
git log
- 如果你需要将合并后的提交推送到远程仓库,你需要使用–f选项
git push -f 强推覆盖
附: 在rebase时如若出错,直接:q!强制退出,切勿输入wq,再使用git rebase–abort退出rebase模式
三、git commit相关操作
- 上远程仓库不想更新commit 信息
git commit --amend --no-edit
git push -f origin 分支名称 (这种形式必须要加上 -f 强制推送)
- commit提交代码时跳过ESLint检查
git commit --no-verify -m "Your commit message"
四、git stash相关操作
git stash 是一个非常有用的命令,它可以帮助你临时保存当前工作目录的更改,以便在切换到其他分支或执行其他操作时使用。以下是一些与 git stash 相关的常见操作:
- 保存当前更改
***已废弃***
git stash save "Your stash message"
git stash save -u "your stash message" 储存包括未跟踪的文件(新增文件)
尽管 git stash save 命令仍然可以在许多 Git 版本中使用,但官方文档建议改用 git stash push 命令,因为它提供了更多选项和更好的灵活性。以下是使用 git stash push 命令的等效示例:
git stash push -m "Your stash message"
git stash push -u "your stash message" 储存包括未跟踪的文件(新增文件)
- 查看已保存的stash
git stash list
- 应用某个stash存储
git stash apply stash@{0} @{0}为stash列表的索引值,需要应用哪个就写哪个的,可以用步骤 2 查看对应索引
- 应用并删除某个stash存储
git stash pop stash@{0}
- 删除某个stash存储
git stash drop stash@{0}
- 创建并切换到新分支,将存储应用到新分支
git stash branch new-branch-name stash@{0}
- 删除所有stash存储
git stash clear
五、git修改分支名称
- 修改本地分支名称
git branch -m oldBranchName newBranchName
- 将本地分支的远程分支删除
git push origin :oldBranchName
- 将改名后的本地分支推送到远程,并将本地分支与之关联
git push --set-upstream origin newBranchName
六、git含有其他人提交的场景
- 拉取最新代码
git pull 拉取代码同步
- 如有冲突:在本地手动解决冲突,然后使用 git add 命令将解决冲突的文件标记为已解决
git add ./
git rebase --continue 继续执行未完成的rebase操作
git push -f
七、强制拉取远程分支代码覆盖掉本地分支
git fetch --all
git reset --hard origin/<branch-name>
git pull