2

gitweb を Web インターフェイスとして使用して、独自の git サーバーを実行しようとしています。ここでは、「git/」というディレクトリを提供しています。/Users/me/Sites/gitこれは、のドキュメント ルートです。git.example.com

Mac に「git」という名前のユーザーを作成し、git@git.example.com を ssh できるようにしました。正常にログインしています。

今、私が 'me@example.com' (ユーザー) として働いていて、リモート @ git.example.com にプッシュしたいとします。入力する必要があります。git remote add gitweb ssh://git@git.example.com/~/Sites/git/projectname.git

~/Sites/git/URL からを削除する方法はありますか? 理想的には、次のように入力できるようにしたいです。git remote add gitweb ssh://git@git.example.com/projectname.git

4

2 に答える 2

2

GitWeb と ssh は、2 つの異なる Git アクセス メカニズム用です。

  • Gitweb は Apache http サーバーによって提供されますhttpd.conf。例として my を参照してください。ただし、クローン作成用ではなく、ブラウジング専用です。
  • http(s) アクセスには、この configが必要で、エイリアスを呼び出しますgit-http-backend(私の例では、承認レイヤーである Gitolite を利用gitolite-shellしたいので呼び出します)
  • ssh アクセスは ssh デーモンを介して行われ (ここでは git デーモンは必要ありません。また、プッシュに git プロトコルを使用することはできません)、フル パスが必要になります。

clone/push/pull コマンドを実行するために ssh がフル パスを必要としない唯一のケースは、git コマンドをインターセプトしてカスタム スクリプトを呼び出すためにssh強制コマンドメカニズムprojectname.gitを使用している場合です (これにより、" " " ~/Sites/git/projectname.git" に)。
たとえば、それがGitoliteの機能です。

于 2012-08-18T08:02:15.737 に答える
1

git deamon の --base-path を利用できます。たとえば、192.168.52.2 の /home/fengxx/gitdemo/ で git repo1 を共有しています。

git daemon --verbose --export-all --base-path=/home/fengxx/gitdemo/

そして別のPCで、私は実行できます

git clone git://192.168.52.2/repo1

ssh を使用する必要がある場合、URL は ~/gitdemo/repo1 になります

git clone ssh://fengxx@192.168.52.2/~/gitdemo/repo1

そして、 user.name を次のように設定できます

git config --global user.name yourlogin
于 2012-08-18T07:22:50.770 に答える