我有一个旧的Intellij项目,我将继续开发它。通过它,我想创建一个新的独立项目,并拥有自己的GitHub存储库。我也想删除所有以前的提交,除了最后一个。
问题:执行此操作的一种干净方法是什么?
尝试过的:我已经通过克隆“旧”存储库创建了一个“新”项目。尝试通过Intellij在GitHub上共享“新”项目给了我“旧”存储库网址,并警告说“远程已经在GitHub上”。但我想将项目共享给新的仓库。
答案 0 :(得分:1)
尝试以下步骤:
1)再次克隆存储库
git clone git://server.com/my-repo1.git
在新位置执行此操作
cd /parent_folder
然后
cd /new 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
5)转到您的仓库
cd ../my-repo2/
6)使用本地参考将源存储库作为远程连接
git remote add repo1 ../my-repo1/
7)现在获取该源,创建分支并与目标存储库合并
git fetch repo1
git branch repo1 remotes/repo1/master
git merge repo1 --allow-unrelated-histories
8)推送您的更改
git remote rm repo1
git branch -d repo1
git push origin master