问个 git 版本回退的问题,如何优雅的回退 commit?
之前用 git 都是渐进提交式的。
每个记录都打了一些 tag v0.0.1 v0.0.2 v0.0.3 v0.0.4
我发现 v0.0.4 的代码已经 crush 了,不想要了,我想重新从 v0.0.3 开始写,要怎样优雅的从 v0.0.3 开发?就是想把 master 代码变成 v0.0.3 这个 tag 下的代码
代码托管在 github,如果强行 git reset 会发现无法 push,比较好的做法是什么?
想过删掉.git 重新来过,这样太暴力了。
楼主的意思,大概需要一下几步: git checkout v0.0.3 git checkout -b develop git checkout master git reset devleop --hard git branch -d develop git tag -d v0.0.4 git push origin :v0.0.4
done,然后环境就好了
#8 楼 @colorfulberry @flypiggys 那该怎么办,多人开发的话,遇到 crash 掉的版本要怎么处理?不删掉,放在那里不是更不好?
# 离开 master 分支.
git checkout v0.0.3
# 给 master 分支打个标签留个后路.
git tag abandoned master
# 将 master 强制切换到 v0.03
git branch -f master v0.0.3
# 切换到新分支
git checkout master
嗯....其实差不多,要用 master 分支最终还是得 push -f