假设我有一些git仓库DB2SimpleDataSource db2DS = new DB2SimpleDataSource();
db2DS.setClientDebugInfo("xxx");
。我想将此仓库克隆到一个名为x
的新仓库中。我不想将对x-new
的更改推送到x-new
,而是希望将它们推送到远程x
仓库。基本上,我希望x-new
不知道x-new
甚至存在。
在git中是否可以使用这种“深度复制”机制?我还没有找到规范的例子。也许我没有使用正确的措辞,但是“深度复制”是我认为可以描述我所需要的最佳方式。
答案 0 :(得分:1)
要在不克隆存储库的情况下复制存储库,请在Github中引用this链接。
答案 1 :(得分:1)
使用本地存储库:
git clone --no-hardlinks x x-new
cd x-new
git remote rm origin
使用远程存储库:
git clone --bare /link/to/remote/x x-new
cd x-new
git push /link/to/remote/x-new --all
答案 2 :(得分:1)
“深拷贝”一词是错误的,因为-默认情况下-任何克隆都具有原始存储库的所有提交。
您想要的是“进行另一个克隆”(为什么),并将URL更改为新的远程x-new
。
git clone --no-local x x-new
git -C x-new remote set-url origin $URL_TO_REMOTE_X_NEW
但是:如果您同时拥有远程x
和远程x-new
,那么只需更改您的 local x
的URL就足够了。 (可选)重命名您的本地仓库:
mv x x-new
git -C x-new remote set-url origin $URL_TO_REMOTE_X_NEW