作者descent (「雄辩是银,沉默是金」)
看板Soft_Job
标题Re: [求救] Git 操作
时间Mon Nov 30 19:36:30 2015
不确定可不可以帮到你。我模拟了一下你的环境。
commit 0c870ded9fe73bf0e1fdbb26b19f54a4429ee1a2
Date: Mon Nov 30 19:21:31 2015 +0800
333 commit_log
commit 0b87e3b690cdcd787b07ceb834ab9c6b939503e5
Date: Mon Nov 30 19:21:19 2015 +0800
222 commit_log
commit 5a6e1514c63d4c1340f89c3cf24313ae8af5cc2a
Date: Thu Nov 12 13:38:52 2015 +0800
111 commit
将前面两个 commit 交换, 我是有成功交换
descent@debian64:git_test_1$ git log
commit 683f10a272119b26892814746d1d9cfbc9cfe706
Date: Mon Nov 30 19:21:19 2015 +0800
222 commit_log
commit caf739dd1b7751ac98587cfc8d02cc1c16c4f66d
Date: Mon Nov 30 19:21:31 2015 +0800
333 commit_log
commit 5a6e1514c63d4c1340f89c3cf24313ae8af5cc2a
Date: Thu Nov 12 13:38:52 2015 +0800
111 commit
用 git reflog 找到交换之前的操作, 以我的情况来说是
HEAD@{3}
descent@debian64:git_test_1$ git reflog
683f10a HEAD@{0}: commit (cherry-pick): 222 commit_log
caf739d HEAD@{1}: commit (cherry-pick): 333 commit_log
5a6e151 HEAD@{2}: reset: moving to 5a6e1514c63d4c1340f89c3cf24313ae8af5cc2a
0c870de HEAD@{3}: commit: 333 commit_log
0b87e3b HEAD@{4}: commit: 222 commit_log
git reset --hard HEAD@{3}
就回复了。
不过还是希望你知道这是在干嘛比较好。
大底就是 work tree, index, branch 的操作。
先备份整个 git repository 比较保险。
※ 引述《zeqw (重心)》之铭言:
: 想请问以下这样的情况是否还有救,
: 原本有两个commit, 想把它交换顺序,
: 用了git rebase -i然後把两笔资料调换,
: 调换後又下了git rebase --contiune
: 然後其中某一笔就不见了,
: 是否已经没救了?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.98.177.194
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1448883402.A.FDD.html