- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
为了帮助我了解 git 以便我可以日常使用它,以下之间有什么区别:
它们是什么,它们做什么?
最佳答案
术语还原 和修改 在Git 中具有明确定义的含义。相比之下,rollback 和 undo 没有明确定义的含义,并且可以解释。
...意味着创建(在当前分支上)一个新提交,该提交应用另一个提交引入的反向更改。这是更正已与他人共享的存储库中问题的首选方法,因为它不涉及任何破坏(即重写历史记录)。
还原由 <commit>
标识的提交, 简单地运行
git revert <commit>
...意味着用具有相同父项的新提交替换“当前”提交;更多详细信息,请参阅 How does git commit --amend work, exactly?
请注意
要修改提交,进行所有必需的更改并暂存它们,然后运行
git commit --amend
此处无需指定任何提交,因为当前分支上的最后一次提交将被修改。然后会 pop 您的编辑器,让您有机会修改提交消息。
...通常意味着丢弃(或 stash )任何本地更改并将分支重置为提交(或简单地 checkout 提交,但这会使您处于分离的 HEAD 状态),然后再提交开始的事情弄乱。使用
git reset <commit-before-things-started-to-go-belly-up>
...根据上下文可以表示
关于git - 'revert'、 'amend,'、 'rollback' 和 'undo' 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166547/
我使用 git commit --amend 来修改之前的提交。之后,当我推送我的更改时,我因为“not-fast-forward”错误而被拒绝。我在寻找答案。不幸的是,git pull --reba
似乎这两个命令将做完全相同的事情,即在不调用编辑器的情况下向最后一次提交添加一些阶段性更改。 我只是想知道是否有任何我不知道的技术差异。 谢谢。 最佳答案 在功能上,是的,它们是相同的:-C 将“ed
如果我这样做 git commit --amend到标记的提交,标记将消失。我需要删除原始标签并重新添加。有没有办法将原始标签移动到新的提交? 最佳答案 不能直接绑the creation of a
今天我发现了 --no-edit 用于 --amend。但是,它导致我遇到以下问题。这里的步骤: git 克隆 对代码做了一些修改 git 添加。 git commit --amend --no-ed
我的 ~/.gitconfig 中有这个别名: [alias] am = commit -a --amend -C HEAD 但是,当我运行 git am 时,它挂起,并且我在提示符处得到 (
我的 ~/.gitconfig 中有这个别名: [alias] am = commit -a --amend -C HEAD 但是,当我运行 git am 时,它挂起,并且我在提示符处得到 (
我愿意更正我对此的理解,但我不确定为什么会这样。 当使用 git 时,我知道如果我对文件进行更改然后提交它,我会得到一个新的哈希值,因为文件已更改。 我对 git commit --amend 的理解
场景:我提交,推送到远程服务器,然后使用 --amend 提交其他内容。如果我再次尝试推送,我会得到一个错误,因为我更改了已经推送的历史记录。 假设我不关心修改后的更改,我该如何撤消它以使我的历史看起
有时我真的想 git commit --amend 时不小心输入了 git commit -amend。 Git 检测到并询问我 $ git commit -amend error: did you
这个问题在这里已经有了答案: How to amend a commit without changing commit message (reusing the previous one)? (7
有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的commit message的描述有误,这时候你可以使用接下来的这个命令:git commit --amen
我不小心做了一个“hg commit --amend”而不是一个提交。如何在修改之前回滚提交? 最佳答案 注意:此答案现已弃用。见 the answer来自@Sorina Sandu。 见 hg he
我当前的 Git 存储库有三个分支:mainline、feature_a 和 feature_b。历史如下: mainline 从远程仓库克隆 feature_a 分支已从 mainline chec
我有一个远程“开发”分支并在本地处理它。 我使用提交消息“my_feature”在“dev”上进行了第一次提交,将我的本地分支领先于远程 1 次提交。 然后我开发了一些新东西并制作了一个 git ad
这个问题在这里已经有了答案: How to undo "git commit --amend" done instead of "git commit" (12 个答案) 关闭 6 年前。 我不小心
git 书似乎与 git commit --amend 自相矛盾: This command takes your staging area and uses it for the commit. I
我经常犯这样的错误,即在提交后立即更改文件,然后运行 git commit --amend 然后快速执行 git push -f origin master 显然,问题是我从未运行过 git ad
当我执行 commit --amend 时,如果提交已经被推送到远程存储库,那么它是不安全的提交。 我想检测不安全的提交——通过预提交钩子(Hook)修改并中止。 但是预提交钩子(Hook)没有参数。
我有一个用 ruby 做事的提交后钩子(Hook)。它工作得很好,但在某些情况下,我想在执行 git rebase 或 git commit --amend 时跳过代码执行。 有人知道我在这些情况
我看过 'git commit --amend' in detached HEAD state 。这个问题要求答案比需要的更复杂。 我想了解 git commit --amend 在正常的 HEAD
我是一名优秀的程序员,十分优秀!