问题是每次我尝试将文件夹从我的旧存储库手动移动到新存储库时,它会给我一个错误,即一个文件夹中有太多文件夹要移动。
有人告诉我,如果我可以从这个文件夹中删除最后3或4个文件夹,我应该可以移动它并执行npm install
和其他一些步骤然后将其推送到新文件夹存储库分支。然后我尝试了,但另外几个文件夹在所有不同的位置给出了相同的问题。所以我认为必须有一种方法可以使用git / github将所有这些文件从我的旧存储库移动到新存储库。
不幸的是,当我设置了新的存储库时,我对远程存储库的访问被远程撤销,所以现在我只需要移动旧存储库的本地文件。
GitHub桌面不会让我克隆我的旧文件,因为新的存储库存在(它没有意义,但它逐字逐句地说)。
我可以在cmd中输入一串命令,我可以将所有文件从存储库1传输到存储库2,然后推送新的存储库2吗?
当我手动将旧的存储库文件复制并粘贴到新存储库文件中时,它会为几个不同的文件夹提供此错误。
源路径太长
我只需要知道我是否可以使用Git将我的文件从第一个存储库移动到第二个存储库。不使用github.com或Github桌面应用程序。
答案 0 :(得分:3)
首先,要意识到使用Git,存储库的每个副本都是完整的副本。有例外,例如浅层克隆......但大部分时间并非如此,并且您已经拥有整个历史的完整副本。
其次,您可以在回购中拥有多个远程URL。此外,如果您不再计划使用之前的网址,则可以更改您指向的网址。
您根本不需要执行任何本地文件复制。您只需要更改现有存储库所指向的URL。
假设通常的参数,您的遥控器可能名为origin
,您可能在master
分支。
git remote set-url origin git@github.com:your-username/new-repo-name
git push -u origin master
这将改变origin
远程点的位置,然后将主分支推送到新的远程(服务器)。 -u
标记会将master
分支设置为自动跟踪此新网址,因此将来只需git push
或git pull
即可,无需指定远程或分支
这只会推高master
分支,但您可以根据需要多次重复命令以推送其他分支。
git checkout some-branch
git push -u origin some-branch
这将完全转移到新的Git URL。您也可以在旧遥控器的旁边设置新的遥控器。要做到这一点,您只需添加另一个遥控器,而不是使用set-url
更改网址。
git remote add new-repo git@github.com:your-username/new-repo-name
git push -u origin master
此处再次设置-u
以设置自动跟踪功能。如果您不想更改远程跟踪的处理方式,只需省略-u
。