# 撤回远程的提交

  • 不保留修改
git reset --hard commitid  (head^回滚到上一个commit)

git push --force origin master
  • 保留修改
git reset --soft commitid  (head^回滚到上一个commit)

git stash

git push --force origin master

git stash pop

# 获取历史版本文件

git checkout commit_id -- filename
取出暂存区的文件:git reset -- 文件名

取消这次在工作区的修改: git checkout -- 文件名

把文件回滚到以前的某个版本的状态:git checkout commit_id -- filename

# 提交到一个commit

  • git commit --amend 加--no-edit参数,代表不编辑commit message的同时合并当前修改到最后一个commit
git commit --amend --no-edit
git commit --amend -m 'xxx'
git fetch --prune origin