2012-04-20 10 views
3

第三者プロジェクトを非トラックファイル(.gitフォルダなし)としてダウンロードし、変更内容を追跡するために、$git initという新しいgitリポジトリを開始しました。新しいgitリポジトリを別のリポジトリからブランチに変更するにはどうすればいいですか?

私は、このプロジェクトに既に公開されているgitリポジトリがあり、ダウンロードした裸のファイルと同じ状態を持っていることがわかりました(私の最初のコミットと同じです)。私が行っているはずです何

は、リモートリポジトリをクローン化し、新しいローカルブランチを作った後、リモートにそれをプッシュ。

私は実際にました:

はファイルだけを取り、それにクリーンなローカルのgitリポジトリ(マスター)を開始し、いくつかのコミットを行いました。私が何をしたいか

は私の地元の初期にはリモートリポジトリのブランチにコミット回して(その親を変更)し、私はすでにやった変更を保持

私はこれが可能なはずだと思いますが、私はGitを十分に知りません。

ありがとうございます!

答えて

3

さて、あなたは(あなたはあなた次第、originとは異なる名前を使用したい場合があります)次のことを試みることができる:

  1. git remote add origin url_of_project_repository
  2. git fetch origin
  3. git rebase FETCH_HEAD

あなたはかなりの可能性を秘めていますが、実際にはあなたのベースと新しいリモートのファイルは同じですが、偽のマージコあなたの変更以外は何もスキップしないでください。

これが完全に動作しない場合は、「実際の」リポジトリを別の場所に複製してから、その上に変更を適用し直すこともできます(非常に手作業でより多くの自動化手段へのDIYの方法)。

+0

これは私が推測するよりも簡単です。予想通り、gitは自分の変更がどこで始まったのかを自動的に推測しようとしましたが、それらをマスターブランチに適用しました。 私のコミットをする方法は、新しいブランチに属していますか? –

+0

あなたは元のパッケージの履歴の上にあなたの作品を移動しました。ローカルの "master"ブランチの名前を 'git branch -m master your_branch_name'に変更するだけです。 – Romain

2

元のリポジトリにリモートとしてリポジトリを追加し、コミットをフェッチしてリベースすることができます。

関連する問題