使用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的方法是使用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
希望能有所帮助。
其他回答
更基于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
希望能有所帮助。
如果你已经在新的目标中移动/修改了代码,但想要继续使用相同的git repo…
在Windows中,你可以将隐藏的.git文件夹从旧位置复制粘贴到新位置。
然后像往常一样使用git。
这对我没用。我将一个repo从(例如)c:\project1\移动到c:\repo\project1\, Git for windows没有显示任何变化。
Git状态显示错误,因为其中一个子模块“不是Git存储库”,并显示旧路径。例如(为保护知识产权而更改名称)
C:/project1/.git/modules/subproject/subproject2 致命:“git状态—瓷器”在子模块子项目失败
我必须手动编辑子模块中的.git文件,以指向子模块的repo的正确相对路径(在主repo的.git/modules目录中)
将本地存储库链接到不同的远程存储库
删除与远程存储库的所有连接: 在项目文件夹内:
删除本地存储库中的所有数据 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
虽然这个问题涉及到Windows的Git,但即使在搜索Visual Studio Tools for Git(在VS 2012中扩展,在VS 2013中本地支持)时,这似乎也是排名第一的结果。
使用上面的解决方案作为指导,我确定Visual Studio Git Tools使本地移动回购(甚至所有回购的整个目录结构)非常容易。
1)关闭Visual Studio。 2)将Repo文件夹移动到新的位置。 3)开放Visual Studio。打开团队浏览器。切换到“连接”视图(插头图标在顶部)。 3a)如果Repos仍然显示旧路径,单击刷新强制更新。 4)本地移动的回购将不再显示在“本地Git存储库”中。 5)单击“添加”(非新建或克隆),选择要添加的repo文件夹。
在第5步中,您实际上只是提供了一个搜索路径,搜索将自动包括所有子文件夹。如果你有多个回购组织在一个单一的根目录下(独立的回购只是有相同的父文件夹),那么选择父文件夹将包括在该目录下找到的所有回购。
例子: E: \回购\ RepoA E: \回购\ RepoB E: \回购\ RepoC
在Visual Studio Team Explorer [Add] > "E:\Repos\" > [Add]将这三个都返回到本地存储库。