我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
我从Bitbucket拿到了身份证明 然后就做了:
git checkout commitID .
示例:
git checkout 7991072 .
它又把它恢复到那个承诺的工作副本上。
其他回答
如果您想要删除错误的文件, 您应该做
git 重置 -- s软 < your_ last_ good_commit_hash_ here> 在这里, 如果您做 Git 状态, 您可以在集结区看到文件。 您可以选择错误的文件, 从集结区拿下来 。
喜欢下面。
git 重置错误的File1 错误的File2 错误的File3
您现在可以添加您需要按键的文件,
添加好文件1 好文件2 git 添加好文件1 goodFile2
提交提交它们
git 承诺 -v 或 git 承诺 - am "Message"
推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推,推
git 推进源源主机
但是,如果您不关心已更改的文件, 您可以硬重置到先前的良好承诺, 并将所有文件都推到服务器 。
由
git reset --hard <your_last_good_commit_hash_here>
git 推进源源主机
如果您已经向服务器发布错误的文件, 您可以使用 -- 强制旗将文件推到服务器并编辑历史 。
git 推推 -- 原力硕士
git 重置 -- 混集、 -- soft 和 -- hard 的区别
先决条件 : 当修改您存储库中的现有文件时, 最初将此项修改视为未阶段化的 。 为了实施更改, 需要分阶段进行, 这意味着使用 git 添加将其添加到索引中 。 在一次任务操作中, 被显示的文件会被添加到索引中 。
让我们举一个例子:
- A - B - C (master)
总部指向C,指数与C吻合。
-- 软
当我们执行 git 重设 -- soft B 时,我们执行 git 重设 -- soft B , 目的是删除承诺 C, 将主机/ HEAD 指向主机/ HEAD 指向 B。 主机/ HEAD 现在将指向 B, 但索引仍然与 C 。 当执行 git 状态时, 您可以看到在承诺 C 中索引的文件是分阶段的。 此时执行 git 承诺将产生与 C 相同变化的新承诺 。
-- 混合混合
执行 git 重新设置 -- mixed B 。 执行时, 主机/ HEAD 会指向 B , 索引也会因使用混合旗子而修改为 B 匹配 。 如果我们在此点运行 git 承诺, 自索引与 HEAD 匹配后, 就不会发生任何变化 。 工作目录中仍然有变化, 但是由于它们不在索引中, git 状态显示它们未显示为未显示的 。 要执行它们, 您会按常态添加并承诺 。
--- 硬
执行 git 重置 -- hard B 执行时, 主人/ HEAD 将指向 B 并修改您的工作目录 C 中添加的更改和所有未承诺的更改将被删除。 工作副本中的文件将与承诺 B 匹配, 这将导致永久删除所有在承诺 C 加上未承诺的更改中所做的更改
希望对可用用于 Git 重置命令的旗帜进行这种比较, 将有助于有人明智地使用这些旗帜。 请参考这些旗帜以获取进一步的详情链接1 (链接) 。
如果你还想背到最后承诺 并改过历史
使用下面的命令可以表示您想要转到先前的已执行 SHA - 71e2 e57458bde883a37b332035f784c6653ec509 的操作, 您可以指向此操作, 此操作在此操作后不会显示任何日志消息, 之后所有历史将被删除 。
git 推进源 + 71e2e57458bde883a37b332035f784c6653ec509: 技术主管
恢复和放弃承诺是最好的,如果你想在向公共部门等提出补丁时保持历史清洁有用的话。
如果你必须放下最上层的承诺, 那么以下的单行帮助
git rebase --onto HEAD~1 HEAD
但如果你想放弃其中的 多项承诺,你确实说
- > b - > c - > > d - > 硕士
,然后您要放弃“ c” 承诺
git rebase --onto b c
这将使“ b” 成为“ d” 删除“ c” 的新基础
git reset --soft HEAD~1
git status
Output
在分支母版上, 您的分支比“ 来源/ 主机” 提前 1 承诺 。 (使用“ 给予推” 来发布您的本地承诺) 更改要执行 : (使用“ 给予恢复 - 级... ” 到 取消阶段) 新文件 : 文件 1 。
git log --oneline --graph
Output
90f8bb1 (HEAD - > master) 第二次承诺\ 7083e29 初始仓库承诺\