搜索
您的当前位置:首页正文

GitPull强制覆盖本地文件

来源:小奈知识网
GitPull强制覆盖本地⽂件

git在切代码分⽀时经常碰到这样的问题:error: Your local changes to the following files would be overwritten by merge有时本地并没有需要保存的修改,所以可以通过以下⽅式把本地⽂件强制覆盖掉。> git fetch --all

> git reset --hard origin/master> git pull

1、git fetch 相当于是从远程获取最新到本地,不会⾃动merge,如下指令:

 git fetch orgin master //将远程仓库的master分⽀下载到本地当前branch中

 git log -p master ..origin/master //⽐较本地的master分⽀和origin/master分⽀的差别 git merge origin/master //进⾏合并

也可以⽤以下指令:

git fetch origin master:tmp //从远程仓库master分⽀获取最新,在本地建⽴tmp分⽀git diff tmp //將當前分⽀和tmp進⾏對⽐git merge tmp //合并tmp分⽀到当前分⽀

2. git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master

git pull 相当于从远程获取最新版本并merge到本地在实际使⽤中,git fetch更安全⼀些git reset--hard origin/master

git reset (–mixed) HEAD~1

回退⼀个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地⽂件(未提交的也 不受影响)

git reset –soft HEAD~1

回退⼀个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的⽂件(未提交的也不受影响) git reset –hard HEAD~1

回退⼀个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的⽂件也将被恢复的版本替换

因篇幅问题不能全部显示,请点此查看更多更全内容

Top