Git更新本地仓库及冲突"Commit your changes or stash them before you can merge"解决
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
2. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
当遇到"Commit your changes or stash them before you can merge"冲突时,这表明GIt保护您本地的代码修改,避免重要的修改丢失。有三种方法解决:
1. 提交代码修改:
git commit -m "My message"
2. Stash it:
Stash存储充当堆栈,您可以在其中推送更改,并以相反的顺序弹出它们
存储:
git stash
进行合并,然后拉出存储的修改:
git stash pop
3. 丢弃本地的修改:
git reset --hard
或者
git checkout -t -f remote/branch
或者为特定文件丢弃本地修改:
【Git更新本地仓库及冲突"Commit your changes or stash them before you can merge"解决】git checkout filename
推荐阅读
- Gitlab|Gitlab CI/CD教程及npm包构建发布实战
- github|【GitHubDailyShare】现代机器学习系统的设计原理以及实现
- 2022年官网下安装GIT最全版与官网查阅方法
- winform中更新UI控件的方案介绍
- Gitlab-ci 替代 webhook 触发Jenkins job
- vue3技术整理|vue3技术整理 - 更新完毕
- LocalStorage本地存储和sessionStorage会话存储
- 前端|JavaScript 存储对象 -sessionStorage (会话存储) 和 localStorage(本地存储)以及 cookie(保存用户信息) 的区别
- Web Storage 本地存储(Local Storage,Session Storage)和cookies(存储在用户本地终端上的数据)的区别浅说
- javascript|HTML5本地存储与会话存储