我有两个分支,其中包含自己的node_modules
版本,但在不同的文件夹中。
分支1:
--client/
--server/
--node_modules/
...
分支2:
--server/
-----/node_modules/
...
因此,当我从Branch 2 -> Branch 1
切换时,它包含以下文件夹:
--client/
--server/
-----/node_modules/
--node_modules/
...
这是一个错误,因为Node将使用嵌套版本而不是外部版本。所以,我的问题是如何在签出另一个分支时消除.gitignore
中指定的文件,例如node_modules
,
答案 0 :(得分:1)
您可以尝试(干运行测试)
git clean -d -x -n
在git checkout之后看,如果那样会删除正确的文件 请参阅“How do I clear my local working directory in git?”
另一种方法是git reset --hard
之后的git checkout
。
如果您无法轻松删除(.gitignore
'd)node_modules
文件夹,则第三种方法是在两个不同的文件夹中工作,每个文件夹一个。
请参阅“Multiple working directories with Git?”:自Git 2.5+以来,您可以克隆一次,并检查不同文件夹中的不同分支。
切换分支变得像cd ../otherbranch
一样简单。