Git 远程恢复

2024-01-22

我是 Git 新手,正在使用 WebStorm 来推送和拉取我的代码。我们正在开展一个共同的项目。昨晚我的朋友更新了一些代码并推送了更改。

今天,我拉取了代码并合并了更改,但我错误地保留了更改并放弃了拉取请求提供的更改。然后将这些更改推送到 git Remote 上。

所以基本上现在我想要的是:

  1. 在本地恢复到之前的状态,即拉取请求之前的状态,并且在远程上我想要与昨晚相同的状态,即推送请求之前。

所以,这就是我想做的:

  1. 在远程上恢复到以前的版本。
  2. 再次拉取代码。
  3. 进行合并。
  4. 推送新代码。

所以现在在远程我有:

  • 我的朋友代码版本提交,
  • 然后我的错误版本提交不包括先前代码提交的合并,
  • 如果我遵循以下恢复到本地然后推送的答案,那么我将提交新的恢复代码版本。但最后我想要遥控 1 + 3。

让我们从数学上看一下

  • X= 我打开计算机并更改代码的本地州
    坚定的。
  • Y= 远程状态,我的朋友昨晚在本地计算机上进行了更改并推送到远程。
  • Z = 远程状态,当我拉出我的朋友代码并开始合并但犯了一些错误并放弃了我朋友的更改,然后提交并将基本上是状态 x 的代码推送到远程时。

所以,基本上

  • 在我的本地,我有 Z 状态。
  • 在远程我有状态 Z
  • 在我的朋友当地 Y 州。

我想要远程 X + Y。


如果你想恢复提交,可以使用以下命令:

git revert commit id goes here

Example:

git revert aa12bb34

这是什么revert http://christoph.ruegg.name/blog/git-howto-revert-a-commit-already-pushed-to-a-remote-reposit.html does:

恢复提交意味着创建一个撤消所有内容的新提交 在错误提交中所做的更改。就像上面说的那样,不好的地方 commit 仍然存在,但不再影响当前的 master 以及在此之上的任何未来承诺。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 远程恢复 的相关文章

  • Git 从不同的存储库中提取分支

    我当前的存储库中只有几个文件 我想合并来自不同存储库的远程分支 从中拉出并合并一个分支github com username code git 分支装载机 然后从中拉出并合并一个分支github com username code git
  • 比较 2 次提交

    我没有找到任何关于获取两个文件之间差异的文档 我使用下面的代码使用坚固的方式提交文件 repo Rugged Repository new reponame email protected cdn cgi l email protectio
  • git 中的 web.config 和 app.config 机器特定设置

    我们在不同的办公室有多个开发团队 他们需要为我们项目中的许多配置设置使用不同的值web config and app config files 我们希望使用一组合理的默认值来检查这些配置文件 这样通过检查 trunk master 分支 您
  • 是否可以在不从 git 克隆或拉取的情况下获取分支名称?

    我想获取 git 存储库的所有分支名称 目前 我克隆存储库 然后将它们获取到本地计算机上 这是低效的 因为我所需要的只是名称而不是其他 我想知道是否可以这样做 如果是这样 我可以使用什么命令 在本地 无需克隆 您可以键入 使用 gitls
  • 空提交的 Git 补丁

    我创建一个空提交 git commit allow empty m something important 有时它很有用 例如协调 2 个 或更多 不同的 git 树 然而 当我 git format patch 空提交被省略 因为它们不与
  • Git 粒度——解决一行内的差异

    git 基于行的粒度或 diff 粒度是否可以增加到单词 字母分辨率 每行多条语句或使用 git 编写纯文本是值得的 根据评论重新阅读问题时 我想我明白了您最初的意思 所以我将给出一个真正的答案 与伊斯梅尔 巴达维的一行评论 https s
  • git:推送单个提交

    假设我进行了多次提交 并希望挑选哪些提交到远程存储库 我该怎么做 在ascii中 C1 gt C2 gt C3 gt C4 我想推C2和C4 通过变基 重置 推送然后重置进行重新排序是否有效 C1 gt C2 gt C3 gt C4 gt
  • Git 和外部备份。子目录是空的,我宁愿它不是空的。

    我想使用 Git 创建外部备份系统 这部分是受到答案的启发在外部磁盘上备份整个 git 存储库的最佳方法是什么 https stackoverflow com a 4372855 2533127 其中建议如下 您还可以通过启动一个新的存储库
  • 有没有办法显示 Visual Studio 执行的 Git 命令? [复制]

    这个问题在这里已经有答案了 在 Visual Studio Code 中 有一个 显示 Git 输出 菜单项 显示最近运行的 Git 命令 有关其外观的示例 请参阅3 35 在这个视频中 https code visualstudio co
  • 使用 git 合并两个文件夹

    我正在和一些以前从未使用过 git 的人一起开发一个项目 由于不了解 git 的功能 他们创建了该项目的两个版本 开发版本和生产版本 这两个版本都存在于当前环境中 更复杂的是 除了旧的开发文件夹之外 另一个用户还创建了这些文件夹 所以项目目
  • 获得干净的 git 沙箱的最有效方法是什么?

    对于我的持续集成构建 我想确保我的 git 沙箱中没有存放任何杂散文件 并且没有任何文件被无意中更改 我知道关于git reset hard HEAD 这解决了部分问题 但我想我想做的是删除所有未跟踪和忽略的文件 我可以用蛮力的方式做到这一
  • 如何安装gitlab-rails?

    我正在尝试为 Gitlab 项目创建一个组访问令牌 它需要访问 gitlab rails 控制台才能执行此操作 在 gitlab 教程上 这是安装它的链接 https docs gitlab com ee administration op
  • 我可以通过 ssh 将 ssh 用户名与 git 的提交关联起来吗?

    我正在尝试通过 ssh 设置共享 git 存储库 将用户公钥复制到authorized keys 我真的希望 ssh key 中的 用户名 成为存储库中提交历史记录的一部分 这样用户 joe 就不能将他的名字设置为 kate 我们需要某种责
  • 查看单个文件历史记录的“x”提交的完整文件差异(托管在 git 中)

    假设我在 git 中有一个名为filex code 我想看看完整代码最后的x该文件的版本每个更改的部分都突出显示 全部集中在一处 所以一个x 窗格提交历史记录filex code 几乎就像我在做一个x paned diff 但查看历史版本而
  • git svn - cygwin下的错误

    我有 cygwin 和 git 我正在尝试使用 git 提交到 svn git svn dcommit 但它失败并出现奇怪的错误 git svn dcommit 4 main perl 5536 C cygwin bin perl exe
  • 如何从现有 git 存储库创建 Netbeans 7 项目?

    我想象某个地方有一个 来自回购的新项目 选项 但我找不到它 还有比这更多的事情吗 还是我错过了什么 Use the Team菜单 选择 Git gt 克隆 将存储库克隆到本地文件夹后 NetBeans 将为您提供打开项目的选项 尝试创建项目
  • 通过防火墙后面的 ssh 访问 git 存储库

    我想在仅允许 http 代理访问的公司防火墙后面访问 克隆 推 拉 私有 通过 ssh git 存储库 我已经编写了一个强大的 Java 守护进程 程序 基于 JSCh 类库 它允许我利用本地和远程端口转发 我希望利用它 但当我尝试设想如何
  • gitk中正则表达式的格式是什么?

    我正在尝试使用 gitk 中的 find 添加 删除字符串 正则表达式选项 我尝试过的语法不起作用 并且我找不到描述它接受的正则表达式语法的文档 我正在尝试匹配两者Modem Wakup and Modem UnWakeup 两者都不Mod
  • SSL_connect:SSL_ERROR_SYSCALL 连接到 github.com:443

    几天后 我遇到了 Mac OS High Sierra 10 13 3 的问题 当我运行git clone like git clone github com xxx git failed它打印 LibreSSL SSL connect S
  • 如何防止 Git 对象被垃圾回收?

    据我了解 任何对象在没有任何对象时都会被垃圾收集refs 防止收集我们想要保留在数据库中的对象的最佳方法是什么 一个用例是 当在拉取请求中进行更改 可能根据代码审查 并且以前的提交变得分离时 它们不会合并到存储库中but它们应该始终可用 以

随机推荐