我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
每次我需要撤销承诺/承诺时,我要做的是:
git 重置 HEADn > // 上次承诺的数量, 我需要撤销 Git 状态 / / 选项 。 所有文件现在都是红色的( 未进入阶段 ) 。 现在, 我可以添加并只承诺需要的文件 :
git 添加 < file name> & git 承诺 - m “ 消息” - m “ 细节”
可以选择:我可以将其它文件的更改(如果需要的话) 推回到它们以前的状态, 并进行退票:
git 检出 < filename>
如果我已经把它推向了遥远的起源, 之前:
git 推源 <branch name> -f // use -f 强制推 。
其他回答
在 SourceTree ( GitHub 的 GUI) 上, 您可以右键单击承诺并做一个“ 反向提交 ” 。 这将取消您的更改 。
在终点站上:
可选择使用:
git revert
或者:
git reset --soft HEAD^ # Use --soft if you want to keep your changes.
git reset --hard HEAD^ # Use --hard if you don't care about keeping your changes.
您可以以两种方式撤销您的 Git 承诺 : 首先, 您可以使用 Git 返回, 如果您想要保留您的承诺历史 :
git revert HEAD~3
git revert <hashcode of commit>
第二是您可以使用 Git 重置, 这将删除您全部的委托历史, 并随心所欲地将您的头移到您想要的地方 。
git reset <hashcode of commit>
git reset HEAD~3
您也可以使用 -- hard 关键词, 如果有的话, 如果它开始有其他行为的话。 但是, 我建议在非常必要的时候使用它。
我找到了这个网站 用来描述如何撤销 你对存储库的承诺
一些命令 :
git commit --amend # Change last commit
git reset HEAD~1 --soft # Undo last commit
您可以从本地仓库撤销您的承诺 。 请遵循以下方案 。
在下面的图像中, 我检查“ 测试” 分支( 使用 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 重置 -- hard < last good SHA> 来重置您的更改并给予新的承诺。您也可以使用 git 检查退出 -- < bad filename> 。