最近、ローカル ネットワーク内のサーバーに Docker を使用して GitLab をインストールしました。PC でローカルに管理しているリポジトリを移行しようとしています。GitLab 管理パネルで利用可能なほとんどすべてのオプションは「GitHub からインポート」のようなものであり、これらのオプションはどれも役に立たないため、GitLab にインポートできるようにするためだけに、ローカル ネットワーク内のローカル HTTP サーバーを介して回避策として公開しました。私の場合(つまり、リポジトリの.gitフォルダーをアップロードしてインポートすることはできませんでしたか?-逆に言えば)ちなみに、私が選んだのは「URLによるリポジトリ」でした:
GitLab では、ローカル ネットワーク内のサーバーを指す URL からのインポートが許可されていないため、無効にする必要があったセキュリティ設定があります。そこで、アウトバウンド サービス セクション内の「フックとサービスからローカル ネットワークへのリクエストを許可する」というオプションをオンにしました。
次に、「プロジェクトのインポート」というタブを使用して、その中のフォームに入力して、GitLab から新しいプロジェクトを作成してみました。その後、このメッセージが表示されるまで、「インポート中...」というメッセージが何度も何度も再試行されているように見えますが、長時間実行され続けます。
すべてのインポート試行が失敗しました: リポジトリhttp://111.222.33.44/path/to/my/repository/root/folder/.gitを myuser/my_project にインポート中にエラーが発生しました - 13:CreateRepositoryFromURL: clone cmd wait: exit status 128. 試してくださいまた。
オンラインで投稿された Gitlab マニュアル、GitLab に関するさまざまな記事を読んで、このエラーについてグーグル検索し、同様の (しかし非常に異なる!) 問題のあるチケットを何十枚も見つけました...しかし、私はまだ理解していません。リポジトリをすぐにアップロードしますか?
指定された URL自体は問題ではありません。Web ブラウザーに入力すると、Web ブラウザー内でプロジェクトのファイルシステム全体がはっきりと表示され、追加/.gitすると、隠し.gitフォルダーの内容も表示されます。私のブラウザでは...しかし、何らかの理由で、これはGitLabには十分ではありません...
私はこれについて非常に混乱しています。私が見つけたリンクの 1 つは、Export a repository from a Gitlab server to another Gitlab serverです (他の Gitlab からインポートすることはありませんが、PC で作成された単純な git リポジトリは単純なgit init.私のケースは簡単なことではありません。私はこれについて一日中探していましたが、成功しませんでした...)。そのリンク内には、次のような部分があります。
空のリポジトリを複製したという警告が表示されます。これは正常です。チェックアウトしたリポジトリの作業ディレクトリに移動し、git pull を実行します。
...だから、GitLabのインストールが「空のリポジトリ」を作成したフォルダーを見つけ、git pullそこからコマンドを実行して、他のローカルサーバーマシンへのルートを指定しました。これに似たもの:
git pull http://111.222.33.44/path/to/my/repository/root/folder/my_project.bundle
.bundle...上記のリンクにある指示に従って、反対側でファイルの作成に成功した直後。しかし、何らかの理由で、私のGitLabサーバーのCLIはコマンドを見つけられませんgit! (おそらく、何らかの形でラップされているのvirtualenvでしょうか?それとも、そもそも含まれていなかったPATHのでしょうか?誰にもわかりません...)。いずれにせよ、どこに引っ張るのですか?プルする作業ディレクトリがありません!
これについて他にできることはありますか?pushGit に関する私の知識は限られています。ほとんどの場合、Git を使用して、どこからでも必要なく、自分だけでリポジトリを管理してきましたpull(私の 1 つの GitHub プロジェクトをまれに例外として)。
プロジェクトをインポートする方法に関する公式のGitlabのマニュアルには、元の、ラップされていない、糖化されていない、通常のgitコマンドライン ソフトウェアを除いて、どこからでも移行するための指示が含まれていることを付け加えておきます。
