我经常会有如下工作流程:
我无法使用,git commit --amend因为它不是我需要更改的最新提交.在不触及第二次提交的情况下,将更改添加到第一次提交的最佳方法是什么?
我通过一个互动的rebase让自己陷入困境,现在我想放弃它.(即回到我被放入交互式rebase模式之前的点,在我的情况下,通过git pull --rebase.)这样做的方法似乎是通过git rebase --abort,但这不起作用:
$ git rebase --abort
error: Ref refs/heads/master is at 55b388c141b1485b1acd9e050dbeb0eb90ef2ee7 but
expected b918ac16a33881ce00799bea63d9c23bf7022d67
fatal: Cannot lock the ref 'refs/heads/master'.
Could not move back to refs/heads/master
Run Code Online (Sandbox Code Playgroud)
如何退出交互式rebase模式,并清除所有对它的引用?(git reset --hard成功,但不会让我退出rebase模式.)
我之前在几个节点上提交了一个git rebase -i.我添加了一些我想要添加到该提交的新文件.
看起来我在错误的节点上,所以我立即做了一个git rebase --abort.这些新文件现在完全消失了.在reflogs中,它看起来像是发出了删除命令(删除文件模式100644),但甚至没有文件名存在.
这看起来不太好,但我想我会问 - 这是可以恢复的吗?
有时我忘记在提交之前添加一些文件。使用 Mercurial 我这样修复它:
hg qinit 我可以用 Git 做这样的事情吗?