git:将存储移动到另一个目录中的存储库

问题描述 投票:0回答:5

我在目录中有一个本地存储。

由于某些原因,我不得不将同一个远程项目重新导入到另一个目录中。

有没有一种方法可以将我的存储从旧目录移动到新创建的目录,因为它们遵循相同的远程项目和分支?

git git-stash
5个回答
19
投票
当我面临与OP所面临的相同情况时,

此处提到的步骤对我很有帮助。复制粘贴以下步骤,以防链接不起作用 - 在您的旧存储库/目录中 -

git stash show -p > patchfile

如果您有想要迁移的特定存储 - 

git stash show -p stash@{5} > patchfile

在您的新存储库/目录中(确保您位于正确的目录中,否则应用补丁时可能会遇到错误)-

git apply /old/project/dir/patchfile git stash



9
投票


8
投票

git stash branch

 从您的存储中创建一个分支:

$ git stash branch <branchname> [<stash>]

此命令执行以下操作:

使用
    <branchname>
  •  创建一个新分支
    
    将您切换到新分支
  • 应用指定的存储(如果省略,则应用最新的存储)
  • 暂存所有隐藏的更改以供提交
  • 在该分支上提交并推送更改后,您可以从中获取或拉取。


0
投票


0
投票
这是脚本的要点

。获取该文件并确保在保存该文件的目录中运行 chmod u+x migrate-git-repo.sh。然后像这样使用它:

./migrate-git-repo.sh <path-to-old-repo> <path-to-new-clone>

相对路径没问题。如果您只想复制存储而不是分支,它会一路提示。它将防止不干净的工作树。欢迎反馈。希望这能让别人的生活更轻松。

© www.soinside.com 2019 - 2024. All rights reserved.