前言
今天碰到一件事,需要基于项目某个commit重新创建一个全新的项目,后面这两个项目没有关系。正常情况下我们都是基于某个commit创建分支,在分支上继续开发,后面合并分支。但是这次不同,要重新创建项目,后面不会合并。于是研究了下怎么操作,这里记录一下。
方法
思路是创建新分支,用新分支替代master分支,这样就能保留之前的提交记录,下面给出详细步骤
#基于commit SHA1创建新分支,SHA1,通过 git log获取
git branch newbranch commitSHA1
#切换到新分支
git checkout -b newbranch
#退到项目的上一次目录,比如/workspace/project,cd到workspace目录,然后复制项目
cp -r project/ newproject/
#切换到新的项目目录
cd newproject/
#删除本地的master分支
git branch -D master
#将当前新分支重命名为master
git branch -m master
#修改仓库地址
git remote set-url origin newurl
#提交修改
git push -f origin master