2011-10-26 52 views
2

我们看到一个古怪的行为,我们所有的可执行文件都会改变其权限。权限从755更改为644,使其无效(直到有人前往并将其恢复为可执行文件)。我们诚挚地不知道为什么发生这种情况,但我们怀疑它发生在Windows系统上的合并冲突期间。git merge修改了可执行权限

EG,

犯有对文件A和B的变化 提交B的对文件的更改和C

A的合并和B产生在A.冲突然而,一个git的状态显示A,B,C ...的修改以及我们所有或大部分可执行文件都失去了可执行文件。

以前有没有其他人看到过这种行为?如果是这样,你是如何解决它的?

感谢,

+0

您是否使用msysgit,或混帐使用Cygwin?什么''umask''在你的bash shell会话中返回? – VonC

+0

嘿,我们使用的是msysgit,umask返回0000.那是什么意思? –

+0

这意味着权限的默认掩码可能不是有效的掩码。尝试'umask 755'(或者它可以意味着msysgit不使用umask) – VonC

回答

0

这很适合我

echo 'git config core.filemode false 2>/dev/null' >> .bash_profile