问题标签 [git-revert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何在提交之前撤消“git add”?
我错误地使用以下命令将文件添加到 Git:
我还没跑git commit
。有没有办法撤消这个,所以这些文件不会包含在提交中?
git - 撤消 git 中的更改(不重写历史记录)
我对脚本进行了更改并提交了它。然后我做了一些其他的更改,并将它们推送到远程存储库等。
然后我意识到我提到的第一个更改是愚蠢的,并且想要撤消它。我可以“取消应用”该提交,而无需手动复制/粘贴差异吗?
例如:我有两个文件,a.py
并且b.py
:
我可以撤消该功能删除,并使其显示为“提交 4”(而不是删除提交 1)
git - 在 Git 中重新进行还原合并
我在这里遇到了一些问题:我28s
在 Git 中有一个特定于问题的分支,我将它合并到了一般develop
分支中。原来我做得太快了,所以我使用 git-revert 撤消合并。然而,现在是合并28s
到的时候了develop
,但是 git-merge 命令看到了原来的合并,并高兴地宣布一切都很好,分支已经合并了。现在我该怎么做?创建一个'Revert "Revert "28s -> develop""' 提交?似乎不是一个好方法,但我现在无法想象其他任何方法。
树结构是什么样子的:
git - 如何恢复多个 git 提交?
我有一个如下所示的 git 存储库:
我想让分支的头指向A,即我想让B、C、D和HEAD消失,我想让head成为A的同义词。
听起来我可以尝试重新设置基准(不适用,因为我已经在两者之间推送了更改),或者恢复。但是我如何恢复多个提交?我要一次恢复一个吗?顺序重要吗?
git - 回滚到公共仓库中的旧 Git 提交
我怎样才能回滚到git中的特定提交?
有人可以给我的最佳答案是使用git revert
X 次,直到我达到所需的提交。
因此,假设我想恢复到 20 次提交的旧提交,我必须运行 20 次。
有没有更简单的方法来做到这一点?
我不能使用重置,因为这个存储库是公开的。
git - 撤消 git pull --rebase
嘿,我是 git 新手,我需要撤消拉动,有人可以帮忙吗?!?所以我所做的是...
- git 提交
- 混帐藏匿
- git pull --rebase
- git stash 弹出
这造成了一堆冲突并且出了点问题。现在做 'git stash list' 表明我的藏匿处仍然存在。是否可以在执行 git commit 之后将我的 repo 恢复到原点。如此有效地,我的回购只包含我所做的更改,而服务器没有任何新内容?
git - 撤消 Git 中已推送到远程仓库的特定提交
撤消特定提交的最简单方法是:
- 不在头部或头部
- 已被推送到远程。
因为如果不是最新的提交,
不起作用。而且因为它已经被推送到远程,
和
会导致遥控器出现一些问题。
更何况,我真的不想修改历史。如果有错误的代码,它就存在于历史中并且可以看到。我只是想把它放在工作副本中,我不介意反向合并提交。
换句话说,以下 svn 命令的Git等价物是什么:
它通过反向合并这些修订中的所有更改作为新提交来删除从 295 到 302 的所有更改。
这会撤消 302 提交,当然是通过添加另一个提交来反向合并来自相应提交的更改。
我认为这应该是 Git 中一个相当简单的操作和一个相当常见的用例。原子提交还有什么意义?
我们有 staging stash和所有以确保提交是完全原子的,您不应该能够轻松撤消这些原子提交中的一个或多个吗?
directory - git如何恢复到特定版本
我有一个 git 项目。我刚刚提交,然后我删除了一些目录。操作,我的坏。现在我想恢复那些我已经删除的目录。我怎么做?
git - Git:合并后如何重置?
我已将朋友存储库中的主分支合并到我的工作目录到 branch_a 中,使用:
我发现合并后的版本有错误。为了继续开发,我想恢复到合并前的最后一次提交。
我试过了:
但这使我在合并后立即回到了该州。(是否拉命令提交?!)
我也试过:
但收到以下错误:
致命:提交 2d72d8f367b987d8c16f5cb1a543a6886acdcf83 是一个合并,但没有给出 -m 选项。
我应该怎么办?
git - 如果当前位于子目录下,是否需要在 GIT 中取消暂存文件的完整路径?
回购:合并测试
$密码
/gitvobs/mergetest/苹果
$git 状态
在分支 br1
已更改但未更新:
(使用“git add ...”来更新将要提交的内容)
(使用“git checkout -- ...”丢弃工作目录中的更改)
$git checkout 里面
错误:pathspec 'inside' 与 git 已知的任何文件都不匹配。
$git checkout apple/inside完美运行
所以每次,当我在子目录中时,我是否需要指定文件的完整路径以取消暂存更改?
add 不是这种情况(我可以在任何地方使用 'git add file-name' 添加文件)
这是 GIT 的行为方式还是在其他版本的 GIT 中发生了变化?
我正在使用 git 版本 1.6.6
谢谢