我有以下分支机构
master -> php-merge-2016
,master -> css-merge-2016
和master -> css-merge-2016 -> b4-selector-removal
。首先,我需要merge
b4-selector-removal-new
到php-merge-2016
。
目前我正在处理分支b4-selector-removal
,所有更改都已提交并推送以删除存储库,git status
显示&#34;工作目录已清除&#34; < / p>
因此,要将b4-selector-removal-new
合并到php-merge-2016
分支,我首先尝试在php-merge-2016
分支上。当我使用php-merge-2016
切换到git checkout php-merge-2016
时,它会在没有问题的情况下检出来再次git status
显示工作目录是干净的,因为我还没有制作任何变化。
为了做一些实验,我试图切换回b4-selector-removal-new
分支而不做任何事情。但是git现在说:
以下文件的本地更改将被结帐覆盖:
网站/所有/主题/基/ CSS / INFO-grid.css
网站/所有/主题/基/ CSS / info-grid.css.map
网站/所有/主题/桌面/ CSS / print.css
网站/所有/主题/桌面/ CSS / print.css.map
网站/所有/主题/移动/ CSS / IFA-upload.css
网站/所有/主题/移动/ CSS / ifa-upload.css.map
请在更改分支之前提交更改或存储更改 中止
有趣的是,上面显示的文件是我提交和推送的文件,然后在两个提到的分支之间来回切换。
为什么我收到此错误?有什么工作要做。我没有使用git checkout -f
,因为我不确定它会做什么。我对git
还不太熟悉,但却担心使用任何强迫某事的东西。
我在另一篇文章中看到过,我可以在签出另一个分支之前使用git reset --hard
。这是做什么的?如果我在我的情况下使用它,这会无害吗?它会解决这个问题吗?
请帮忙!
答案 0 :(得分:0)
创建备份。试试git reset --hard
如果这没有帮助,请阅读此Git - Difference Between 'assume-unchanged' and 'skip-worktree'
您可能为您的文件手动设置假设未更改或跳过工作树。 在这种情况下,更改不会受到git状态的影响。