使用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。
当前回答
将本地存储库链接到不同的远程存储库
删除与远程存储库的所有连接: 在项目文件夹内:
删除本地存储库中的所有数据 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
其他回答
未来报告:2018年4月。
我想在我的Mac和Windows上规范化我的本地回购,它们最终在不同的本地文件夹中。
Windows 10客户端让我经历了“找不到”、“>”、“定位”的例行程序,乏味但并不可怕。还需要在选项中更新本地“克隆路径”以供将来使用。
当我合并mac文件夹时,Github客户端又发现了它们-我什么都不用做!
我使用Visual Studio git插件,我有一些网站运行在IIS上,我想移动。一个简单的方法对我很有效:
关闭Visual Studio。 移动代码(包括git文件夹等) 单击新位置的解决方案文件
这将使用已移动的现有本地git文件刷新到新位置的映射。当我回到Visual Studio时,我的团队资源管理器窗口显示了新位置的回购。
-首先检查当前文件夹中包含git repo的所有目录 $ ls -la或者ls -al
-识别这个文件夹
**.git**
-使用此命令移动文件夹到您需要的位置,
$ mv .git你想要的目录
注意:>目录不会影响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的方法是使用cd或复制粘贴对本地副本进行更改,然后将这些更改从本地存储库推到远程存储库。
如果您尝试检查本地回购的状态,它可能会显示“未跟踪的更改”,这实际上是重新定位的文件。要强制执行这些更改,您需要使用
$ git add -A
#And commiting them
$ git commit -m "Relocating image demo files"
#And finally, push
$ git push -u local_repo -f HEAD:master
希望能有所帮助。