2012-09-13 13 views
5

私は現在、私のチームのGitリポジトリホスティングサービスのオプションを評価しています。私はGitHubを使うのが面倒ですが、代わりに(またはそれに加えて)AtlassianのStashを使いたいという理由があります。Gitホストを移行する

Gitでは、リポジトリとその履歴をホスティングサービスから別のサービスにコピーすることは可能ですか?これを行うのに問題がありますか?私たちが1つのプロバイダを降りて、その後に切り替える必要があると判断した場合、失うものは何かありますか?

Gitの一般的な回答に興味がありますが、GitHubとGitHubの間で特に移行しようとすると失われるデータの一部として保存されているアトラシアンのスタック?

おかげで、

==アップデート(V2)==

ちょうど私が使用してのGithubに私はスタッシュから持っていたクローンから、これを行うとプッシュ成功しなかった、フォローアップします

git clone --mirror ssh://[email protected]:8080/Stash/Project.git MyGithubProject 
cd MyGithubProject 
git remote set-url origin [email protected]:MyGithubOrg/MyGithubProject.git 
git push --mirror origin 

そして、ブランチを含むすべての予想される履歴を保持していました。

+1

あなたはgitリポジトリのクローンを作成するときは、すべてのものを得る - それはgitののポイントです - あなたが –

+0

が好きしかし、私は新しいリポジトリに複製することができて何度でもそれを移動することができるはずですが?たとえば、GitHubを見てみると、ローカルマシンから開始したリポジトリに基づいて新しいリポジトリを作成する方法はわかりません。私が移動できるサーバーにSSHアクセスできるかどうかは分かりますが、特にStashやGitHubのようなホストサービスを使用する場合の制限については心配しています。私は何か基本的なことを誤解しているかもしれません。懸念が愚かであるか質問だけが意味をなさない場合は、私を修正してください。 –

+1

すべてのgitリポジトリは同等(多かれ少なかれ)で作成されます。あなたの箱にあるものは、githubのものと同じくらいのレポジトリです。したがって、新しいリモートを新しいリモートとして設定し、それにブランチをプッシュすると、それは他の2つと同じになります。 – Dan

答えて

3

あなたのご意見につきましては、gitの文脈での質問はあまり意味がありません。リポジトリのクローンにはリポジトリの全履歴が含まれます。 githubの上

  1. どれgit hooksセットアップ:それは書かれて、あなたがサービスを変更した場合は、再作成する必要があると思い3つのものがあります。これらはリポジトリには格納されません(複製されたリポジトリ用)。しかし、バージョン管理もできないという理由もありませんので、どのサービスでも再作成するのは簡単でしょう。これも良い方法です。あなたが気にするものをバージョン管理します。

  2. ユーザーはリポジトリへのアクセスを許可されています。明らかに、サービスの変更は、開発者がそのサービスに関するアカウントを取得し、会社のリポジトリを表示する権限を取得する必要があることを意味します。

  3. 個人用開発者リポジトリ。あなたの会社のレポのフォークは、明らかに新しいサービスで再作成する必要がありますが、これは簡単な操作です。あなたはダビデの答えで簡単に説明することができます。

2

私はちょうど2つの異なるリモコンでこれをテストし、新しいものを追加して、古いものを削除し、押して、コミット履歴は失われませんでした。

+0

ここに「新しい」を追加しましたか?私はこれが私がサーバを所有している場所であれば、これですべてが簡単に動作すると思いますが、どちらのサービスでも既存のプロジェクトを使って新しいプロジェクトを作る方法がわかりません。ありがとう、 –

+1

新しいサービスでリポジトリを作成し、そのリポジトリのGit URLを、現在他のサービスのリモートがある作業リポジトリにリモートとして追加します。 "git add github url.git" - ここで、url.gitは新しいリポジトリのURLで、githubはリモートの名前です。 "git remove origin"で古いリモートを削除し、すべてのブランチをプッシュすることができます。 –

関連する問題