我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
视觉演播室代码使得这很容易。
调
其他回答
我更喜欢用Git rebase - i 来做这份工作,因为一个不错的名单会出现在我可以选择摆脱承诺的地方。它可能不像这里其他答案那样直接,但它只是感觉是正确的。
选择要列出多少个承诺, 然后这样引用( 加入最后 3 个)
git rebase -i HEAD~3
样本列表
pick aa28ba7 Sanity check for RtmpSrv port
pick c26c541 RtmpSrv version option
pick 58d6909 Better URL decoding support
然后 Git 将删除任何您删除的线条 。
您可以从本地仓库撤销您的承诺 。 请遵循以下方案 。
在下面的图像中, 我检查“ 测试” 分支( 使用 Git 命令 Git 检出 - b 测试) 作为本地分支的本地状态和检查状态( 使用 Git 命令 Git 状态) , 没有可执行的 。
调
在您可以看到的下一个图像中, 我对 Feller1. txt 做了一些修改, 并将该文件添加到中继区, 然后用一些信息( 使用 Git 命令 Git 承诺 - m “ 做 承诺测试返回 ” ) 进行更改 。
"-m 用于发送信件"
调
在下一个图像中,您可以看到您的承诺日志(使用 Git 命令 git 日志) 。
调
在上述图像中,您可以看到每次承诺的承付代号, 以及您现在的委托信, 任何您想要返回或撤销执行 ID 并击中下面的 Git 命令的副本, git return {“ paste your decent id”} 。 例如 :
git revert 9ca304ed12b991f8251496b4ea452857b34353e7
调
我恢复了上次的承诺。 现在, 如果您检查您的 Git 状态, 您可以看到已修改的文件, 即 Flickr1. txt , 但尚未执行 。
调
如果您想要永久撤销它, 您克隆了一些仓库 。
犯罪身份可通过以下方式识别:
git log
然后你们可以做:
git reset --hard <commit_id>
git push origin <branch_name> -f
如何撤销最后的 Git 承诺 ?
为了让一切恢复到上次承诺之前的状态 我们需要重置在总部总部之前的承诺
如果您不想保留您所做的更改: git 重置 -- hard HEAD * 如果您想要保留您的更改: git 重置 -- s软 HEAD*
现在检查您的 git 日志。 它会显示我们上次的承诺已被删除 。
我想撤销我们共享存储库中最新的五个承诺。 我查了我想回溯到的订正代号 。 然后我输入了下面的内容 。
prompt> git reset --hard 5a7404742c85
HEAD is now at 5a74047 Added one more page to catalogue
prompt> git push origin master --force
Total 0 (delta 0), reused 0 (delta 0)
remote: bb/acl: neoneye is allowed. accepted payload.
To git@bitbucket.org:thecompany/prometheus.git
+ 09a6480...5a74047 master -> master (forced update)
prompt>