标签: revert

Git / Github:提交丢失

这是发生的情况(我想这就是我的问题的出现方式,但不是 100% 确定):

  • 有人发送了 PR,我确实合并了它,但后来我使用 Githubrevert按钮恢复了它
  • 他用相同的提交做了另一次 PR(加上一个来纠正错误)
  • 我合并了它(使用 Githubmerge按钮)
  • 在第一个 PR 处恢复的提交已从主存储库中消失!

为什么会发生这样的事?现在怎么可能,从进行 PR 的分叉中,它说There isn't anything to compare虽然这些提交不在远程存储库的原始分支上。

最后,我怎样才能恢复这些提交?

编辑:根据要求,这是我的有趣部分git log

* | |   25f28fb Merge branch 'FooUser-develop' into develop
|\ \ \
| * \ \   73768b7 Merge branch 'develop' of https://github.com/FooUser/mainRepo into FooUser-develop
| |\ \ \
| | * | | 2e61235 Invert adresses
* | | | |   d522031 Merge branch 'develop' of https://github.com/mainUser/mainRepo into develop …
Run Code Online (Sandbox Code Playgroud)

git github revert git-merge pull-request

5
推荐指数
1
解决办法
2478
查看次数

GIT - 如何在不丢失更改的情况下查看较旧的提交?

我正在开发一个项目(主项目),该项目有大约 100 次提交,没有分支等。

我想看看该项目在提交 1、然后在提交 10、20、30 时是什么样子。

如何查看早期提交而不丢失任何数据?

在我从之前的提交中看到它之后,我想回到现在的位置。

怎么做?我认为恢复更持久,我应该寻找其他东西吗?

git revert

5
推荐指数
1
解决办法
6922
查看次数

Composer 进行更改后恢复

我正在使用 Composer 来管理 Drupal 项目中的依赖项。我拥有的一些模块位于 Mercurial 存储库中。一旦我这样做了,composer install我就可以从各自的 Mercurial 存储库下载我的 Drupal 模块。Composer.lock 文件也能正确生成。

现在假设我对其中一个存储库进行了更改。之后,如果我运行composer install,我希望更改得到恢复,以便存储库返回到存储在composer.lock中的修订版本。

但这种情况并没有发生。我所做的改变仍然存在。我错过了什么吗?这是因为我使用了 Mercurial 存储库吗?

mercurial drupal revert composer-php

5
推荐指数
1
解决办法
3510
查看次数

Git 恢复上次操作

在尝试移动到先前的提交时,我执行了“切换/签出”,然后选择了我想要移动到的提交,然后取消选中“创建新分支”选项。

该运动做得很好,但现在我无法返回到最新的提交。幸运的是,我将其保存在 Bitbucket 上,但我想知道是否可以通过本地 git 解决这个问题。

我使用 TortoiseGit

git revert tortoisegit

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

为什么git revert会产生冲突?

我有以下承诺

\n\n
dd9e52bafac5fa427ed64c5d9cf08015fa804ed4 Added Line 3\na000427a4c70781d0bed7b31f56f290ac1d636b7 Added Line 2\n20baa578ae205768639620749f53bd318e329e73 Added Line 1\n7c043a104394ba4ba5a2fb29d4526de50b7d12be Created file.txt\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  • 在提交 7c04 我创建了一个名为 file.txt 的空白文件
  • \n
  • 在提交 20ba 时,我将文本 \xe2\x80\x9cLine 1\xe2\x80\x9d 添加到文件中
  • \n
  • 在提交 a000 时,我将文本 \xe2\x80\x9cLine 2\xe2\x80\x9d 添加到文件中
  • \n
  • 在提交 dd9e 时,我将文本 \xe2\x80\x9cLine 3\xe2\x80\x9d 添加到文件中
  • \n
\n\n

在提交 dd9e 时,file.txt 现在读取

\n\n
Line 1\nLine 2\nLine 3\n
Run Code Online (Sandbox Code Playgroud)\n\n

Head 和 master 指向最后一次提交(dd9e)。

\n\n

如果我运行 git 命令

\n\n
git revert 20baa\n
Run Code Online (Sandbox Code Playgroud)\n\n

有人告诉我

\n\n
error: could not revert 20baa57... Added Line 1\nhint: after resolving the …
Run Code Online (Sandbox Code Playgroud)

git revert git-revert

5
推荐指数
1
解决办法
1224
查看次数

如何在svn中恢复具有特定扩展名的文件?

我想做这样的事情:

svn revert --recursive mydata/*/*.txt

我希望它还原目录mydata中具有扩展名*.txt的所有文件.有没有办法做到这一点?

svn file revert

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

如何恢复'git filter-branch -f --env-filter'

我是一个关于git的新手,通常是git commit,pull和push是我唯一的命令.最近注意到我的提交设置为默认名称和电子邮件,并希望更改它.愚蠢地我运行了这个,我在某个帖子找到了:

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; 
GIT_COMMITER_NAME='Newname'; GIT_COMMITTER_EMAIL='newemail';" HEAD
Run Code Online (Sandbox Code Playgroud)

我认为这只会改变我的提交,但它会更改回购邮件中的所有提交以获取我的姓名和电子邮件.当然要继续我的"愚蠢",我推动了变化.

此外,我似乎已经失去了历史记录,github上的所有提交似乎也有重复的条目.一个用我的名字和电子邮件和原始的.

有办法还原这个吗?也许使用前一个拉的副本来推送原始信息?

git commit revert git-filter-branch

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

乌龟相当于'用最新的存储库替换"?

我有一个用于Windows开发的PC和用于Android开发的Linux机器.我们的源代码控制是Subversion,我在Windows上使用TortoiseSVN,在Linux上使用Eclipse中的Subclipse插件.

有时我会编辑一个文件进行一些实验,但我不想保留更改.在Subclipse中,我所要做的就是"从最新的存储库替换",使其与最新提交的代码一致.

在TortoiseSVN中,这相当于什么?是否有一个简单的一步方法用存储库中的当前最新版本替换我的本地文件?

NB我不想做"更新",因为根据将在其他人的更改中合并的文档.我想要一个完整的替代品.

提前致谢.

eclipse svn tortoisesvn revert

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

如何将多个文件(但不是全部)还原到过去的提交?

我需要将一堆文件(大约40-50)还原到特定的提交.但是,我不想还原所有文件.如果不为每个需要还原的文件执行每个文件签出,我该怎么做?我需要还原的所有文件都位于一个文件夹下.

git revert

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

撤消未在Git中推送的标记

我做了一个提交和一个标签(使用git tag -a -m).在我推动之前我发现我需要恢复提交,所以我使用了git revert --soft HEAD~.我如何删除标签?我已经检查过git push --tags --dry-run它还没有被推,所以我希望它可以删除.

tags git undo revert

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