我有一个状态的本地仓库禁止我提交,藏匿,结账到另一个分支,甚至放弃更改.所以我只是卡住了.
据我记忆,我会试着描述一下这些情况给我带来了什么.
请坐下
不久之前,在远处的另一台计算机......根据以下内容在项目中另一个开发标准化的crlf:https://help.github.com/articles/dealing-with-line-endings
在那一刻(你知道,光速......)我在本地做了一些改变,提交和拉动.
当我拉Git说:
error: Your local changes to the following files would be overwritten by merge:
wp-config.php
Run Code Online (Sandbox Code Playgroud)
wp-config.php之前已从索引中删除,git update-index --assume-unchanged wp-config.php因为它的模板配置文件适用于每个本地环境.
基础"模板"可以改变.没什么好惊讶的.这就是我的计划:
wp-config.phpstash 我自己的配置发生变化pull origin masterstash apply 我的配置回来了在第3步出现问题git pull origin master仍然是上面的错误,好像存储无效.
git status说wp-config.php没有进行改变的提交.在藏匿之后,这让我感到惊讶.
自从我把我的变化藏起来后,我跑了git checkout -- wp-config.php......但没有任何效果!文件仍未进行提交.
由于我变得疯了,我创建了一个新的分支my-config,添加并提交wp-config.php到它,然后切换回master,删除wp-config.php(使用git rm),并合并origin/master ...成功!
所以现在主人是最新的和干净的,我计划在没有Git帮助的情况下恢复我自己的配置(手动编辑文件).
因为我想知道发生了什么,我切换到my-config分支,并尝试了一个非常简单的操作:
git stash
git stash apply
Run Code Online (Sandbox Code Playgroud)
你猜怎么着?stash apply …