【发布时间】:2016-12-29 06:48:08
【问题描述】:
我有以下分支
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 显示“工作目录很干净”
所以为了将b4-selector-removal-new 合并到php-merge-2016 分支,我首先尝试在我的php-merge-2016 分支上。当我使用git checkout php-merge-2016 切换到php-merge-2016 时,它会毫无问题地被签出,这里git status 再次显示工作目录是干净的,因为我还没有进行任何更改。
只是为了做一些实验,我尝试切换回b4-selector-removal-new 分支而不做任何事情。但是git现在说:
您对以下文件的本地更改将被结帐覆盖:
站点/所有/主题/base/css/info-grid.css
站点/所有/主题/base/css/info-grid.css.map
网站/所有/主题/桌面/css/print.css
网站/所有/主题/桌面/css/print.css.map
网站/所有/主题/mobile/css/ifa-upload.css
网站/所有/主题/mobile/css/ifa-upload.css.map
请在切换分支之前提交您的更改或存储它们。
中止
有趣的是上面显示的文件是我在两个提到的分支之间来回切换之前最后提交和推送的文件。
为什么我会收到此错误?解决方法是什么。我没有使用git checkout -f,因为我不确定它会做什么。我对git 还不是很熟悉,但我很担心使用任何会强制执行某些操作的东西。
我在另一篇文章中看到我可以在签出到另一个分支之前使用git reset --hard。这是做什么的?如果我在我的情况下使用它会无害吗?能解决问题吗?
请帮忙!
【问题讨论】:
-
您是 Windows 用户吗?告诉我你的行尾。
-
我在 Ubuntu 14.04 LTS 上。
-
有什么建议吗?
-
git status在文件被忽略时显示“干净的工作目录”。你的.gitignore是什么?您也可以通过git check-ignore进行验证
标签: git merge git-checkout