如果自早期提交以来有提交和许多更改,是否有一种简单的方法可以将所有内容恢复到之前提交的确切状态?
如果是这样,如果我也愿意,是否可以轻松切换回当前状态?
我已经意识到这个旧提交实际上是正确的,并且希望保留所有更改,仅用于参考,但所有未来的工作都将基于这个旧提交.
这就是我所做的:
我进入控制台:
error: could not revert a90deaf... first
hint: after resolving the conflicts, mark the
hint: with 'git add <paths>' or 'git rm <paths
hint: and commit the result with 'git commit'
Run Code Online (Sandbox Code Playgroud)
好吧,我想让所有文件处于上一次提交的状态,我应该知道什么?
更新 我想要的:
假设在几次提交之前我删除了一堆代码,现在我想要恢复其中的一些代码。
一段时间以来,我一直在使用SourceTree,它允许您简单地选择想要从早期提交中恢复的行,然后选择“恢复所选行”(或类似的操作)。现在我在 Linux 中工作,找不到具有任何此类功能的 GUI;所以我想知道如何从命令行实现这一目标。
我想到的第一个选项是恢复整个提交,然后将其修改为仅包含我想要恢复的代码。有更简单/更好的方法吗?
我有一个 git 问题。我在本地主机上进行开发,将更改推送到我的存储库,然后拉到我的实时站点。我最近在本地主机上构建了一个页面,运行良好。然后我推送到我的存储库并拉到实时站点。由于某种原因,这些更改破坏了我的实时网站。出于示例目的,以下是损坏的提交和工作提交的哈希值:
ABCDE '此提交适用于本地主机和实时站点'
ZYXWV '此提交适用于本地主机,但不适用于实时站点'
因此,我在本地主机上提交了 ZYXWV 并将其推送到存储库。然后我将 ZYXWV 拉到我的实时网站,结果破坏了它。为了修复我的实时网站,我执行了以下操作:
git checkout ABCDE git checkout ABCDE
所以,现在我的实时网站正在运行。唯一的问题是我的实时站点与我的存储库不同步,这意味着我无法在不获取损坏代码的情况下进行任何更改。我不需要损坏的代码,如果它被删除也没关系。我只需要一种方法让存储库再次与 ABCDE 同步。
我希望这是有道理的。我不太擅长 git。感谢您的帮助。
我不小心添加了几个文件后
hg add
Run Code Online (Sandbox Code Playgroud)
我想用它来回复
hg revert --all
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有做出我预期的改变,所以他们也被还原了.我可以收回那些内容吗?
不知怎的,我只是在eclipse(android开发)中按下了一些键或键组合,eclipse突然恢复了我正在处理的文件的先前版本.CTRL Z/Y无济于事.我是否必须再次对文件进行所有更改!
我可以做些什么?我不希望这种情况再发生.我怎么可能继续使用eclipse知道这可能会在某个时候再次发生.
谢谢,
我在执行命令时遇到问题git revert。我使用 Ubuntu 12.04 Linux 和 Git 版本 1.7.9.5。
b_test_repo我在本地 PC 上创建了一个全新的,并从远程跟踪它origin b_test_repo。A包含两行文本的单个文件(commit),并仅在本地master分支中成功提交了它。为了进行尝试,git revert我又生成了 3 个提交,每个提交都添加了一行文本。所以我的master提交历史如下所示:
A - B - C - D
Run Code Online (Sandbox Code Playgroud)
在哪里
A- 包含第 1 行和第 2 行的新文件B- 添加了一行C- 添加了一行D- 添加了一行在所有这些提交之后,文件包含 5 行:
line1
line2
line3
line4
line5
Run Code Online (Sandbox Code Playgroud)
然后,我想恢复 commit B,这将渲染没有 的文件line3,该文件是由 commit 添加的B:
git status
# On branch master …Run Code Online (Sandbox Code Playgroud) 我从一个 repo 中提取,对多个文件进行了更改,现在我想撤消它们。
我试过了svn revert -R .,svn revert --depth infinity .但是当我打电话时svn status,我仍然看到所有文件都被标记为已修改,而且它们似乎与我尝试恢复之前的一样。
我在关于恢复更改的文档中看到了这个讨论,但它似乎处理从一个提交到另一个提交,而不是撤消所有未提交的更改。
(我无权访问 TortoiseSVN。)
我不能给你一个确切的状态命令转储,但它看起来有点像这样:
>>svn status
? dir/
? dir/
X dir/
? dir/
Performing status on external item at [dir]
M file
Performing status on external item at [dir]
? dir/
? dir/
? file
? file
X dir/
Run Code Online (Sandbox Code Playgroud) 我一直在PhpStorm的专用分支上工作,但是当推送到github时,我无意中合并到了master分支。
如何在github和本地撤消合并?github master用于将代码迁移到各种服务器,因此我需要在合并之前回滚到先前的提交,而不是在撤消更改的情况下创建新的提交。
我正在使用一个共享的 github 存储库来协作一个项目。因为我是个白痴,所以我提交并推送了一个包含我不想共享的密码的脚本文件(是的,我可以更改密码,但无论如何我想删除它!)。
有没有办法从github的历史记录中恢复提交,在本地删除密码,然后重新提交并推送更新的文件?我不想完全删除文件,也不想丢失 github 上的提交历史记录。
(这个问题 如何从 git 存储库中完全删除文件? 显示了如何删除敏感文件,但没有显示如何从文件中编辑敏感数据,所以这不是重复的)