問題タブ [gitosis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
584 参照

git - パスワードを要求し、Active Directory と照合するように gitosis を設定できますか

Ubuntu サーバーに gitosis を正常にインストールして構成しました。私たちは現在、大規模な組織 (2000 人以上の従業員) 向けの開発プラットフォームを作成している数人の開発者です。

現在、バージョン管理に Subversion を使用しています。部署は、gitosis.conf のように、1 つのファイルを編集してコミットすることで、ユーザーのアクセス許可を変更できます。ただし、違いは、Subversion が AD に対してユーザーをチェックするように構成されているため、ユーザーの公開鍵をプッシュする必要はなく、ユーザーのドメイン ログインを使用することです。

gitosis が同様に動作する方法はありますか:

  • gitosis.conf を編集しますが、公開鍵を追加する必要はありません。
  • ユーザーのパスワードを要求し、AD で再度確認するように git/gitosis を構成するにはどうすればよいですか。
0 投票する
1 に答える
3835 参照

git - リモートgitリポジトリの問題のクローンを作成する

gitリポジトリを起動して実行し、リモートのubuntu8.04サーバーにgitとgitosisをインストールしようとしています。また、ローカルのubuntu10.04マシンでgitを実行しています。

すべてを機能させるために多くのことを試みた後、私はsshキーを機能させることができました。私がタイプするとき:

ssh git@myserver.com

それは戻ります:

チャネル0でPTY割り当て要求が失敗しました

エラー:gitosis.serve.main:環境にSSH_ORIGINAL_COMMANDが必要です。

123.456.789.1への接続が閉じられました。

私が理解している限り、これはサーバーへの接続に成功し、sshキーが受け入れられたことを意味しますが、コマンドを取得しなかったため、接続が閉じられます。

リポジトリを取得しようとすると:

sudo git clone git@myserver.com:gitosis-admin.git

それは戻ります:

/home/git/repositories/gitosis-admin/.git/にある空のGitリポジトリを初期化しました

git@myserver.comのパスワード:

問題は、パスワードまたはフレーズが設定されておらず、空のパスワード、サーバーパスワード、またはローカルのマシンパスワードを受け入れないことです。sshキー(パスフレーズなし)を受け入れてダウンロードを開始する必要があるため、パスワードを要求するべきではないことを理解しています。

この時点から、リモートリポジトリをローカルマシンに取得してgitの使用を開始する方法がわかりません。誰かが私を正しい方向に向けてくれることを願っています。

0 投票する
1 に答える
2800 参照

git - gitosis を使用して git リポジトリへの http アクセスを管理する

[2010/9/16 更新]

昨夜これを調べた後、最初の質問が実際には2つの別々のことを求めていることに気付きました。

1) gitosis によって作成されたすべてのリモート リポジトリに更新後のフックを設定することは可能ですか (つまり、gitosismv hooks/post-update.sample hooks/post-updateでリポジトリを作成した後に手動で実行する必要はありません)。git update-server-infopost update フック内から呼び出されるという事実)。

2) HTTP 経由でリポジトリにアクセスできるようになったら、gitosis.conf のオプションを使用してアクセスのオンとオフを切り替えることができますか (daemon = noまたはに似たものgitweb = yes)

--- 質問 1 の解答 ---

git initGit はテンプレートを使用して、コマンドで新しいリポジトリを作成することが判明しました。mv hooks/post-update.sample hooks/post-updateテンプレートディレクトリ内で実行することによりgit init、私のサーバーでの今後のすべての呼び出しで、更新後のフックが正しく構成されます。(OSXでは、テンプレートディレクトリは/opt/local/share/git-core/templates/気にする人のためのものです)

これが機能するためのもう 1 つの要件は、リポジトリの HTTP クローン URL が次のようになるように、Apache 書き換えルールを有効にすることです。http//git.example.com/repo.git

私の書き換えルールは次の/etc/apache2/extra/httpd-vhosts.confようになります。

--- 質問 2 の解決策をまだ探しています...ヘルプ! :) ---

HTTP クローンがすべてのリポジトリで機能するようになったので、gitosis を使用して HTTP アクセス制御を管理する方法があるかどうか疑問に思っています。リポジトリへの git-daemon およびgitwebアクセスを設定daemon = nogitweb = noてオフにしますが、Apache 書き換えルールがまだ有効であるため、リポジトリは. これを管理するために gitosis を使用する方法についてのアイデアはありますか?http://git.example.com/repo.git

【最初に投稿した質問】

gitosis を使用して git リポジトリへの http アクセスを管理することは可能ですか? たとえば、gitosis.conf では、次を使用して gitweb と git-demon のアクセスを管理できます。

現在、次のコマンドを発行してリポジトリのクローンを作成できます。

ただし、次のコマンドを発行すると:

次のエラー メッセージが表示されます。

ただし、サーバーにログインして repo.git 内から次を実行すると:

その後、http によるクローン作成は正常に機能します。

gitosis 内からリポジトリへの http アクセスを管理する方法はありますか?

0 投票する
1 に答える
4731 参照

git - 他のユーザー(ウィンドウ)をgitosisに追加する方法

gitosisを使用してgitリポジトリを設定しました。私が理解できないのは、他のユーザーを追加する方法です。私が見つけたすべてのチュートリアルは、「公開SSHキーを収集する」としか言っていません。

最初に、(サーバーではなく)自分のマシンでローカルに作成しようとしましたが、それは間違った方法だと思いました。
ここで、WindowsマシンでPuTTy keygenを使用して公開鍵を作成し、その鍵を保存して、gitosis-adminディレクトリの下のkeydirに配置しようとしました。
私は両方を試しましたgit clone git@cn-linuxdev.****.***:tungsten.gitgit clone tor@cn-linuxdev.****.***:tungsten.git、torはkeydir内のファイルの名前です。

auth.logで生成されたエラーは Failed password for git from 192.168.0.158 port 63305 ssh2

Windowsクライアントから、セットアップ中に設定されたパスワードも試しましたsudo -H -u git gitosis-init < /tmp/id_rsa.pub
このsshキーは、私のローカルコンピューターからのものです。そして、このパスワードはそこから機能しますが、Windowsクライアントでは機能しません。

sshキーがどのように機能するかはよくわかりませんが、生成されたコンピューターに何らかの形でバインドされていると思います。

では、他のユーザーやWindowsユーザーと一緒にgitosisを設定した人はいますか?どのようにしてそれを機能させましたか?

0 投票する
2 に答える
2735 参照

git - gitosis サーバーへの接続に問題があります

このガイドに従って、git と gitosos をセットアップしました: http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way。私はこの部分で立ち往生しています:git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git

パテで Git 拡張機能を使用していますが、SSH サーバーは非標準ポートで実行されています。Linux のポートを設定する方法を示していますが、Git 拡張機能を使用した Windows のポートは設定していません。Git Extensionsはパテを使っているので、IP、ポート、ユーザー名(git)、追加したSSH鍵をセットにした「git」というプロファイルを作ってみました。そのプロファイルにパテで接続すると、 と表示されますServer refused our key

私がこれを正しく行ったかどうかわからない場所がいくつかあります。gitosis のユーザー名は 'git' ではなく 'gitosis' であるべきだというガイドをいくつか読みました。ガイドで指定されているように、ユーザーを「git」として作成したことは重要ですか? 「git」は、パテプロファイルで設定する必要がある自動ログインユーザー名ですか?

また、いつも使用していて、Putty keygen で以前に生成した SSH キーも使用しました。コメントでは、名前は「telanor」に設定されています。これは重要ですか、つまり、パテ プロファイルで設定した自動ログイン ユーザー名と異なることは重要ですか?

そして最後はよくわからない。これは、putty プロファイルを使用してリポジトリをクローンするときの Git 拡張機能の正しい構文git://git/gitosis-admin.gitですか? 試してみると、応答は次のとおりです。fatal: Unable to look up git (port 9418) (No such host is known. ) そのポート番号をどこから取得しているのかわかりません。パテプロファイルで設定したものではありません

編集:

Henk のおかげで、URL はおそらくssh://git/gitosis-admin.git. しかし、あと2つ質問があります。パテプロファイルを使用できるという私の仮定は正しいですか? また、チュートリアルでは、クライアントから gitosis-admin.git をチェックアウトするように指示されています。これは、「gitosis をセットアップしたばかりではない他のコンピューター」を意味すると思いました。それとも、外部アクセスを許可する前に、同じコンピューターでチェックアウトしてユーザーを設定する必要がありますか?

0 投票する
2 に答える
1028 参照

git - gitosis 変更サーバー

gitosis の新しいインスタンスをインストールしましたが、古いインスタンスもあります。

リポジトリを古いサーバーから新しいサーバーに移動するにはどうすればよいですか? 新しいサーバーで複製しますか?

リモート ブランチを切り替えるには、開発者のコ​​ンピューターで何を変更する必要がありますか? それとも、再度クローンを作成する必要がありますか?

0 投票する
3 に答える
1287 参照

git - 最新でない場合、git push がリポジトリ全体を送信しないようにする

関連する質問:なぜ Git はオリジン マスターをプッシュするたびにリポジトリ全体を送信するのですか?

短いバージョン: 2 つの Git リポジトリで作業している場合、コミット オブジェクトの 99% が同一であっても、がリポジトリAを指すように設定されているときにコミットをリポジトリBgit pushに送信するために使用すると、すべてのオブジェクト (200MB +) が転送されます。origin

より長いバージョン:継続的インテグレーション サーバーに 2 つ目の Git リポジトリをセットアップしました。コミット オブジェクトをローカルで準備した後、通常のように直接origin/masterプッシュするのではなく、この 2 番目のリポジトリのブランチに変更をプッシュします。CI サーバーは新しいブランチを取得し、それを に自動リベースしmaster、統合テストを実行します。すべて問題なければ、ブランチをorigin/masterマスター リポジトリにプッシュします。

また、誰かが CI プロセスを迂回して直接プッシュした場合に備えて、CI サーバーはマスター リポジトリからgit fetchの最新のコピーを取得するために定期的に呼び出します。origin/master

これは、特にgit fetch; git rebase origin/masterCI リポジトリにプッシュする前に a を実行した場合に、うまく機能します。Git は、まだ にないコミット オブジェクトのみを送信しますorigin/master。プッシュする前にフェッチ/リベースのステップをスキップしても、プロセスは引き続き機能しますが、Git は、すべてではないにしても、大部分のコミット オブジェクトを CI リポジトリに送信しているように見えます。現在、200MB 以上の価値があります。(レポの新しいクローンは 225MB でクロックインします。)

私たちは何か間違ったことをしていますか?Git が CI リポジトリでブランチを形成するために必要なコミット オブジェクトのみを送信するように、この動作を修正する方法はありますか? 明らかに pre-push を実行することで問題を回避git fetch; git rebase origin/masterできますが、特にマスター リポジトリに直接プッシュしても同じ問題が発生しないため、その手順をスキップできるはずです。

私たちのリポジトリは Gitosis 0.2 によって提供されており、クライアントは圧倒的に msysgit 1.7.3.1-preview を実行しています。

0 投票する
2 に答える
2926 参照

git - ローカル Git リポジトリ (履歴付き) をリモート サーバー上の Gitosis によって管理されるように移動するにはどうすればよいですか?

SVN から Git に切り替えて、Gitosis を中央サーバーにインストールして、Ubuntu サーバー上の集中リポジトリを使用しています。

すべての SVN リポジトリを新しい Git リポジトリに移動して開始し、すべての履歴を Git に移動しました。

すべてのリポジトリを Git に移行したので、すべてのリポジトリを Gitosis に追加して、Gitosis で管理できるようにしたいと考えています。

リポジトリ (Git によって開始されたもの) を Gitosis に移動し、リモート/srv/gitosis/repositoriesで管理するにはどうすればよいgitosis-admin.gitですか?

0 投票する
1 に答える
250 参照

git - gitosisは作業コピーをどこに保存しますか?

gitosisが私のリポジトリの作業コピーをどこに保存しているのだろうか。gitwebインターフェースでファイルツリーを見ることができますが、/ srv / gitosis / repository/testrepoで作業コピーを見つけることができません。Iamは、リポジトリにプッシュしてクローンを作成することもできます。

しかし、作業コピーのパスを知らなくても、どうすればデプロイスクリプトを作成できますか?

0 投票する
1 に答える
1131 参照

git - Git / Gitosis - リポジトリの読み取りアクセスが拒否されました

ubuntu サーバーに git をインストールしました。tortoiseGIT を使用しているローカル マシンから、gitosis-admin をローカル マシンに複製しました。すべてがうまくいきました。gitosis.conf でキーとリポジトリを管理するために gitosis-admin リポジトリをチェックアウトした後、新しいリポジトリ gittest を .conf ファイルに追加しました。次の手順は失敗しました。

  • gittest という名前の新しいフォルダーをローカルの manchine に作成します
  • テストファイルを追加しました
  • 関与する
  • クライアントが言うサーバーにローカルリポジトリをプッシュします。

「エラー: gitosis.serve.main: リポジトリの読み取りアクセスが拒否されました」

このエラーは、/srv/git/repositories/gittest に新しく作成されたフォルダーで「git init」を使用してサーバー上のリポジトリを初期化し、クローンするリポジトリが空にならないようにファイルを追加して、クローンを試行した場合にも表示されます。それを私のローカルマシンに。

誰でもこのエラーを解決するのを助けることができますか?