git log --oneline --graph
Git rebase使用: https://www.jianshu.com/p/f7ed3dd0d2d8
-----------------------------------------------------------------------------------------------------------
git pull --rebase
如果远程git服务器仓库分支已经有了更新上,通常git pull时候将会默认执行merge合并提交。相当于执行两个操作:
git fetch origin
git merge origin/master
实际上除了合并外还有一种方法,那就是执行rebase来同步变化,它通常更有用,git提交历史也更清晰,rebase方法需要显性指定--rebase参数:
git pull --rebase ,他相当执行:
git fetch origin
git rebase origin/master
合并方法更简单,更容易理解。但是很多时候我们更需要的是rebase,我们也可以通过设置,设置rebase为pull时候默认执行的动作:
git config --global pull.rebase true
-----------------------------------------------------------------------------------------------------------
【git】强制覆盖本地代码(与git远程仓库保持一致)
git pull 强制覆盖本地的代码方式,下面是正确的方法:
git fetch --all
然后,你有两个选择:
git reset --hard origin/master
或者如果你在其他分支上:
git reset --hard origin/<branch_name>
说明:
git fetch从远程下载最新的,而不尝试合并或rebase任何东西。
然后git reset将主分支重置为您刚刚获取的内容。 --hard选项更改工作树中的所有文件以匹配origin/master中的文件。