2013-03-27 110 views
39

是否有某種形式的插件,你可以用它來有一個git等價的水銀git相當於'hg serve'?

hg serve 

(「汞服務」,啓動本地Web服務器,它允許你瀏覽版本庫的歷史/枝等)

+0

這似乎是http://stackoverflow.com/questions/438163/whats-the-best-web-interface-for-git-repositories – 2013-03-27 22:26:46

+2

@YounElan的重複:我覺得這是一個單獨的問題。你鏈接到的問題是關於在本地設置GitHub克隆,而這個問題是關於啓動一個短期Web服務器,以便其他人可以推送/拉你。 – 2013-03-28 08:53:38

回答

21

我認爲你要找的是git instaweb

默認情況下,它使用lighttpd,但任何其他web服務器如webrick也應該工作。

我喜歡的WEBrick,因爲它是非常方便(我有rubywebrick寶石安裝)

例子:

# Starts a web server on port 1234 and opens up a web browser 
git instaweb --httpd=webrick 

# To stop webrick 
git instaweb --httpd=webrick --stop 

你應該能夠在配置instaweb設置你的.git/config~/.gitconfig和僅運行git instaweb --startgit instaweb --stop來控制instaweb:

[instaweb] 
    local = true 
    httpd = webrick 
    port = 1234 
    browser = chromium 

UPDATE:

alberthier在他的回答中提到

git-webui,實際上是相對於默認instaweb和安裝更豐富的UI也確實簡單。

+0

非常好 - 非常感謝。我確實使用了lightttpd而不是webrick,因爲我想查看我正在處理的機器以外的結果,所以我設置了'local = false'。工作很好。 – glaucon 2013-03-28 03:05:16

+0

這不適用於Windows。 – Saravana 2013-09-20 06:47:58

+0

在Cygwin上使用git 2.1.1時,'git instaweb'產生'git:'instaweb'不是git命令。參見'git --help'。' – fbmd 2015-01-07 08:59:01

57

只是瀏覽文件和修訂git instaweb是正確的解決方案。

另外,如果你想建立一個特設混帳分享工作和一些同事服務器(推/拉)(其中hg serve也允許你這樣做),你可以使用:

git daemon --reuseaddr --base-path=. --export-all --verbose --enable=receive-pack 

你的同事將與類似使用它:

git clone git://<ip-address>/.git project 

加入1:

如果你希望能夠到推送到此服務器,您需要添加--enable=receive-pack選項(感謝下面的Dominik)。

加2:

它只是發生在我身上,所以我把它添加到答案:-),如果您使用的是基於紅帽- Linux發行版(RHEL,CentOS的,等等。),並有一個錯誤"git: 'daemon' is not a git command.",那麼你需要安裝一個單獨的包吧:

sudo yum install git-daemon 
+1

得到'致命的:遠程錯誤:訪問被拒絕或版本庫未導出:REPO'使用Git服務器。在服務器端:''receive-pack':服務沒有爲DIR/REPO啓用。 解決方法是添加'--enable = receive-pack'(請參閱@ itsadok的[answer](http://stackoverflow.com/a/792621/1168315)) – Dominik 2016-08-15 11:32:43

+0

謝謝@Dominik,我會將此提示添加到回答。沒有這個,你可以拉,但不能推。 – 2016-08-18 13:32:12

6

的git-Web用戶界面是一個Git擴展,它提供了基於Web的用戶界面和克隆/從其他計算機

拉動能力

https://github.com/alberthier/git-webui

$ cd my_git_repo 
$ git webui 

其他人可以

$ git clone http://<ip-of-your-computer>:8000/ repoclone 

$ git pull http://<ip-of-your-computer>:8000/ 
+0

看起來不錯,謝謝我會試試看。 – glaucon 2014-09-23 21:45:58

+0

@alberthier - git-webui看起來非常好,安裝也非常簡單:) – Tuxdude 2014-10-08 06:11:09