Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git/在得到一个“时的奇怪行为”;无法取消文件链接,权限被拒绝";_Git_Version Control - Fatal编程技术网

Git/在得到一个“时的奇怪行为”;无法取消文件链接,权限被拒绝";

Git/在得到一个“时的奇怪行为”;无法取消文件链接,权限被拒绝";,git,version-control,Git,Version Control,很难准确描述发生了什么 基本上,我有两个本地/远程分支A和BB派生自A及其前面 我在B上做了一些工作,并提交了它们。 认为我的提交成功了,我立即运行: git签出A 但是它没有把头放在A上 事实上,在提交期间,我在日志中发现了一些我当时没有注意到的错误: 无法取消文件链接,许多文件的权限被拒绝。 解决方案是通过chmod命令授予一些权限 问题是我最终做出了一个非常奇怪的行为: 我在B上丢失了更改 有没有可能命令“git checkout A”虽然有一些错误,但其作用似乎是:“获取所有A的文件并替

很难准确描述发生了什么

基本上,我有两个本地/远程分支
A
B
B
派生自
A
及其前面

我在
B
上做了一些工作,并提交了它们。 认为我的提交成功了,我立即运行:
git签出A

但是它没有把
放在
A

事实上,在提交期间,我在日志中发现了一些我当时没有注意到的错误:

无法取消文件链接,许多文件的权限被拒绝。
解决方案是通过
chmod
命令授予一些权限

问题是我最终做出了一个非常奇怪的行为: 我在
B
上丢失了更改

有没有可能命令“git checkout A”虽然有一些错误,但其作用似乎是:“获取所有
A
的文件并替换
B
文件,而不是从B分支移动到A分支,解释为什么我在
B
中得到了过时的文件(从上一个
A
commit)

问题是:尽管我对问题和具体步骤缺乏准确性,但是什么问题导致
B
恢复其所有更改

抱歉,如果这不是一个非常强大的OP,但如果有人告诉我:“哦,我知道你有什么,我已经有了这个奇怪的问题…”


此操作显然是为了弄清发生了什么。

运行
chmod
不太可能丢失B上的更改。您确定您确实提交了更改吗?检查
git reflog
是否可以看到您所做的提交。我用我猜的方式重新表述了操作。是的,我在开始之前至少提交了一步B、 一个名为“最终2.7版本”的提交,明显位于
a
文件之前。问题是最后一次提交(在“最终2.7版本”旁边)包含
a
的文件版本…,这意味着与“最终2.7版本”没有任何更改“承诺。很明显,全局操作是:将A合并到B并覆盖所有文件。运行
chmod
不太可能丢失B上的更改。您确定您确实提交了更改吗?检查
git reflog
是否可以看到您所做的提交。我用我的猜测重新表述了OP。是的,我至少在B上提交了一个步骤,一个名为“final 2.7 version”的提交,它明显领先于
a
文件。问题是最后一次提交(在“最终2.7版本”旁边)包含
A
的文件版本…,这意味着“最终2.7版本”提交没有任何更改。显然,全局操作是:将A合并到B并覆盖所有文件。