在项目开发过程中,遇到这种情况:
- 已经项目已经push到远程服务器上,在原有的基础上已经开发了新功能,此时产品大大说,咱们要在不添加新功能的基础上做开发当前要用的版本,原有的新功能保持到下版本或者后版本开发.
- 这个时候怎么办呢?
解决方法是这样的:
- 在git命令行中: git log.显示历史提交记录,找到我们想要返回的提交版本的commitId;例如,我现在想要在 test1对应的版本上进行开发;ta的commitId是 6409931...;

- 接下来使用git 命令 回到当前版本

- git reset --hard xxxx(CommitId);这个操作后,HEAD指向了test1对应的版本记录;接下来在当前版本上开辟新的分支 newVersion(命名自己取)
- git branch newVersion
- gitcheckout newVersion
- 进入 newVersion分支
- git log ;查看当前分支的提交情况:
- 这时最新的提交历史为test1 版本
- 接下来,我们要回到master分支,因为master分支也是指向test1的,我们需要保持当前最新的提交;

- git checkout master 切换到master分支
- git reflog 查看历史提交情况;
- 找到 test3对应的 commitId;
- 好的,接下来我们做的操作是:
- git reset --hard xxx(test3的commitId);
- 完成操作后,输入命令行: git log
- 显示当前master的最新提交记录是 test3
综上 :
- master的分支依旧为最新的版本
- newVersion的分支是我们需要新功能的版本;
- 我们要做的就是 在newVersion上做当前的开发工作了.
参考文章:
-1,https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
-2,https://www.cnblogs.com/azhw/p/5793292.html
网友评论