如何从另一个项目的GitHub回购中创建单独的Intellij项目?

如何从另一个项目的GitHub回购中创建单独的Intellij项目?,git,github,intellij-idea,Git,Github,Intellij Idea,我有一个旧的Intellij项目,我会继续开发。在此基础上,我想创建一个新的独立项目,拥有自己的GitHub回购协议。我还想删除所有以前的提交,除了最后一个 问题:什么是干净的方法 尝试:我通过克隆“旧”回购协议创建了一个“新”项目。试图通过Intellij在GitHub上共享“新”项目时,给了我“旧”repo url,并警告说“远程设备已经在GitHub上”。但我想将该项目分享给新的回购协议。尝试以下步骤: 1) 再次克隆回购协议 git clone git://server.com/my-r

我有一个旧的Intellij项目,我会继续开发。在此基础上,我想创建一个新的独立项目,拥有自己的GitHub回购协议。我还想删除所有以前的提交,除了最后一个

问题:什么是干净的方法

尝试:我通过克隆“旧”回购协议创建了一个“新”项目。试图通过Intellij在GitHub上共享“新”项目时,给了我“旧”repo url,并警告说“远程设备已经在GitHub上”。但我想将该项目分享给新的回购协议。

尝试以下步骤:

1) 再次克隆回购协议

git clone git://server.com/my-repo1.git
在新位置执行此操作

cd /parent_folder
然后

2) 删除所有条目及其历史记录,创建一个只包含数据和历史记录的干净git存储库

git filter-branch --subdirectory-filter your_dir -- -- all
3) 移动所有内容,使其不会与新的回购合并冲突

mkdir new_directory/
git mv my_stuff new_directory/
4) 提交您的更改

git commit -m
git remote rm repo1
git branch -d repo1
git push origin master
5) 去你的回购

cd ../my-repo2/
6) 使用本地引用将源repo作为远程连接

git remote add repo1 ../my-repo1/
7) 现在获取该源,创建一个分支并与目标repo合并

git fetch repo1
git branch repo1 remotes/repo1/master
git merge repo1 --allow-unrelated-histories
8) 推动你的改变

git commit -m
git remote rm repo1
git branch -d repo1
git push origin master

在编辑之后,现在更有意义了。最初,我无法通过步骤2),因为Intellij给出了一个关于未老化更改的错误。我最终手动复制了这些文件(我知道,这并不酷)。但我下次遇到这个问题时会尝试这些步骤。是的,很抱歉,我在运行测试运行后意识到了这一点,并希望确保我用更好的说明更新了这些步骤。老实说,一本手册只要能用就行。如果您想/需要留在git世界并真正实现分支,这是我唯一可以使用的指令集。