2

Github、Bitbucket、DropBox など - チケットやリポジトリ ホスティングなどのコンテンツ ホスティングを管理します (DB はチケットではなく、リポジトリの保存に使用できます)。Git リポジトリやチケットなどのコンテンツ ホスティングを自分で管理するソリューションが必要です。

試行 0: Git を調整しようとすると、時間がかかりすぎる

ここの指示に従いまし た が、いくつかの困難があり、その後、他の多くのチュートリアルをはるかに困難にしました. 私は"git clone --bare xxx xxx.git; cd xxx; git update-server-info"作業でクローンを作成しましたが、 で物事をプッシュすることができず、"--shared"この種の手動ハックにうんざりしていました。資料が多すぎ、無関係な資料が多すぎ、時代遅れの資料が多すぎます。

繰り返しますが、コンテンツのホスティングは自分でやりたいと思っています。では、git リポジトリをホストするにはどうすればよいでしょうか?

おそらく関連している

  1. ローカルでホストできる Git リポジトリ サーバー

  2. 個人プロジェクトのコード ホスティングに関する推奨事項

4

2 に答える 2

5

Linux サーバーを実行している場合、オプションは Git + SSH を使用することです。

サーバー上

  1. gitメインの git プロジェクト ディレクトリに対するアクセス許可を持つ、という名前のユーザー アカウントを作成します。これは、すべての共同作業者が共有プロジェクトを推進できるようにするのに役立ちます。

  2. authorized_keys各クライアント マシンの RSA 公開キーをサーバー上のファイルに追加します。ssh-keygen -t rsa -b 4096(ほとんどの Linux ディストリビューションで使用して、秘密鍵と公開鍵のペアを生成できます。)

  3. ユーザーとして、プロジェクトの新しいベア リポジトリを作成しgitます。git init myproject --bare

クライアント上

  1. で を有効にして、秘密鍵認証をオンにIdentifyFileしますssh_config

  2. ベア リポジトリのクローンを作成します。git clone git@<server>:/var/git/myproject

  3. 変更を加えます。

  4. 変更をコミットし、リモート リポジトリにプッシュします。git push origin master

より具体的な手順 (ユーザー アカウントを作成するための正確なコマンドなど) が必要な場合は、公式のPro Gitブックを参照してください。

于 2012-06-13T04:14:43.743 に答える
3

ここでは Gitolite (アクセス許可を管理) を使用し、Redmine (多くのリポジトリのワークフローを管理)はここで使用します。許可管理が必要ない場合は、Michael のソリューションを使用してください。多くのリポジトリを管理する必要がない場合は、Redmine を忘れてください (多くのリポジトリで便利です)。ここには、マイケルの回答と同じものが含まれていますが、サードパーティのサイトと、プロジェクトが拡大したときに必要になる可能性のあるいくつかの追加が含まれています。

0. Git + SSH -keypair (Michael の回答と以下の概要を参照してください。)

これができない場合は、先に進まないでください。この方法は、bare -repos を使用してリポジトリをコンテンツ ホストする基本的な方法を示しています。単純に、それを行うのに約 2 分かかります。

サーバー上

$ git init --bare test.git

クライアント上

$ eval `ssh-agent`
$ ssh-add ~/your_auhorized_key_in_server
$ git clone something@IP:test.git

1. ジトリット(スキルの違うチームのパーマを担当)

  1. 優れたステップバイステップのチュートリアルはこちら ( "~/.ssh/authorized_keys"-file には gitolite -user のみが必要であることに注意してください)

  2. ここでrepository -addition/removal をチェックしてください。はい、とても簡単です。config -file を設定してから"$ git add .; git commit -m "new repos, old dead""$ git push"

  3. "$ ssh gitolite@xxx.yy.112.239 info"構成を示します

            hello hhh, this is gitolite@ip-10-xxx-xx-203 running gitolite3 v3.03-29-g3c0f177 on git 1.7.4.5
    
             R W    helloworld
             R      gitolite-admin
             R W    testing
    
  4. gitolite の下にリポジトリをクローンする

    $ git clone gitolite@176.34.112.239:helloworld

2. Redmine/Trac/etc (中央の GUI でリポジトリを介してワークフローを管理)

Redmine の手順 はこちらです。Github の不安定な開発ブランチをクローンしないようにしてください。安定したアーカイブをダウンロードする必要があります。ただし、私はおそらく Trac を使用します。比較はこちら. Redmine はいくつかの Rails -hack と不安定な master -branch がうまく聞こえませんでした。

3. Ticgit/etc (サードパーティに依存しないチケットの管理)

Bremner はこの問題についてここで概説しましたが、このチケットがここにあることに注意してください。一般的なスレッドはこちら.

于 2012-06-13T03:03:55.227 に答える