git clone --depth=1
というリポジトリのシャロークローンを作成しました。私はいくつかの変更を加えました。明らかに、浅いクローンの複雑さを理解することなく、...新しいプロジェクトを新しいリモートにプッシュしたいと考えています。Git:シャロークローンを 'unshallow'なしで新しいリモコンにプッシュできますか?
:私は今、別のマシンにプロジェクトをプッシュする
git clone --depth=1 file://old_project new_project
cd new_project
# made a handful of commits here....
。そのリモートマシン上で私がやった:
git init --bare new_project.git
そして戻って私のマシン上:私はpush
にプロジェクトをしようとすると、
git remote remove origin
git remote add origin ssh://<remote host>/path/to/repos/new_project.git
は今、私が手を:私は「何
fatal: protocol error: expected old/new/ref, got 'shallow 7f6a256...'
fatal: The remote end hung up unexpectedly
Counting objects: 49299, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (44533/44533), done.
error: pack-objects died of signal 13
error: failed to push some refs to '<my new remote>'
新しいレポに最初の浅いクローン以降の履歴が含まれていても、その時点以降に加えられた変更は保持されます。言い換えれば、私はブランチを「縛りをはずす」ことを望まず、前のすべての履歴を取り戻すことはしません。
プロジェクトから.git
ディレクトリを削除してからやり直すだけで、先を進む方法はありますか?
私のマシンはgit 1.9.1を実行しています。リモートが1.7.11.7を実行しています。私はおそらく、悪影響を及ぼすことなく私の側を更新することができますが、リモートには混乱を招かないようにするいくつかの他のプロジェクトを主催しています。
あまりにも投機的なので、私は本当の答えをしていませんが、私はここで1.7.11.7と1.9.1の間の浅いクローンサポートの変更を考えています。場合によっては、 '.git'ディレクトリのtarballを作成し、それを直接Gitをバイパスしてコピーして、あなたが望むことをすることができます。 – torek