标签: git-revert

为什么恢复的提交不会显示在新的 PR 中?

这是发生的事情:

  1. 从 master 创建了分支 XYZ
  2. 已在分支 XYZ 中提交更改
  3. 使 XYZ 分支的 PR 成为大师
  4. PR 被接受并且代码合并到 master 中
  5. PR 被恢复(它破坏了东西)
  6. 在分支 XYZ 中进行了一些提交,以修复第 2 项上已损坏的提交
  7. 前往 Github.com 并创建了新的 PR,但我只看到了最后一次提交,而没有看到第 2 项中的其他提交

我想我的问题是:为什么在第 2 项中提交的代码没有出现在我的新 PR 中?即使我在更改文件列表中没有看到已恢复的提交,也会包含在这个新 PR 中吗?

谢谢!

git github git-revert git-commit pull-request

4
推荐指数
1
解决办法
3494
查看次数

完全恢复拉取请求

master过去一个月一直在研究Current 。一个名为的分支contract也在同时进行。

contractmaster错误地合并了。100 次提交,日期与master已经存在的提交重叠。

我怎样才能完全删除所有合并提交100从拉入请求contractmaster

我们对拉取请求进行了 GitHub 恢复,并删除了代码但没有删除历史记录。现在,当我们尝试执行合并contractmaster其中的模拟拉取请求时,显示没有任何更改。(我假设是因为那些提交已经进入但被恢复了?)

master除了还原之外,合并后没有任何提交。

如何完全删除拉取请求添加的任何提交,并在我们最终合并contractmaster.

git merge github git-revert

4
推荐指数
1
解决办法
1万
查看次数

git:如何还原唯一更改是修改时间戳的所有文件?

我在 git repo 中有很多修改过的文件。

我需要修剪没有变化的那些,只有时间戳发生了变化。由于文件量很大,我需要很长时间才能手动完成。

有什么聪明的方法可以做到这一点吗?

git timestamp git-revert

4
推荐指数
1
解决办法
676
查看次数

恢复错误合并后恢复丢失的更改

我对 Git 比较陌生,在误解了帮助文章后犯了一个(愚蠢的)错误,我不确定如何使用 Git 完全解决问题,而不是手动将更改重新引入目标分支。

S---sc1---sc2---sc3-----sc4----M4---R1---M5---sc5
 \                         \  /         /
  T1-------------------M2---M3--------R2
   \               \  /
    F---fc1---fc2---M1
Run Code Online (Sandbox Code Playgroud)

一些注意事项:S在这种情况下主要分支,T1是从拉队分支S,并且F是我的特性分支从拉T1

我设置了自动合并,所以当提交到T1分支时,它们通过持续集成运行,然后自动合并到S. T1分支中有一个文件与S另一个团队成员的提交发生合并冲突,所以我决定在完成F.

我合并T1FM1),然后F进入T1M2)。考虑到我过去遇到的合并冲突解决方案不符合我的预期的问题,我想我会尝试一些新的东西:将冲突文件从SintoT1合并,解决那里的合并冲突,从合并,然后允许持续集成将所有内容合并到S

我在没有提交的情况下开始了从ST1( M3)的合并,解决了冲突,从合并中删除了其他 (~200) 个文件,然后提交。这会自动合并到S( M4)。

我立即注意到,排除这大约 200 个文件似乎已经完全消除了更改,这相当于 2 个团队大约一个月的工作价值。我(错误地)决定最好的行动方案是迅速采取行动并恢复合并提交,M4并且M3在我的错误进入其他任何人的本地存储库之前。我首先还原M4( R1 …

git git-merge git-revert

4
推荐指数
1
解决办法
1480
查看次数

面对git“内容相同”问题

将dev 分支合并到我的功能分支后,我想展示IntelliJ Idea中的差异,我看到一些文件已更改(可能尚未更改)与我真正更改的文件!

然后我双击该文件并在打开的窗口上方看到此消息:

“内容相同”。

所以这确实成为一个问题,因为我想恢复这个特定的更改,但它不允许我恢复。但尚未承诺或推动任何事情。git status命令也显示了该更改。我git reset --hard这样做了,它进入了之前的状态,就好像什么也没发生一样,再次git merge dev从我的功能分支进行,再次相同......

git intellij-idea git-merge git-revert

4
推荐指数
1
解决办法
6396
查看次数

如何撤消 GitHub 上的最后一次提交?

我想撤消在存储库的 master 分支上推送到 GitHub 的最后一次提交,并使其看起来好像该提交从未存在过并且不会出现在提交历史记录中。

\n

我该怎么办?

\n

请注意那些投票结束 \xe2\x80\x94 的人,所提出的替代问题不必要地复杂,答案居高临下,并且散布着难以筛选的巨大文本墙。

\n

因此,为了我和子孙后代的利益,这个简单的问题和一个简单的答案。

\n

commit undo github git-revert

4
推荐指数
1
解决办法
5083
查看次数

git如何恢复到特定的修订版

我有一个git项目.我刚做了一个提交,然后删除了一些目录.我的坏人.现在我想恢复已删除的目录.我怎么做?

directory git-revert

3
推荐指数
1
解决办法
1493
查看次数

这是撤消git东西的好策略吗?

到现在为止,如果我曾经提交并将错误推送到主分支,我的解决方法是,假设git日志看起来像

commit bad_hash
commit another_bad_hash
commit yet_another_bad_hash
commit good_hash
Run Code Online (Sandbox Code Playgroud)

我'解决'过去的情况的方式是:

git reset --hard good_hash
git push -f origin master
Run Code Online (Sandbox Code Playgroud)

是的,这将有效...但似乎并不优雅,因为它有效地删除了提交历史.

所以在破坏了我的自我的情况之后,我检查了更好的方法,并且出来了git revert one,基本上我现在使用

git revert bad_hash another_bad_hash yet_another_bad_hash
git push origin master
Run Code Online (Sandbox Code Playgroud)

git revert将创建三个提交(每个恢复的哈希一个),之后,需要推送来更新远程.

现在,问题是,这种策略是否正确?对我来说看起来比重置更好 - 硬,因为回购的历史没有中断,如果最终有人想检查为什么有问题,他们总是可以做

git diff bad_hash
Run Code Online (Sandbox Code Playgroud)

这种推理是正确的还是我仍然缺少基本概念.

谢谢

git revert git-revert git-reset

3
推荐指数
1
解决办法
263
查看次数

恢复失败的合并后重新合并

我在存储库中有两个分支:featuremaster.我将master合并到feature并将结果推送到远程功能分支:

git merge master
Run Code Online (Sandbox Code Playgroud)

因为它包含外部接口的必要更改.比我发现合并冲突被解决了错误,我已经恢复了这个合并:

git revert -n -m 1 78e7ebfa8237
Run Code Online (Sandbox Code Playgroud)

所以我回到功能没有合并.但根据历史合并已经发生并且功能分支已经包含必要的更改.我可以再次尝试合并分支(更仔细地检查冲突,而不是在检查构建之前提交)吗?

git git-merge git-revert

3
推荐指数
1
解决办法
4446
查看次数

有没有办法'软恢复'旧提交?

有没有办法在不更改工作目录中的文件的情况下还原旧提交?我做了一段时间的提交,但我提交的代码还没准备好,我希望这些更改作为未提交的更改保留在我的工作目录中,以便我现在可以继续处理它们.我查看了revert命令但更改了工作目录.我正在考虑检查旧版本,重置头1并存储更改,但我已经有了更改.我只是希望它好像我从来没有做过那样的提交方式,但我希望保留对文件的更改.

git git-revert

3
推荐指数
3
解决办法
3179
查看次数