如下图所示,当我从dev分支切换到master分支时,报如图错误
补充信息
:dev分支中原来有一个Header.php文件,我把它改名为header.php了,但是master分支还是叫Header.php。
补充信息
:dev分支中原来有一个Header.php文件,我把它改名为header.php了,但是master分支还是叫Header.php。
你是想移除 master 分支的 Header.php 文件,但是现在切不过去么?
如果你没有提交的话,先提交一下再试试:
git add header.php
git commit -m 'commit message'
git checkout master
跟大小写识别有关系,工作区和暂存区都干净的话这样试试:
git mv header.php foo.php
git add foo.php
#git status //如果失败在这里 log 一下贴出来
git stash
git checkout master
git rm Header.php
git checkout dev
git stash pop
git mv foo.php header.php
在git中改名操作并不是真正的改名操作,而是删除这个文件然后重现添加一个新的文件,
本地改名操作相当于把原来的已经被跟踪的文件Header.php删掉了,然后新建了一个header.php文件,在git中新建的文件属性是未跟踪未缓存状态,所以这个时候执行 checkout,会提示你有未跟踪的文件会丢失被覆盖,需要执行一下
git add 把新的文件添加到缓存中,变成跟踪状态。
不建议直接更改文件名,应使用git mv
命令修改:git mv Header.php headr.php
相当于执行了三条命令:mv Header.php header.php
git rm Header.php
git add header.php
5 回答2.7k 阅读
3 回答2.6k 阅读
3 回答942 阅读
你截一下
git status
的图吗