如何设置git repo供多个用户使用?

时间:2014-04-07 19:08:27

标签: git bitbucket-server

我想在我们的某个服务器上设置一个可供某些用户访问的git存储库。我们使用Stash作为git主机,只有拥有Stash密钥的用户才能推送。我希望将本地代码放在盒子(/ data / repo)上的每个人都可访问的位置,并允许授权用户进行更改并将其作为自己(而不是服务帐户)推送回Stash。如何在公共仓库中使用特定于用户的git设置?

1 个答案:

答案 0 :(得分:1)

我们正在使用此设置,因为git repo中的代码已上传到我们的Chef服务器。我们的操作人员将使用此共享仓库从我们的git仓库的主分支中下载版本,然后将它们上传到Chef服务器。他们担心一个操作用户更改文件并将其上传到厨师而不将其提交给git的情况。当另一个操作用户从主服务器上传并上传到厨师时,这些更改可能会丢失(厨师服务器根本不会处理冲突)。为避免这种情况,它们都将在同一目录中工作,因此在这种情况下,任何更改都将被git标记为冲突。

我已经弄清楚这是怎么做的。

回购设置:

<git clone command, creates folder 'repo'>
chmod -R g+rw repo
chmod g+s `find repo -type d
cd repo
git config core.sharedRepository true

这些设置将repo标记为已共享,并将在repo中创建的任何新内容设置为属于该用户的组。

用户设置:

cd ~
git config --global user.name <name>
git config --global user.email <email>

--global标志创建〜/ .gitconfig。多个用户可以在共享仓库中工作,任何git命令都将引用此文件。我已经用2个用户对此进行了测试。任何被修改的东西都是可见的。每个用户都可以签署提交,当有人推送时,所有提交的更改都会在其作者信息完整的情况下被推送。