“Your local changes to the following files would be overwritten by checkout”

“Your local changes to the following files would be overwritten by checkout” (切换分支)解决:
当前分支有未跟踪的文件,checkout 命令会覆盖它们,请缓存( stash )或者提交( commit )。

 

1.未跟踪文件的内容改动很重要,保存修改
//第一种方式 存到暂存区
git add .
git stash 
//取出的时候使用 
git stash pop

//第二种方式 发起一个commit 存到提交历史
git add.
git commit -m "commit message"


2.未跟踪文件的内容改动不重要,放弃修改

未使用 git add 缓存代码时。

可以使用 git checkout -- filepathname 
(比如: git checkout -- readme.md  ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所以的文件修改可以使用 git checkout .

已经使用了  git add 缓存了代码。
可以使用  git reset HEAD filepathname 
(比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所有的缓存可以使用 git reset HEAD

已经用 git commit  提交了代码。
git reset --hard HEAD^ 来回退到上一次commit的状态。
此命令可以用来回退到任意版本:git reset --hard  commitid

 

每天努力一点,每天都在进步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章