2012-04-11 11 views
1

WebサイトでGit管理されていないサンプルプロジェクトをダウンロードしてブランチを作成し、このプロジェクトにコミットした人がいます。そして、元の作者はこのプロジェクトのいくつかの更新を行い、ウェブサイトに公開しました。Git Merge from Unmanaged Project

私はこのアップデート(Git管理ではない)を私のGit管理プロジェクトにどのようにマージできますか?

私はVCS/Gitの新規ユーザーです。

ありがとうございました。 Raymond

答えて

1

変更を加える前の元のSHAから始まる2番目のブランチを作成します。

そのブランチを確認してください。

作業ディレクトリの内容を新しいバージョンの外部コードに置き換えます。

git add .およびgit add -uすべての変更と削除を実行します。

コミット。

元のブランチをチェックアウトし、第二のブランチをマージする。

+0

ありがとうございます。ファイルとフォルダを置き換えるために「コピー&ペースト」を使用するだけですか?作成者がファイル/フォルダの名前を変更したり削除したりするのはどうですか? – RRN

+0

作業ディレクトリの内容を消去し、新しいバージョンでコピーする必要があります。そうすることで、名前の変更と削除がすべて適切に実行されます。 – Amber

+0

私はGitがファイルの削除を '知る'ことができる理由を知ることができますが、名前を変更したファイルをどのように見つけることができますか?ありがとう。 – RRN

0
  1. 新しいブランチを作成し、新しいブランチ

    git branch AuthorUpdate

    git switch AuthorUpdate

  2. コピーに切り替え/すべてのファイルの変更を貼り付け、コミットします。残念ながら、ファイルの名前変更や削除は行われません。

    git add .

    git commit -am 'new changed by original author'

  3. masterブランチに切り替えて、それが

    git checkout master

    git merge AuthorUpdate

場合はマージコードに矛盾がある場合は、手動で解決する必要があります。 http://progit.org/book/ch3-2.html

+0

*を削除した方がうまくいくと思いますか?*ファイルを貼り付ける前に作業ディレクトリから? – RRN

+0

いいえ。ファイルを貼り付けた後、 'git status'と' git diff'を使ってコミットする前に変更を追跡できます。詳細:http://progit.org/book/ch2-2.html – seanbun

+0

申し訳ありません@RRN。アンバーは正しいです。彼女のソリューションはより効率的です。 – seanbun