使用Git/Github for Windows,如果我有一个存储库的这个目录:C:\dir1\dir2,我需要做什么来移动回购文件到C:\dir1?显然,我可以物理地复制和粘贴文件,但在Git端需要做什么呢?
我在GitHub上有这个回购,我使用Git Bash和GitHub for Windows。
使用Git/Github for Windows,如果我有一个存储库的这个目录:C:\dir1\dir2,我需要做什么来移动回购文件到C:\dir1?显然,我可以物理地复制和粘贴文件,但在Git端需要做什么呢?
我在GitHub上有这个回购,我使用Git Bash和GitHub for Windows。
当前回答
I use Github Desktop for Windows and I wanted to move location of a repository. No problem if you move your directory and choose the new location in the software. But if you set a bad directory, you get a fatal error and no second chance to make a relocation to the good one. So to repair that. You must copy project files in the bad directory, make its reconize by Github Desktop, after that, you can move again your project in another folder and make a relocate in the software. No need to close Github Desktop for that, it will check folders in live.
希望这能帮助到一些人。
其他回答
-首先检查当前文件夹中包含git repo的所有目录 $ ls -la或者ls -al
-识别这个文件夹
**.git**
-使用此命令移动文件夹到您需要的位置,
$ mv .git你想要的目录
注意:>目录不会影响git的历史记录,也不会影响远程连接 考虑要移动到的目录的树(路径)
我使用Visual Studio git插件,我有一些网站运行在IIS上,我想移动。一个简单的方法对我很有效:
关闭Visual Studio。 移动代码(包括git文件夹等) 单击新位置的解决方案文件
这将使用已移动的现有本地git文件刷新到新位置的映射。当我回到Visual Studio时,我的团队资源管理器窗口显示了新位置的回购。
我不确定这个问题,所以这里有两个答案:
如果你想移动你的存储库:
简单地复制整个存储库(包括它的.git目录)。
在.git结构中没有绝对路径,也没有任何东西阻止它被移动,所以在移动之后你就没有什么可做的了。所有到github的链接(参见.git/config)将像以前一样工作。
如果你想将文件移动到存储库中:
只需移动文件。然后添加git status中列出的更改。下一次提交将执行必要的操作。您将很高兴地了解到不会复制任何文件:在git中移动文件几乎是零成本的。
虽然前面的答案似乎都说你可以移动目录,在.git结构中没有绝对路径。当我使用Cygwin的git时,我发现这是不真实的。
当我移动我的git回购时(实际上我从备份中恢复了它,但由于我的驱动器结构在新系统上发生了变化)。我收到了一条错误信息
fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory
我使用grep在我的.git/配置文件[core]部分中找到了一个工作树变量,它保存了我的git repo的绝对路径。改变这一点为我解决了问题。
如果你已经在新的目标中移动/修改了代码,但想要继续使用相同的git repo…
在Windows中,你可以将隐藏的.git文件夹从旧位置复制粘贴到新位置。
然后像往常一样使用git。