新 push 了一个功能,后来发现暂时不能 merge 。现在需要退回到几个 commit 之前,但是不能丢掉这几个 commit ,之后应该还能用到。用 revert 还是 reset?
1
cevincheung 2016-04-13 05:45:21 +08:00
开分支
|
2
cevincheung 2016-04-13 05:46:06 +08:00
先备份现在代码,回滚版本。开分支,应用新代码。啥时候 merge 啥时候再合并本地两个分支。
|
3
lbfeng OP @cevincheung thx. checkout 之前的 commit, 转到新的 branch 。
|
4
clino 2016-04-13 07:21:41 +08:00 via Android
将代码提交到一个临时分支 之后随便折腾
|
5
RoshanWu 2016-04-13 07:48:17 +08:00 via iPhone
git reset 提交点
git stash git checkout -b 新分支 开发新功能 在任意时间节点想应用回原先修改部分: git stash pop 如要放弃原先修改部分: git stash drop |
6
rwecho 2016-04-13 08:19:44 +08:00
stash
|
7
v1024 2016-04-13 08:27:59 +08:00
用 SourceTree 的话,可以在需要回退到的 commit 上点分支,就会从那个位置新建一个分支,现在的代码还在当前分支上就好。
|
8
yxzblue 2016-04-13 08:28:54 +08:00
git reset --soft
|
9
restran 2016-04-13 08:50:12 +08:00
利用 git reflog 可以找到所有操作的提交点,即便是直接 git reset 到提交点,这之间的所有 commit 也都还是能回退回去的。可以看看聊雪峰的 Git 教程,版本回退那一章。如果你用 TortoiseGit 可以看看 http://www.restran.net/2016/02/22/git-recovery/
|
10
msg7086 2016-04-13 09:28:31 +08:00
当前提交上新建 Feature 分支,然后把主干分支 reset 回去就好了。
|
11
flowfire 2016-04-13 09:33:14 +08:00
直接 reset 就好。。。。因为即使 reset 了。现有版本并没有被删除。。。
|
12
bombless 2016-04-13 10:45:13 +08:00 via Android
git branch 备份分支名
git reset --hard 之前的某个提交 git push -f |
13
VicYu 2016-04-13 11:01:33 +08:00
git stash
git reset |
14
jsonline 2016-04-13 11:10:03 +08:00
branch 吧
|
15
yoa1q7y 2016-04-13 11:52:00 +08:00
好多人真的不会用 git...
|
16
yoa1q7y 2016-04-13 11:52:49 +08:00
8 楼正确答案
|
17
wweir 2016-04-13 14:19:57 +08:00
git rebase old_commit
|
18
jackisnotspirate 2016-04-13 14:21:59 +08:00
git rebase
|