【发布时间】:2012-02-29 06:33:18
【问题描述】:
我有一个 Git 项目,它有点特别,因为树中的文件是由两个不同的用户生成的。示例:
# ls -la
drwxr-xr-x 13 ivan ivan 4096 2012-02-02 16:52 .
drwxrwxrwx 32 root root 4096 2012-01-28 21:37 ..
drwxr-xr-x 2 ivan ivan 4096 2012-02-07 20:41 system
drwxr-xr-x 2 ivan ivan 4096 2012-02-07 20:41 compatibility
drwxr-xr-x 33 ivan ivan 4096 2011-12-08 18:13 resources
drwxr-xr-x 8 ivan ivan 4096 2012-02-07 20:41 .git
-rw-r--r-- 1 ivan ivan 307 2012-02-02 16:52 .gitignore
-rw-r--r-- 1 bulk bulk 700 2011-11-01 20:10 base.log
.....
Git 仅由一个用户 (ivan) 控制,但守护程序会生成分配给 bulk 用户的文件。守护进程添加新文件时一切正常,但是当守护进程更改文件时,git 停止工作说:
error: unable to unlink old 'base.log' (Permission denied)
我知道最好的选择是让守护进程以 ivan 用户身份运行,但这在技术上很困难。问题是:有什么办法可以在 Git 中处理这种情况?我的意思是,我只想在没有用户权限问题的情况下执行“git checkout branch”。
【问题讨论】:
-
你需要在 git 中跟踪 base.log 吗?通常将日志文件添加到 .gitignore (这可能会使您的问题消失)
-
我需要这个和其他日志。问题与守护进程生成的日志文件有关,但我需要将这些日志 gitted
标签: linux git file-permissions