将目录移动到github中的新repo
当前的回购协议看起来像这样将目录移动到github中的新repo,git,github,Git,Github,当前的回购协议看起来像这样 /ab/docter /ab/pepper /cd/.. ... 我想将整个历史记录保存在ab中,并将其移动到GitHub中的新回购中 /doctor /pepper 我试图将其拉入并手动移动到abrepo,但推入时没有历史记录:(签出所有分支,然后运行: git过滤器分支--标记名过滤器cat--删除空--子目录过滤器ABC--all 您想使用“git子树拆分” git subtree split --prefix dir-to-extract -b selec
/ab/docter
/ab/pepper
/cd/..
...
我想将整个历史记录保存在ab
中,并将其移动到GitHub中的新回购中
/doctor
/pepper
我试图将其拉入并手动移动到
ab
repo,但推入时没有历史记录:(签出所有分支,然后运行:
git过滤器分支--标记名过滤器cat--删除空--子目录过滤器ABC--all
您想使用“git子树拆分”
git subtree split --prefix dir-to-extract -b selective-history
来源:如果您移动所有文件,在新分支上提交更改,然后重新设置主分支的基础,该怎么办?@KeukenkastjeXYZ这听起来像一个计划……您能注意到执行此操作的实际命令吗?可能重复的I将首先从master:git checkout-b[name]创建一个新的本地分支然后移动文件并将其全部添加:git add-A然后提交文件:git commit-m'[message]',然后将分支推送到远程:git push origin[branchname]现在您的更改位于远程上的一个单独分支上。您可以将它们重新基础或合并到主分支。首先签出主分支:git checkout master,然后合并(或rebase,我更喜欢合并):git merge[branchname]现在一切都应该井然有序了,看看你的更改是否使它成为本地主机,然后将主机推到远程(git push)!使用的资源:你能详细说明一下吗???这篇文章没有太多解释,也没有意义:(很确定你给我的命令不起作用。你看了我附加的链接了吗?里面的信息太多了。太复杂了,我不知道如何将它应用到我的案例中:(SorryClone您的回购协议的新副本。签出您关心的每个平台。很可能是所有。
git filter branch--tag name filter cat--prune empty--subdirectory filter ab/doctor--all
这将创建一个包含ab/doctor的新回购协议。将origin设置为新的裸回购协议。git remote设置url origin PATH_to_repo.git
,然后按git-push-all
push标签。git-push-tags
。对其他目录重复此操作谢谢链接。这正是我要找的