2017-02-14 21 views
1

私は2つのGitHubリポジトリTinyDroidsMiwokコミットを失うことなく、別のgitリポジトリのサブディレクトリとしてgitリポジトリをインポートするには?

TinyDroidsを持っているが、サブディレクトリJustJavaREADME.mdを持っています。これにはログに約10のコミットがあります。 Miwokにはログに約12のコミットがあります。

Miwokリポジトリ全体をTinyDroidsリポジトリのサブディレクトリとしてコピーするにはどうすればよいですか?

結果のTinyDroidsリポジトリには、2つのサブディレクトリ、すなわちJustJavaMiwokが必要です。また、元の10コミット+12コミットをMiwokから取得する必要があります。私がこれまで試したどのような

:私はコミットし、この後に押すと

git clone https://github.com/username/TinyDroids.git 
cd TinyDroids 
git clone https://github.com/username/Miwok.git 

、全体Miwok subirectoryは、単一のは10回のコミットの上にコミットとして示されています。

私も試してみました:

git clone https://github.com/username/TinyDroids.git 
cd TinyDroids 
git pull --rebase https://github.com/username/Miwok.git 

これは私が理解していないことをリベースでいくつかの問題を提供します。この後のgit logは、Miwokの12個のコミットのみを示しています。

+0

「Miwok」のディレクトリ構造とは何ですか? –

+0

多くのサブディレクトリとファイルがあります。 'Miwok'は小さなアンドロイドプロジェクトです。 「JustJava」もそうです。 –

+0

MiwokをTinyDroids Android Studioプロジェクトのモジュールにしたいですか? –

答えて

1

ブランチの作成とマージをお勧めします。 Miwokディレクトリを目的のサブディレクトリに移動する必要がある場合もあります。これは何をすべきかのラフスケッチです:

$ git clone https://github.com/username/TinyDroids.git 
$ cd TinyDroids 

# Create an orphan branch to pull the Miwok repo to 
$ git checkout --orphan miwok 
$ git pull https://github.com/username/Miwok.git 

# Move the Miwok repo into a subdir 
$ mkdir Miwok 
$ git mv . Miwok 
$ git commit -m "Move Miwok repo to Miwok subdir" 

# Merge Miwok into TinyDroids 
$ git checkout master 
$ git merge miwok 

コマンドgit mv . Miwokは全く正しい動作しません。アイデアはすべてをMiwokサブディレクトリに移動することです。これを手動で行うには、さらにいくつかのコマンドを実行する必要があります。

p.s.これらはAndroid Studioプロジェクトなので、独立した2つのプロジェクトではなく、1つのプロジェクトでモジュールにするには、ハウスクリーニングを行う必要があります。

+0

git commitの前に 'git add .'を置く必要がありますよね? また、これらのすべての手順の後、私が 'git log'を実行すると、私は古い10のコミット+' Miwok subdir' + 'Merge branch miwok'に移動します。私は 'Miwok'リポジトリの12のコミットを見ません。 –

+0

@SonuMishra 'git branch'と' git log --all'を実行するとどうなりますか? –

+0

@SonuMishraそして、いいえ、あなたが 'git mv'を使うなら' git add。 'は必要ありません。ただ単に 'mv'を使うのであれば、必要に応じて' git rm'と 'git add'を行う必要があります。あなたはいつでも 'git status'をいつでもダブルチェックすることができます。 –

関連する問題