2017-10-11 9 views
1

私はGitHubからオープンソースプロジェクトを複製したいが、プライベートレポが無料であるため、Bitbucketをリモートリポジトリホストとして使用したい。GitHubからプロジェクトを複製するが、Bitbucketをリモートリポジトリとして使用する方法

私はリクエストをフォーク/プルするつもりはありませんが、元のプロジェクトが更新されたら、ローカルリポジトリへの更新を取り込み、マージしたいと思います。

私は結局、2つのリモートリポジトリが必要になると思います。 (起点と上流)

このような環境を設定するには、どのような正しい/最も安全な方法がありますか?

+2

あなたはすでに適切な解決策を説明していると思います。 2つのリモコンが必要です.1つはギブスを指し、もう1つはビットバケットを指します。 'origin'と' upstream'という名前は、この種の設定にはかなり典型的です。最初にブランチをプッシュするときは、 '-u'を使って正しいリモートトラッキングブランチを設定してください。 – larsks

+0

ありがとう、私は正しい方向にあったことを知ってうれしいです。私はgitの基本コマンドしか知っておらず、このレベルで何も試したことはありません。私は多くのブログの記事と記事を読んだが、まったく同じ状況では何も見つかりませんでした。 –

答えて

1

私はちょうどGitHubのプロジェクト:google-calendar-backupでテストしました。

まず、私はBitbucketアカウントにログインし、google-calendar-backupという名前の専用のGitリポジトリを作成しました。
(注:パスはあなたのマシン上で異なる場合がありますので、私は、Windows上だ)GitHubの

から

  1. クローン元のレポ

    そして、私は、次の手順を行いました

    git clone https://github.com/christianspecht/google-calendar-backup C:\LocalDir 
    
  2. これは、GitHubを指し示す地元のレポに遠隔の「起源」を作成します。
    主にBitbucketで作業したいので、Bitbucketは "メイン"のリモートoriginにする必要がありますので、既存の名前を変更します。

    cd c:\localdir 
    git remote rename origin upstream 
    
    ローカルディレクトリへ
  3. 移動し、第2の遠隔としてのBitbucketのリポジトリを追加します、私のマシン上で

    git remote -v 
    

    git remote add origin https://bitbucket.org/christianspecht/google-calendar-backup 
    
  4. (オプション)は、両方のリモコンを表示します私はこの結果を得ます:

    origin https://bitbucket.org/christianspecht/google-calendar-backup (fetch) 
    origin https://bitbucket.org/christianspecht/google-calendar-backup (push) 
    upstream  https://github.com/christianspecht/google-calendar-backup (fetch) 
    upstream  https://github.com/christianspecht/google-calendar-backup (push) 
    
    すべてのブランチが一度

    git push -u --all origin 
    

    結果のBitbucketする

  5. プッシュ:

    Username for 'https://bitbucket.org': christianspecht 
    Password for 'https://[email protected]': 
    Counting objects: 30, done. 
    Delta compression using up to 4 threads. 
    Compressing objects: 100% (30/30), done. 
    Writing objects: 100% (30/30), 4.41 KiB | 0 bytes/s, done. 
    Total 30 (delta 12), reused 0 (delta 0) 
    To https://bitbucket.org/christianspecht/google-calendar-backup 
    * [new branch]  master -> master 
    Branch master set up to track remote branch master from origin. 
    

    -uためlarsksにクレジット - 私はこれを知らなかった、私はまだGitの自分自身を学んでいる)


それだけです。これで変更を加えてorigin(Bitbucket)に送信できます。
時々、元のプロジェクトから新しい変更を得るには、upstream(GitHub)から引き出す必要があります。

+0

ありがとう、それは完全に働いた。同じように仕事場に別のコンピュータを設置する必要もあります。しかし、すでにコードをBitbucketのリポジトリにプッシュしているので、私はGithubのオリジナルではなくこのコードを複製し、Githubリポジトリに上流のブランチを追加することを考えています。私は明日お試しになります。 –

関連する問題