gpt4 book ai didi

linux - Git中如何处理多个Linux用户文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:30 25 4
gpt4 key购买 nike

我有一个 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) 控制,但守护进程生成分配给批量 用户的文件。守护进程添加新文件时一切都很好,但是当守护进程更改文件时,git 停止工作说:

error: unable to unlink old 'base.log' (Permission denied)

我知道最好的选择是让守护程序以 ivan 用户身份运行,但这在技术上很困难。问题是:在 Git 中有没有办法处理这种情况?我的意思是,我只想执行“git checkout branch”而不会出现用户权限问题。

最佳答案

将你的 git 用户 (ivan) 添加到 'bulk' 组。

Debian:

sudo adduser ivan bulk   # and relogin

其他(FC、Redhat 和类似的?):

usermod -a -G bulk ivan

一切都应该没问题。要拥有写入权限(即您可以 check out 、 merge 等工作树),请更改权限以允许组写入权限:

sudo chmod g+rw bulk.log

备选方案:

关于linux - Git中如何处理多个Linux用户文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com