git pull类似于/反向git push -f?

ma1*_*w28 38 git git-pull git-push git-fetch

有时候,尤其是 当我是唯一一个在远程存储库上工作的人时,我喜欢用git rebase -i和重写历史git push origin master -f.

如何在git pull origin master没有合并的情况下强制执行?我尝试了-f选项,但是没有用.我只想重写我本地git仓库的历史记录以匹配远程(原点)的历史记录.

ma1*_*w28 54

git fetch
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

  • 当然,在`git fetch`之后. (4认同)
  • 注意,这仅适用于干净的分支.本地工作副本中的任何更改或新提交都将丢失.我用`rebase`添加了一个答案. (4认同)

Jas*_*ary 17

尊重它已有几年了,MattDiPasquale答案将破坏任何本地更改或提交.

如果您有本地更改或提交,但需要重写历史记录,请运行:

git fetch origin
git rebase origin/master
Run Code Online (Sandbox Code Playgroud)

  • 如果您需要保留的是当前未分级的工作(不是本地提交),只需输入`git stash && git fetch origin && git reset --hard origin/master && git stash pop` (11认同)