使用Git/Github for Windows,如果我有一个存储库的这个目录:C:\dir1\dir2,我需要做什么来移动回购文件到C:\dir1?显然,我可以物理地复制和粘贴文件,但在Git端需要做什么呢?

我在GitHub上有这个回购,我使用Git Bash和GitHub for Windows。


当前回答

如果你已经在新的目标中移动/修改了代码,但想要继续使用相同的git repo…

在Windows中,你可以将隐藏的.git文件夹从旧位置复制粘贴到新位置。

然后像往常一样使用git。

其他回答

如果你已经在新的目标中移动/修改了代码,但想要继续使用相同的git repo…

在Windows中,你可以将隐藏的.git文件夹从旧位置复制粘贴到新位置。

然后像往常一样使用git。

如果你使用Visual Studio,使用Teams Explorer > Connect选项卡> Local Git Repositories中的Add来将现有的本地回购带到可用的回购中。不吵闹,不麻烦。

将本地存储库链接到不同的远程存储库

删除与远程存储库的所有连接: 在项目文件夹内:

删除本地存储库中的所有数据 git状态(我必须说它没有链接到任何)

链接到一个新的远程存储库

git init启动本地存储库 Git远程添加原始urlrepository。链接到远程存储库 git remote -v确认它链接到远程存储库

3-向本地存储库添加更改并推送

Git pull或Git pull origin master——allow-unrelated-histories(如果本地和远程repo中的Git历史不同)。 git添加。 git commit -m" Message " Git push -u origin master

如果你正在使用GitHub桌面,那么只需要执行以下步骤:

关闭GitHub桌面和所有其他打开文件的应用程序到当前目录路径。 如上所述,将整个目录移动到新目录位置。 打开GitHub桌面,点击蓝色(!)“仓库未找到”图标。然后将打开一个对话框,你将看到一个“Locate…”按钮,它将打开一个弹出窗口,允许你将其路径指向新的位置。

虽然前面的答案似乎都说你可以移动目录,在.git结构中没有绝对路径。当我使用Cygwin的git时,我发现这是不真实的。

当我移动我的git回购时(实际上我从备份中恢复了它,但由于我的驱动器结构在新系统上发生了变化)。我收到了一条错误信息

fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory

我使用grep在我的.git/配置文件[core]部分中找到了一个工作树变量,它保存了我的git repo的绝对路径。改变这一点为我解决了问题。