我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
当前回答
在这种情况下,"重置"命令就是你最好的朋友:
git reset --soft HEAD~1
重置将会将您当前的 HEAD 分支倒带到指定的修改 。 在以上的例子中, 我们希望回到当前修改之前的修改 - 有效地取消我们最后的承诺 。
注意 -- soft 旗号 : 这样可以确保未撤销修改的更改被保存。 在运行命令后, 您会发现您的工作副本中这些更改是未承诺的本地修改 。
如果您不想保留这些更改, 请使用 -- 硬旗 。 确定只有在您确定不再需要这些更改时才这样做 。
git reset --hard HEAD~1
其他回答
替换您的本地版本, 包括您对服务器版本的更改。 这两行代码将迫使 Git 调用并覆盖本地版 。
打开命令提示并导航到 Git 工程根 。 如果您使用视觉工作室, 请单击小组小组, 同步同步并点击下面的“打开命令提示”(见图像) 。
一旦进入CMD, 继续使用以下两个指示。
git fetch --all
那你就做
git reset --hard origin/master
这将覆盖 Git 服务器上的现有本地版本 。
如果你犯下了破案 但没有被逼
git reset --soft HEAD~1
总部~1是在头部前的一小节。或者,您可以参考SHA-1(SHA-1)。如果您要重置,则要重置。-- 软选项将删除承诺, 但它会保留您更改的所有文件“ 更改待执行” , 如 Git 状态所显示 。
如果您想要删除工作树中跟踪文件的任何更改, 因为在头使用前要执行此任务 " 。--- 硬" 相反。
或
如果你已经推了,有人拉了拉了 通常是我的案子,你不能用git 重设。但是,你可以做一个git 返回 git 返回,
git revert HEAD
这将产生新的承诺, 扭转意外行为带来的一切。
git reset --soft HEAD~1
软性 : 这将只从本地端删除承诺, 并保留文件所做的更改 。
git reset --hard HEAD~1
git push origin master
硬性 : 这将从本地和远程删除承诺, 并删除文件中所做的更改 。
通常情况下,你想要取消对因为您犯了一个错误,所以您想要修正它 基本上就是OP在问问题时所做的。真的,您真的想要复复做a 承诺。
这里的大多数答案都集中在命令行上。 虽然命令行是使用Git的最佳方法, 当你对它感到舒服的时候, 它可能与来自其他版本控制系统到 Git 的人有点不同。
使用 GUI 如何操作。 如果您安装了 Git, 您已经拥有了所有您需要遵守的指示 。
注:我在这里假设您在推动前意识到承诺是错误的。 如果您不知道推力意味着什么, 那么您可能还没有推动。 继续执行指令 。 如果您推动错误承诺, 最危险的方法就是跟踪错误承诺, 并做出新的承诺, 来修补事情, 您在版本控制系统中这样做的方式不允许您重写历史 。
使用图形用户界面来修正你最近的过错:
git gui
日期 于源树树( 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.