web-dev-qa-db-ja.com

Gitサーブ:シンプルにしたい

Mercurial 's hg serveのように、http =で簡単に公開する方法を知りたいです! Windows /ワークボックスでこれを行います:

git serve 

そして、Linuxボックスに簡単に行きます:

git clone http://project project 

終わった。

136
Setori

プロジェクトに移動し、次のスイッチを使用してgit-daemonを起動します。

cd project
git daemon --reuseaddr --base-path=. --export-all --verbose

これは、git-daemonに現在のディレクトリ(.git /フォルダーを含むプロジェクトディレクトリであると仮定)内のすべてのプロジェクトを提供するように指示します。また、シャットダウンしてから再起動する速度が速すぎる場合は、同じアドレスを再使用するように指示します。

これを「gitserve」のような覚えやすい名前でバッチスクリプトに入れることができるので、もう一度すべて入力する必要はありません。一部のコメントで示唆されているように、Gitの最近のバージョンでは Git構成にエイリアスを追加

[alias]
    serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git

サーバー(Windowsボックス)でそれが完了したら、次のことができます。

git serve

git-daemonはトランスポートにgit://プロトコルを使用するため、クライアント(Linuxボックス)で次を実行する必要があります。

git clone git://123.456.789.111/ project
195
seanhodges

独自のバッチスクリプトを記述するのではなく、 gitjour を使用します。 gitデーモンを正しく起動する方法を知っており、mDNSを介してクローンURLをブロードキャストするため、gitjour show Linuxボックスでコピーして貼り付けます。

また、gitjourの概要とDr. Nicの他の同様のツールの数に関する優れた記事 * jourとは何で、RailsCamp08のキラーアプリである理由 .

14
Otto

現在、サーブとハブの2つのエイリアスを使用しています。読み取り専用共有の提供と読み取り/書き込み共有のハブ:

[alias]
  serve = !git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
  hub = !git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors --verbose

また、gitデーモンを介した共有に関する詳細なチュートリアルがあります: http://l.rw.rw/git-daemon .

12
criskiev

Webブラウザーでリポジトリーを公開するだけの場合

git-instaweb

$ git instaweb -d Apache2 --start
$ lynx localhost:1234
11
John Mee

これは別の方法です。 pythonがインストールされている必要があります。

  • git update-server-infoを実行します
  • .gitディレクトリに移動します
  • python -mSimpleHTTPServerを実行します

(gitconfigでエイリアスを作成するだけです)

これで、git pull http://Host_NAME:8000/でレポジトリをプルできます

PS:gitデーモンソリューションを使用する場合、--base-path=.gitを設定して、URLをgit://Host/に設定できます。

9
bara

.git/configに次の行を追加します

[instaweb]
               local = true
               httpd = webrick
               port = 4231

その後、実行する

git instaweb
0
Nayagam

Git 2.21(2019年2月)では、pythonと git instaweb

commit 2eb14bb (2019年1月28日)by Arti Zirk(artizirk を参照してください。
C浜野順夫-gitster- in commit abf39e 、05 Feb 2019)

git-instaweb:追加Python builtin http.serverサポート

このパッチでは、git-instawebオプションを介してPython http.server CGIハンドラーを使用して-d python]を起動できます。

git-instawebは、CGIスクリプトがhttp.serverサブディレクトリとディレクトリインデックス内にある必要があるCGIハンドラの制限に対処するGIT_DIR/gitweb/cgi-bin内)の小さなラッパーを生成します。簡単に変更できません。実装を小さく保つために、gitwebがurl /cgi-bin/gitweb.cgiで実行され、/を開くときに自動リダイレクトが実行されます。

生成されたラッパーは、Python 2および3。

Pythonは、ほとんどの最新のLinuxディストリビューションにデフォルトでインストールされており、git instaweb -d pythonを他の何も必要とせずに実行できます。

0
VonC

git-webuiは、Webベースのユーザーインターフェイスと、他のコンピューターからクローン/プルする機能を提供するgit拡張機能です。

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
alberthier