我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
当前回答
您可以从本地仓库撤销您的承诺 。 请遵循以下方案 。
在下面的图像中, 我检查“ 测试” 分支( 使用 Git 命令)git checkout -b test
)作为本地检查状态(使用 Git 命令)git status
地方分支中没有任何可承诺的。
在下一个图像图像中,您可以看到这里的图像 我做了一些修改过滤器1. txt然后用一些信息(使用 Git 命令) 将文件添加到中继区, 并用一些信息( 使用 Git 命令) 来进行更改git commit -m "Doing commit to test revert back"
).
"-m 用于发送信件"
在下一个图像中,您可以看到您承诺的日志,无论您承诺什么(使用 Git 命令)git log
).
所以在以上图像中,您可以看到每个承诺的承付代号, 以及您现在的执信信息, 无论您想要返回或撤消的复制件, 即实施 ID 并击中下面的 Git 命令,git revert {"paste your commit id"}
示例:
git revert 9ca304ed12b991f8251496b4ea452857b34353e7
我恢复了上次的承诺。 现在, 如果您检查您的 Git 状态, 您可以看到修改后的文件过滤器1. txt并且尚未承诺。
其他回答
使用 reflog 查找正确状态
git reflog
安全前的路线
选择正确的 reflog( 以我为例, f3cb6e2) 和类型
git reset --hard f3cb6e2
在那之后,重置的总部将重新设置为重置的总部。
冲突后的讲解
最终, 折叠图看起来像下面的图片
谈判最后定本
头:
在重置承诺之前, 我们应该知道关于 HEAD... HEAD 在您的工作目录中只是您目前的状况。 它由承诺编号代表 。
Git 承诺 :
在由独有标签代表的一承诺下指定的每一项更改。 无法删除提交 。 所以, 如果您想要您最后的承诺, 您可以简单地跳入其中 。git reset
.
您可以使用两种方法跳入最后一个承诺 :
方法1:(如果你不知道承诺编号,但想移动到第一个)
git reset HEAD~1 # It will move your head to last commit
方法2:(如果你们知道自己所做的一切,那末,你们只须将自己所知道的(事情)重新置身于你们所认识的(事情)中)
git reset 0xab3
# 提交编号
注:想要了解最近一项任务尝试git log -p -1
以下是图形表达式 :
(2015年等)
如果你在视觉工作室无法同步, 因为不允许你按到像“开发”那样的分支, 那么和我想的一样多, 在视觉工作室NEITHE莱弗特( REVERT)努尔战 地 方(硬的或软的)将有效。
答案是用数字标注的:
使用此命令命令 根 你的项目根 核武器 任何试图 被推推:
git reset --hard HEAD~1
备份或拉链你的文件 只是以防你不想失去任何工作,等等...
$ git commit -m "Something terribly misguided" # (0: Your Accident)
$ git reset HEAD~ # (1)
[ edit files as necessary ] # (2)
$ git add . # (3)
$ git commit -c ORIG_HEAD # (4)
git reset
是负责取消对。它会解除您最后的承诺,而您的工作树( 您在磁盘上的文件状态) 尚未被移动 。在你再次犯下罪行之前,你需要再加一次)。git add
任何您想要包含在您新承诺中的内容 。reset
复制旧头头到.git/ORIG_HEAD
; commit
与-c ORIG_HEAD
将打开编辑器,该编辑器最初包含旧承诺的日志消息,并允许您编辑它。如果不需要编辑该消息,您可以使用该-C
选项。或者编辑上一个承诺( 或仅其承诺信件), commit --amend
将在当前索引内对上一个承诺添加变化。
要删除( 不再返回) 被推到服务器的承付重写历史git push origin main --force[-with-lease]
这是必要的。这是几乎几乎总是使用一个坏主意--force
; 偏; 更优--force-with-lease
改为,如以下所示:Git 手册:
如果你[重写历史]已经发表,你应该了解重写历史的意义。
您可以使用git reflog
确定 SHA-1用于您想要返回的承诺。 一旦您拥有此值, 请使用上文解释的顺序命令 。
HEAD~
与HEAD~1
该条什么是头在Git?如果您想要解开多项承诺, 将会很有帮助 。
有许多方法可以做到:
撤消上次执行/ 上一个承诺的 Git 命令 :
警告 :不使用 - 硬 如果你不知道自己在做什么, 硬就是太硬危险,它可能会删除您的文件 。
返回 Git 中的承诺的基本命令是 :
$ git reset --hard <COMMIT -ID>
或
$ git reset --hard HEAD~<n>
协调会 协调会:承诺的代号
n:您想要返回的上次承诺的数
您可以获取下列承诺代号:
$ **git log --oneline**
d81d3f1 function to subtract two numbers
be20eb8 function to add two numbers
bedgfgg function to multiply two numbers
何 地d81d3f1 d81d3f1和贝多208执行 ID。
现在,让我们来看看一些案例:
假设您想要返回上次的“ d81d3f1 ” 。 这里有两个选项 :
$ git reset --hard d81d3f1
或
$ git reset --hard HEAD~1
假设您想要还原“ ebe20eb8” 承诺 :
$ git reset --hard be20eb8
欲了解更详细的信息,请参考并尝试其他命令,将头重置为指定状态:
$ git reset --help