0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gitでローカルプロジェクトを既存のリモートリポジトリと統合する方法 (--allow-unrelated-histories)

Posted at

Gitでローカルプロジェクトを既存のリモートリポジトリと統合する方法(--allow-unrelated-histories)

この記事は、すでに作成済みのローカルプロジェクトを既存のリモートリポジトリと統合する方法を説明します。

ユースケース

  • XcodeやAndroid Studioなどの開発ツールがプロジェクト作成時に自動でGitリポジトリを初期化している
  • ローカルで開発を進めていたが、既存のリモートリポジトリを利用して管理する必要がある

対象のリモートリポジトリ構成

この記事では、次のような構成のリモートリポジトリを前提としています:

  • メインブランチ (main): 本番環境で使用する安定版コードを管理するためのブランチで、通常は直接開発を行いません
  • 開発用ブランチ (develop): 開発中のコードや新機能を実装する際に使用されるブランチ

事前準備

  • Gitがインストールされていること

ターミナルで次のコマンドを実行し、Gitがインストールされているか確認してください:

git --version

Gitがインストールされていない場合は、公式サイトのインストール手順に従ってください:

Git公式ダウンロードページ

手順

1. リモートリポジトリからdevelopブランチを取り込む

リモートリポジトリのURLを追加する:

git remote add origin <リモートリポジトリのURL>

developブランチを作成し、切り替える:

git checkout -b develop

すべてのローカルファイルをステージングに追加する:

git add .

ローカルの変更をコミットする:

git commit -m "backup local changes before pulling"

リモートからdevelopブランチを取り込む(異なる履歴を許可する):

git pull origin develop --allow-unrelated-histories   

Gitのヒントが表示された場合

Gitが次のようなヒントを出すことがあります:

hint: You have divergent branches and need to specify how to reconcile them.

mergeを選択する場合は次を実行する:

git config pull.rebase false 

変更内容を反映するため再度プルします:

git pull origin develop --allow-unrelated-histories  

コンフリクトが発生した場合:

リモートとローカルの変更が競合すると、次のようなメッセージが表示されます:

CONFLICT (content): Merge conflict in <ファイル名>
Automatic merge failed; fix conflicts and then commit the result.

対象のファイルの競合を解決し、変更をコミットする:

git add .
git commit - m "resolved merge conflict in <ファイル名>"

2. リモートに変更をプッシュする:

git push origin develop

3. ローカルブランチを整理する

不要なローカルブランチによる混乱を防ぐため、ローカルのmainブランチを削除する:

git branch -D main

リモートブランチの情報を更新する:

git fetch

このコマンドはリモートの変更履歴を更新するだけで、ローカルの状態には影響しません。

これで、ローカルプロジェクトが既存のリモートリポジトリに統合されました! 🎉

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?