我有一个特性分支,它比主分支提前约50次提交。我想结帐主分行做一个小编辑和推出。尽管我一输入git checkout master就被提示提交更改,但git突然取消了我所做的所有提交,并要求我在签出master之前提交它们。
基本上把我的功能分支重新设置回原来的master。为了不损失我所有的工作,我承诺并努力重设回我最近在该分支上的承诺。自从我添加和删除了许多文件之后,是否发生了某种错误?
编辑更多信息
我删除了一个节点模块browserify,但该模块在master上。
在我的功能分支上,所有内容都被添加和提交。这是我在键入git checkout master后得到的错误。
error: unable to create symlink node_modules/.bin/JSONStream: Permission deniederror: unable to create symlink node_modules/.bin/acorn: Permission deniederror: unable to create symlink node_modules/.bin/browser-pack: Permission deniederror: unable to create symlink node_modules/.bin/browserify: Permission deniederror: unable to create symlink node_modules/.bin/deps-sort: Permission deniederror: unable to create symlink node_modules/.bin/insert-module-globals: Permission deniederror: unable to create symlink node_modules/.bin/miller-rabin: Permission deniederror: unable to create symlink node_modules/.bin/module-deps: Permission deniederror: unable to create symlink node_modules/.bin/sha.js: Permission deniederror: unable to create symlink node_modules/.bin/umd: Permission deniedfatal: cannot create directory at 'node_modules/Base64': Permission denied
就在我这样做之后(顺便说一下,我正在使用webtorm,所以它在面板中显示我的版本控制),我的版本控制显示我的所有提交都不是红色的,需要“添加它们”,但这并不是添加我的提交,而是添加相反的提交。所以把我所有的承诺都除掉。
我还在mac上做一个流浪箱。

最佳答案

sudo是你的问题,不是解决办法。不要将sudo用于与开发相关的任务。永远。也不要使用sudo git ...。工作和使用git不需要管理员许可。git不是用来作为根的。
您的问题是,您可能在过去使用过sudo,因此您运行了一个root命令,并创建了一些属于root的文件。您可以使用ls -lfind . -user 0来检查。然后,下次尝试修改这些属于根目录的文件时,您没有权限执行此操作(请参阅错误消息:Permission denied)。
实际的解决方案是使用chown将文件返回给普通用户,为此您需要最后一次使用sudo

关于git - 致命:无法在“node_modules/Base64”上创建目录:权限被拒绝,在git checkout master期间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40429432/

10-13 08:38