空でないディレクトリにクローンを作成するにはどうすればいいですか? 質問する

空でないディレクトリにクローンを作成するにはどうすればいいですか? 質問する

ディレクトリ B に一致するファイルを含むディレクトリ A があります。ディレクトリ A には他の必要なファイルがある可能性があります。ディレクトリ B は Git リポジトリです。

ディレクトリ B をディレクトリ A にクローンしたいのですが、ディレクトリが空ではないため、git-clone ではそれができません。

.git をクローンするだけで、すべてのファイルが一致するのでそこから進めることができると期待していました。

ディレクトリ A にディレクトリ B にはないファイルがあり、それを保持したいため、空のディレクトリにクローンすることはできません。

参照をプッシュ/プルしたいのですが、手動で設定したくないので、.git をコピーするオプションはありません。

これを実行する方法はありますか?

更新: これは動作すると思いますが、何か問題があると思われる方はいらっしゃいますか? -->

cd a
git clone --no-hardlinks --no-checkout ../b a.tmp 
mv a.tmp/.git .
rm -rf a.tmp
git unstage # apparently git thinks all the files are deleted if you don't do this

ベストアンサー1

これは私にとってはうまくいきました:

git init
git remote add origin PATH/TO/REPO
git fetch
git reset origin/master  # Required when the versioned files existed in path before "git init" of this repo.
git checkout -t origin/master

注: -t必要に応じてアップストリーム ブランチが設定されます (通常はそうなります)。

おすすめ記事