7

git://Bitbucket には、リモートの場所からリポジトリをインポートするためのインポーター ツールがありますが、プロトコルのみをサポートしています。私たちの既存のリポジトリは、私が変更できないファイアウォールの背後にある会社が管理するマシン上にあり、git://利用できません。元のリポジトリのすべての履歴と詳細をそのまま維持しながら、リポジトリを会社のマシンから bitbucket に移動する必要があります。

元のリポジトリを ssh 経由でローカル マシンに複製し、そのリポジトリを bitbucket の新しく初期化されたリポジトリにプッシュすることで、これを達成できる方法はありますか? その方法で履歴やデータが失われることはありますか?

(bitbucket固有ではない答えを期待していますが、いずれにしてもgitリポジトリを「移動」するために機能します。)

4

3 に答える 3

10

すべての履歴があることを確認する必要があります。これを行うには、最初に完全なローカル ベア クローンを実行します。

git clone --mirror git://LOCAL_URL/somerepo.git

次に、リモコンを追加して、ティモシーが指摘したように押します。ただし、リモート エイリアスには origin 以外のものを使用することをお勧めします。

git remote add bitbucket ssh://git@bitbucket.org/someuser/somerepo.git
git push -u bitbucket --all

これは、任意の Git ホスティング サービスに使用できます。リモート URL を任意のものに置き換えるだけです。

于 2013-03-05T16:57:33.063 に答える
6

私が知っていることから、レポ全体を複製してプッシュするとうまくいきます。Bitbucket には次のコマンドもあります。

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/someuser/somerepo.git
git push -u origin --all   # to push changes for the first time
于 2013-02-28T15:29:13.660 に答える
-1

git://プロトコルのみをサポートしていると思われる理由は何ですか?スマートhttpプロトコルをサポートしているため、たとえばhttps://github.com/jquery/jqueryをインポートするだけです。

したがって、リポジトリがインターネットからアクセス可能でHTTP(S)を実行している場合は、インポーター(適切なクローンを作成し、履歴を保持します)を使用しても問題はありません。

于 2013-03-06T00:58:23.413 に答える