我"意外地"向GitHub推送了一个提交.
是否可以删除此提交?
我想恢复我提交之前的GitHub存储库.
我希望拆分提交,不知道要使用哪个重置选项.
我在看页面你能解释一下"git reset"用简单的英语做什么吗?,但我意识到我并不真正理解git索引或临时区域是什么,因此解释没有帮助.
此答案中的用例--mixed和--soft看起来一样(当你想要修复和重新发送时.)有人可以将其分解吗?我意识到--mixed可能是选择,但我想知道为什么.最后,怎么样--hard?
有人能给我一个如何选择3个选项的工作流程示例吗?
首先,通过3次提交得到"你的分支在原点/主人之前",然后我的应用程序恢复到早期更改的早期时间.
我怎样才能得到过去11个小时里所做的事情?
作为Git用户,我经常遇到这种情况,我需要以一种不适合--amend或不适合rebase -ifixup提交的方式重做一个或多个提交.通常我会做类似的事情
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
Run Code Online (Sandbox Code Playgroud)
我认为合理的撰写提交消息非常严重.它们通常包含较大的文本,其中包含对更改的引用和理由.到目前为止,我对通过未排序git reflog,git log复制和粘贴过程恢复旧提交消息的漫长过程感到非常恼火.
有没有更好的解决这个问题?如果我包含多个提交,它会怎么样?
编辑:经过一番思考之后,我认为我正在寻找的是一些git stash- like功能,用于提交消息,其中fixup/revision提交不合适.
我正在尝试从Debian初始化一个新的GIT仓库(实际上是Virtualbox上的VM,在Mac OS X上安装并运行):
[david@server-VM-001:~ $] mkdir test
[david@server-VM-001:~ $] cd test
[david@server-VM-001:test $] git init
Initialized empty Git repository in /home/david/test/.git/
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
[david@server-VM-001:test (master #) $]
Run Code Online (Sandbox Code Playgroud)
有什么问题?