2017-02-12 10 views
-1

をコミットし、 リポジトリAは10回のコミットを持っており、4日からIをコミット私は複数のものを試してみましたが、彼らは gitのクローンのように作業して、新しいディレクトリにgitのチェックアウトと複数のスタックオーバーフローの答えに、新しいgitリポジトリが、私はいくつかの特定のmから新しいリポジトリにコミットを作成したい、nはコミットしていGitのリポジトリ、</p> <p>例を持っている

How do I create a new git repository from a folder in an existing git repository?

されていないA.

の新しいリポジトリBは独立を作成したいです

how to create a new git repository from an existing one

コミットの面では実行できませんでした。誰でも助けてもらえますか?あなたはそれが独立したい場合

おかげ

+0

他のコミットと同じ内容の新しいルートコミットを作成しますか? – PetSerAl

+0

質問が必要です。サンプルグラフを作成すると多くの助けになります。 – LopSae

答えて

0

クローンレポA. は、リモート「起源」を削除します。 そして(とを学ぶ方法)git rebase -iを使用して、保持、削除、またはスクラッシュするコミットを選択します。 10個のコミットしかなく、削除したいコミットが後でコミットすることはないので、うまくいくはずです...

0

多くの場合、gitとなっています。

上記の答えの代わりにリモートとして空のリポジトリを追加し、git push other_remote commit:refs/heads/master

を使用してコミットプッシュすることです。ここデモンストレーションです:

# Set up the parent repo 
$ git init repo1 
Initialized empty Git repository in /tmp/repo1/.git/ 
$ cd repo1 
$ seq 10 | xargs --replace git commit -m 'commit {}' --allow-empty 
[master (root-commit) 7444793] commit 1 
[master 6b12c35] commit 2 
[master 3743f03] commit 3 
[master b4221a7] commit 4 
[master f7e1009] commit 5 
[master 4c8e4e9] commit 6 
[master 6618f10] commit 7 
[master a1c1b26] commit 8 
[master 802bed2] commit 9 
[master 13734f2] commit 10 
# Set up the new repo 
git init ../repo2 
# Allow pushing to the master branch 
git -C ../repo2 config receive.denyCurrentBranch ignore 
# Add the other repo as a remote 
git remote add other_remote ../repo2 
# Push the commit 5-back to repo2's master branch 
# Note you can use anything that resolves to a refish like thing (a branch, a commit, a tag, etc.) 
git push other_remote HEAD^^^^^:refs/heads/master 
# Show our handywork 
$ cd ../repo2 
$ git log --oneline 
f7e1009 commit 5 
b4221a7 commit 4 
3743f03 commit 3 
6b12c35 commit 2 
7444793 commit 1 
0

のコミット履歴Oを言ってみましょうRepo Aのf masterA-B-C-D-Eです。目標は、Cを指し示すブランチでRepo Bを作成することです。

git init RepoB 
cd RepoB 
git fetch <path_of_RepoA> master 
git checkout -b master C 
関連する問題