3

名前空間を作成し、裸のレポにプッシュしたいのですが、これが私がやったことです。プッシュは機能し、クローンは機能し、プルは機能しませんでした。

GIT_NAMESPACE=仕事

空のレポを作成し、コミットを追加しました

裸のレポへの git push が完了しました。ベアレポで名前空間/作業を見ました

クローンしたら、名前空間が来ませんでした。

同じ環境変数が設定されています。

4

2 に答える 2

3

私は git 名前空間を初めて使用するので、試してみることにしました。次のスクリプトはその結果です。これには 3 つのリポジトリが含まれます。リポジトリはベア リポジトリのsample作業名前空間にプッシュされます。sample-remoteそして、作業名前空間sample-remotesample-cloneリポジトリに複製しています。

#!/bin/bash

set -e

cd ~/Code
git init sample
cd sample
touch file
git add file
git commit -m "First commit"
git remote add origin ~/Code/sample-remote.git
git init --bare ~/Code/sample-remote.git
GIT_NAMESPACE=work git push origin master
cd ..
git clone ext::'git --namespace=work %s ~/Code/sample-remote.git' \
    sample-clone -b master
cd sample-clone
touch file2
git add file2
git commit -m "Second commit"
git push

引数がないと-b master、次のエラーが発生しました。

warning: remote HEAD refers to nonexistent ref, unable to checkout.

作業ディレクトリは空でした。

于 2013-01-24T22:23:38.733 に答える
0

これは、リポジトリにアクセスする方法によって異なります。

gitnamespaces(7)を参照してください。

ファイル システム アクセスの例:

git clone ext::'git --namespace=foo %s /path/to/repo.git'
于 2013-01-19T10:00:26.753 に答える