この記事の助けを借りて(ステップバイステップの説明)、
cGitベースのWebインターフェースを使用して、独自のGitリポジトリーを作成できます。
そのため、シンプルで簡潔な方法で、標準のcGitは次のように見えます(クリック可能)。

仮想専用サーバー(VPS、VDS)は現在非常に人気があります。 1か月に5〜15ドルで、個々の設定、優れたリソース、心が望むほぼすべてを備えた、ほぼ本格的なホスティングを使用する余裕があります。 私の魂はGitバージョン管理システムを使用したいと考えています。 これには多くの利点がありますが、主なものは速度と利便性です。 私は長い間(自分の自由意志ではなく)SVNを使用していましたが、Gitを試したときは非常に驚きました。 開発プロセス、ブランチのマージ、ブランチからブランチへの切り替え、更新は、非常に便利で、高速で、手間がかかりません! cGitをWebフェイスとして選択したのは、cGitが使用されている場所が非常に多く、小さくて高速だからです。 また、私はgitwebが本当に好きではなかったので、何らかの理由でより人気があります。 Ubuntu 9.04と9.10は、それぞれサーバーとクライアントにインストールされます。 すべてのアクションはコンソールで実行されます。 この手順は、初心者ユーザー向けに設計されています。
まず最初に(まだ行っていない場合)、リモートコンピューターに
LAMPをインストールする必要があります(サーバーであり、将来のストレージです)。 このためには、ubuntではそれで十分です。
sudo tasksel install lamp-server
次に、cGitの最新バージョンをダウンロードしてコンパイルします。 これを行うには、いくつかのライブラリとプログラムが必要です。 それらをインストールするには、次のようにします。
sudo apt-get install libcurl4-openssl-dev git-core build-essential mc
コンパイル用のパッケージ、mcファイルマネージャー(非常に便利なmceditエディター)、およびGitユーティリティパッケージ自体をインストールしました。 コンパイルとインストールを始めましょう。
git clone git://hjemli.net/pub/git/cgit cd cgit/ git submodule init git submodule update make
約20 MBがダウンロードされます。 コンパイルとリンクが正常に完了するまで待ちます(通常は数分以内)。 その結果、将来のリポジトリ用のcgi-script、ロゴ、およびcssファイルを取得しました。 cGitを手動でインストールおよび構成します。
cGitへのアクセス方法に応じて、さらにいくつかのオプションが可能です。 サブドメインにアクセスできると便利でした。 たとえば、
git.example.ruです。 これを行うには、新しい仮想ホストを作成します(リモートユーザー名は
projects ):
sudo touch /etc/apache2/sites-available/cgit sudo mcedit /etc/apache2/sites-available/cgit
そして、ファイルの内容にコードを挿入します(ドメインを自分のものに変更することを忘れないでください):
<VirtualHost *:80> ServerName git.example.ru DocumentRoot /home/projects/www/cgit DirectoryIndex cgit.cgi SetEnv CGIT_CONFIG /etc/cgitrc <Directory "/home/projects/www/cgit"> Options FollowSymlinks ExecCGI Allow from all AllowOverride all Order allow,deny <Files cgit.cgi> SetHandler cgi-script </Files> </Directory> <Directory "/home/projects"> Allow from all </Directory> </VirtualHost>
cGitのディレクトリを作成し、コンパイルされたファイルをそこにコピーします。
mkdir ~/www/cgit -p cd ~/cgit cp cgit ~/www/cgit/cgit.cgi cp cgit.png ~/www/cgit/ cp cgit.css ~/www/cgit/
cGitの構成ファイルを作成し、設定を書き込みます。
sudo touch /etc/cgitrc sudo mcedit /etc/cgitrc
エディターが開きます。 コメントを含む私の設定内容は次のとおりです。
# virtual-root=/ # . css=/cgit.css logo=/cgit.png # Git . scan-path=/home/projects # ... enable-index-links=1 enable-log-filecount=1 enable-log-linecount=1 # root-title= # root-desc= , ? # , ( ) snapshots=tar.gz tar.bz2 zip # ( , ) repo.url=temp repo.path=/home/sartor/www/temp/.git repo.desc= repo.owner=Sartor repo.url=exp repo.path=/home/sartor/www/exp/.git repo.desc=Experimentum repo.owner=Sartor
これで、すべてを実行する準備が整いました。 仮想ホストを許可リストに追加し、Apacheを再起動します。
sudo a2ensite cgit sudo /etc/init.d/apache2 restart
git.example.ruに移動し、すべてが機能することを確認します。
50xエラーが発生した場合は、次を実行する必要があります。
sudo touch ~/www/cgit/.htaccess sudo mcedit ~/www/cgit/.htaccess
そして、次の内容を貼り付けます(パスを自分のものに変更することを忘れないでください):
RewriteEngine on RewriteCond %{HTTP_HOST} ^git\. RewriteCond %{REQUEST_FILENAME} -f RewriteRule .* - [L] RewriteCond %{HTTP_HOST} ^git\. RewriteRule ^git/$ /home/projects/www/cgit/cgit.cgi [L] RewriteCond %{HTTP_HOST} ^git\. RewriteRule ^(.*)$ /home/projects/www/cgit/cgit.cgi?url=$1 [L,QSA]
今では間違いなく動作します:)
すべてが正しく機能するかどうかを確認するには、1つのファイルでリポジトリを作成します。
mkdir ~/test cd ~/test touch habr.txt echo " , " > habr.txt git init git add . git commit -m " "
ブラウザで老人を更新し、最初のコミットを確認します。
私たちが行ったこととその使用方法を要約します。
リモートサーバーで、人気のあるGitバージョン管理システム用のWebインターフェイスを作成しました。 gitサブドメインを介してアクセスします。
開発者シナリオの例を説明します。
- 自宅のサーバー(たとえばwww / test )に新しいフォルダーを作成します。
- git initを実行します。
- ローカルマシンでgit clone projects@example.ru:www / test / .gitを実行します。 これにより、リモートリポジトリのローカルコピーが作成されます(これまでは空です)。
- 前の手順で作成したローカルフォルダーに一連のファイルを配置します。 いわば、プロジェクトの枠組みを作ります。 必要に応じて、例外(.gitignore)を追加します。
- git addを実行します。 && git commit && git push 、私の変更についてコメントします。
- それだけです ローカルおよびリモートのリポジトリが更新および同期されます。
- 私はプロジェクトに取り組んでいます。 意味のある変更を行った後、手順5を再度実行します。最初に作業したフォルダーに移動することを忘れないでください。 特に
怠 zyなcな私はbashのエイリアスを作成できます。
あなたがWeb開発者であり、作業の現在の結果を頻繁に表示する必要がある場合、そのようなコンテンツを含むプロジェクトの.git / hooksフォルダーに
受信後ファイルを配置すると非常に便利です。
そして彼に実行する権利を与えます。 これで、各更新(ステップ5)の後、プロジェクトの作業ツリーも更新され、実際のファイルは常に最新の最新バージョンになります(そして、ほとんどすべての人がリモートリポジトリの更新時にこれを期待しますが、これはデフォルトでは行われません)。
gitの操作を学ぶことは、迅速かつ直感的です。 さまざまな言語のこの硬貨に関する多くの情報があり、Webインターフェイスを使用するとさらに使いやすくなります。
私は設定をきれいにするふりをしません、私からの管理者はそうではありません。 しかし、彼らは動作することが保証されています。