标签: git-amend

如何修改现有的,未删除的提交?

我在提交消息中写了错误的东西.或者,我忘了包含一些文件.

如何更改提交消息/文件?提交尚未被推送.

git git-amend git-commit git-rewrite-history

7669
推荐指数
27
解决办法
246万
查看次数

如何撤消"git commit --amend"而不是"git commit"

我不小心修改了我以前的提交.提交应该是独立的,以保留我对特定文件所做更改的历史记录.

有没有办法撤消最后一次提交?如果我这样做git reset --hard HEAD^,第一次提交也会撤消.

(我还没有推到任何远程目录)

git commit undo git-amend

1198
推荐指数
10
解决办法
28万
查看次数

如何将修改后的提交推送到远程Git存储库?

当我使用我的源代码工作时,我做了我惯常的事情提交,然后我推送到远程存储库.但后来我注意到我忘了在源代码中组织我的导入.所以我做了修改命令来替换以前的提交:

> git commit --amend
Run Code Online (Sandbox Code Playgroud)

不幸的是,提交不能被推回到存储库.这被拒绝了:

> git push origin
To //my.remote.repo.com/stuff.git/
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '//my.remote.repo.com/stuff.git/'
Run Code Online (Sandbox Code Playgroud)

我该怎么办?(我可以访问远程存储库.)

git git-amend git-commit

624
推荐指数
14
解决办法
36万
查看次数

如何修改提交而不更改提交消息(重用前一个)?

有没有办法修改提交没有vi(或你$EDITOR)弹出修改提交消息的选项,但只是重用前一条消息?

git commit git-amend git-commit

590
推荐指数
7
解决办法
12万
查看次数

在Git中编辑root提交?

有办法从以后的提交中更改消息:

git commit --amend                    # for the most recent commit
git rebase --interactive master~2     # but requires *parent*
Run Code Online (Sandbox Code Playgroud)

如何更改第一次提交(没有父级)的提交消息?

git git-rebase git-amend git-commit git-rewrite-history

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

Mercurial:如何修改最后一次提交?

我正在寻找git commit --amendMercurial 的反向部分,即修改我的工作副本链接的提交的方法.该修订程序的要求是:

  • 如果可能,它不应该要求任何扩展.它不能要求非默认扩展,即没有官方Mercurial安装附带的扩展.

  • 如果修改提交是我当前分支的一个负责人,则不应创建新的头.如果提交不是头,则可以创建新头.

  • 该程序应该是安全的,如果由于任何原因修改失败,我希望在修改之前恢复相同的工作副本和存储库状态.换句话说,如果修改本身可能失败,则应该有一个故障安全过程来恢复工作副本和存储库状态.我指的是修改程序性质的"失败"(例如冲突),而不是与文件系统相关的问题(如访问限制,无法锁定文件进行写入,......) )

更新(1):

  • 该过程必须是自动化的,因此可以由GUI客户端执行,而无需任何用户交互.

更新(2):

  • 不得触摸工作目录中的文件(某些已修改文件可能存在文件系统锁定).这尤其意味着,可能的方法可能在任何时候都不需要干净的工作目录.

mercurial commit git-amend mercurial-commit

209
推荐指数
5
解决办法
10万
查看次数

Git:如何编辑/重写合并提交的消息?

如何编辑或重新编写合并提交的消息?

git commit --amend如果它是最后一次提交make(HEAD),那么它会起作用,但如果它出现之前HEAD呢?

git rebase -i HEAD~5 没有列出合并提交.

git commit git-amend

135
推荐指数
7
解决办法
6万
查看次数

git commit --amend而不询问消息

我不时发现自己使用相同的消息进行修改.

通常,我这样做:

  1. 将我的更改添加到暂存区域.
  2. git commit --amend.
  3. 等待文本编辑器打开.
  4. 保存并关闭它(不更改消息).

无论如何要告诉git我不想更改提交消息(跳过打开文本编辑器并保存消息的步骤)?喜欢:

  1. 将我的更改添加到暂存区域.
  2. 告诉git将我的临时区域修改为最后一次提交而不要求我提供另一条消息.

我知道我可以通过这样做来避免git启动我的文本编辑器git commit --amend -m "<message>".但这样我就不得不重新输入消息.

git git-amend git-commit

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

意外推送提交:更改git提交消息

在我的本地仓库中,我有一个提交错误的提交消息.

我已经发布了错误的提交消息git push.

现在远程仓库(GitHub托管)也有不正确的提交消息.

我已经尝试了git commit --amend,但发现在这种情况下它对我不起作用,因为我已经做了额外的提交,因为不正确的提交.

你会如何解决这种情况?

git git-amend git-commit

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

Git在修改提交后阻止推送

通常,我只是跑

git add file
git commit
git push
Run Code Online (Sandbox Code Playgroud)

但如果我推送之前修改了提交(with git commit --amend),则下一次推送失败

hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

如何让git在不合并分支的情况下推送更改?我只有一个分支(master),我是唯一一个使用这个回购的人,为什么这么说呢?

git branch -a:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

编辑:使用gitk HEAD @{u},我看到我有2个分支,一个用原始提交,另一个用修改提交.

git git-push git-amend git-commit

41
推荐指数
3
解决办法
5万
查看次数