2016-08-30 6 views
0

私は既存のgitリポジトリを持っています。既存のgitリポジトリからすべてのハッシュ(コミット)を既に少なくとも1つのハッシュ(コミット)を持つ新しいgitリポジトリにプッシュしたいと思います。だから私は、次の操作を実行したいと思います:既存のGitリポジトリに対するリベース後に新しいgitにプッシュ

  1. のgitプル
  2. リベース新しいGitのリポジトリに新しいGitのリポジトリを使用して
  3. プッシュ

私は正確なのgitコマンドは何ですか順番に行う必要がありますか?

+1

new-repoへのmasterへ。あなたは物事がどのように呼び出されているのかわからない場合は、gitの概念を完全に避け、あなたが何をしたいのかを記述します。これはXYの問題を避けるべきです。 –

+0

あなたはすでにこれを稼働させようとしましたか?既存のリモートは、ローカルリポジトリの最初のコミットと同じですか? –

+0

以下のコメントを参照してください。 –

答えて

3

私は、そうでなければ、これに対処する必要があります、私はマージベースとして適した少なくとも一つの共通の祖先があることが前提となります

あなたが可能リベースの問題を自分で対処することを仮定しますこれらの手順


私はあなたの提案されたアプローチにいくつかの中間ステップを追加するに次のような問題の前に

  1. から
  2. プッシュ更新支店(同様の方法で他の支店を進める)new-repoからmaster枝上にnew-repo
  3. リベースmasterブランチからデータを取得old-repo
  4. にリモートレポ(new-repo)を追加します。 new-repoレポジトリ

質問

  • 2つをマージする方が簡単でしょうか?

  1. new-repo

    $ git fetch new-repo 
    
  2. のデータリベースmaster(現在のブランチと最新)のフェッチnew-repo

    $ git remote add new-repo <url-to-new-repo> 
    
    リモート

    として
  3. を追加します。(あなたは "gitのを" プッシュすることはできませんし、何の "チェックイン" の存在しない)正しいGitの用語を使用してみてくださいnew-repo

    $ git rebase new-repo/master 
    
  4. プッシュ

    $ git push new-repo master:master 
    
+0

ありがとう、私は最後に何か非常に似ていました:1. git checkout origin/master 2. git remote add 3. git fetch - すべて4. git rebase /master 5. gitプッシュHEAD refs/heads/master –

関連する問題