2013-03-12 91 views
1

我的git遠程倉庫有一個問題。我創建了一個用於git-shell訪問的git用戶。git-shell合併到不同的路徑

當某人加入shell時,主路徑是/home/git/,這沒關係。問題是:我的存儲庫路徑是/var/www/,我想給git用戶在此目錄內合併但不使用bash shell的可能性(所以我不提供使用 cd的可能性在服務器內部導航)。

Git-shell有能力執行合併命令?這最後有可能指定也是路徑?

我沒有發現任何草藥合併git-shell的東西。

我在想通過web創建一個可執行的.sh腳本。 但是直接由git shell給出的函數可以解決一些已經從基礎上的安全問題。

在此先感謝, 毛羅。

+0

你想在這裏做什麼?如果你想在Web服務器上公開repo,有更好的方法來做到這一點;例如設置一個Apache Web服務器並使用git進行配置,如下所示:http://kasunh.wordpress.com/2011/01/15/git-over-https/ – Steinar 2013-03-12 10:10:30

+0

這可能是一個好主意,謝謝。 但是無論如何,我覺得在公鑰背後更安全,這就是爲什麼我試圖在shell方面獲得解決方案的原因。 – Ideabile 2013-03-12 10:30:08

+0

如果您只想通過ssh訪問repo,爲什麼要將它合併到/ var/www中的repo中? – Steinar 2013-03-12 10:46:01

回答

0

我試着爲此做一個解決方法,臨時工爲我工作。 但我不建議你像我那樣公開劇本,並且試着去形容其他選擇。

我的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); 
} 

我希望這幫助。