1

我的 git 远程存储库有一个问题。我已经为 git-shell 访问创建了一个 git 用户。

当有人加入 shell 时,主路径是/home/git/,这没关系。问题是:我的存储库路径是/var/www/并且我希望 git 用户可以在此目录中合并但不使用 bash shell(所以我不提供使用cd在服务器内部导航的可能性)。

Git-shell 有执行合并命令的能力吗?最后还有可能指定路径吗?

我没有找到任何关于 git-shell 的合并。

我正在考虑创建一个可以通过 web 执行的 .sh 脚本。但是直接通过 git shell 提供功能可以从根本上解决一些安全问题。

在此先感谢,毛罗。

4

1 回答 1

0

我尝试为此做一个解决方法,临时为我工作。但我不建议您以与我相同的方式公开脚本,并尝试找出其他替代方案。

Basic 在我的 git 存储库中,我创建了这个 bash 脚本。

#!/bin/sh
GIT_MERGE_AUTOEDIT=no
export GIT_MERGE_AUTOEDIT
git merge [name_of_branch_one]
git merge [name_of_branch_two]

之后,我创建了一个简单的 php 函数,用于调用 sh 脚本,如下所示:

$exec = exec("sh /Your_Git_Repository_dir/merge.sh");
if($exec){
    print_r($exec);
}

我希望这会有所帮助。

于 2013-10-02T13:27:39.240 回答