[英]Git `revert` in master deleting branch files if merged or rebased
我使用还原做了一些非常愚蠢的事情,我不知道如何正确修复它。 我会尽力解释清楚。
我想在项目存储库中添加foo
, bar
和baz
。 由于某些原因(因为我是白痴),我做了以下混乱(其中“ -xxx_commit”是“ + xxx-commit”的git-revert):
foo_branch
+foo_commit 1
bar_branch
+foo_commit 1
+bar_commit 2
-foo_commit 3
baz_branch
+foo_commit 1
+bar_commit 2
-foo_commit 3
-bar_commit 4
+baz_commit 5
然后, foo_branch
和baz_branch
已在上游存储库中合并...因此:
upstream/master
+foo_commit 1
+foo_commit 1
+bar_commit 2
-foo_commit 3
-bar_commit 4
+baz_commit 5
所以现在,已经添加了foo
,然后删除了foo
,并且我无法从bar_branch
合并upstream/master
bar_branch
或对其进行重新bar_branch
因为它会自我还原...
你有什么想法清理那烂摊子吗? 是否有git-idiot
命令或类似的东西?
在主服务器-foo_commit 3和-bar_commit 4(foo和bar的还原)中恢复以恢复foo和bar怎么样? 您应该在回购中以foo,baz和bar结尾。 这是情况示例的痕迹(如果我理解正确的话):
ghislain@debian: /tmp/git-test (master) > git history * a3ca029 (HEAD, master) - Merge branch 'baz_branch' (2 seconds ago) |\ | * db33181 (baz_branch) - baz_commit (17 seconds ago) | * 618b704 - Revert "bar_commit" (32 seconds ago) | * 672b77c (bar_branch) - Revert "foo commit" (51 seconds ago) | * 06230db - bar_commit (62 seconds ago) * | 90ba017 - Merge branch 'foo_branch' (7 seconds ago) |\ \ | |/ | * 60ea014 (foo_branch) - foo commit (79 seconds ago) |/ * 0b863fe - initial (4 minutes ago) ghislain@debian: /tmp/git-test (master) > git merge --no-ff bar_branch Already up-to-date. ghislain@debian: /tmp/git-test (master) > ll total 0 -rw-r--r-- 1 ghislain fuse 0 Jul 23 15:18 baz -rw-r--r-- 1 ghislain fuse 0 Jul 23 15:14 README ghislain@debian: /tmp/git-test (master) > git revert 672b77c 618b704 [master 88af7cd] Revert "Revert "foo commit"" 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 foo :[master d2cf0a3] Revert "Revert "bar_commit"" 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bar ghislain@debian: /tmp/git-test (master) > ll total 0 -rw-r--r-- 1 ghislain fuse 0 Jul 23 16:37 bar -rw-r--r-- 1 ghislain fuse 0 Jul 23 15:18 baz -rw-r--r-- 1 ghislain fuse 0 Jul 23 16:37 foo -rw-r--r-- 1 ghislain fuse 0 Jul 23 15:14 README
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.