文章的背景是这样的:
开发中在master上修复一些紧急的bug,修复完要切换到2.0分支继续做开发,
因为在公司大家都用sourceTree,太久没有用命令行了,有点生疏啦,sourceTree这货有好也有不好吧,好的
地方是不用记命令了,鼠标点点点完成操作,合并切换分支,存储常用的不提交但是本地需要更改的文件也
方便,不好的地方是一不小心就操作失误,还是得要用命令行来解决,然后你又好久没用用命令了,生疏了,得
在网上查找答案。
博猪这次切换分支的时候手抖,把2.0的分支合并到了master,有文件冲突,但是2.0分支的内容目前还没完
全做好,不能合并到master分支,然后在sourceTree是切换不了分支啦,所以就有了这篇文章。
git checkout v2.0
error: The following untracked working tree files would be overwritten
by checkout: Please move or remove them before you switch branches。
这句话的意思是: 以下文件未跟踪的工作树文件将被签出覆盖,在切换分支的时候你需要干掉它们
public/vue-static/js/app.js.map
public/vue-static/js/manifest.js
resources/views/mobile/layout/public.blade.php
routes/api_v1.php
vue/.gitignore
…
git status 一下,一堆文件为暂存的
git clean -dfx 可以直接全部干掉它门
(
强调一下,git clean是把你当前工作的分支所有东西保持和远程的分支一致,
就是说你远程是怎么样的,执行这个命令后你本地的就是怎么样的,没有进入版本的文件会直接扔掉
)
然后git checkout v2.0 切换到2.0分支去
git clean -dfx public/vue-static/js/app.js.map 这样一个一个的干掉也是一样的