我对Git提交有一个小问题.所以我正在开发一些项目并使用Git.我做了一个Git提交,我不小心写了一个错误的提交消息.所以我的问题是:
无论如何我可以在Git中更改提交消息吗?
注意:我试过这样做:
git commit -a --amend -m "New Commit Message"
Run Code Online (Sandbox Code Playgroud)
但它不起作用.为什么?
谢谢.
我需要在我没有推送的提交上编辑我的消息/评论.
我正在使用Git Extensions.
救命.
PS - 另外,在推送提交后如何编辑我的消息?
如何将新更改添加到中间的提交中,我的意思是不添加到顶部提交.
git log
commit1 <--- HEAD
commit2
commit3
Run Code Online (Sandbox Code Playgroud)
如何直接将更改添加到commit3,而不删除commit1和commit2,然后将更改添加到commit3.
我需要使用藏匿处吗?
如果可能,请提供链接.
有没有办法改变已经推送到git远程存储库的特定旧(不是最新/后面)提交的注释?提交的内容没有变化.我只需要更改我所做的评论,这是一个完全错误!
谢谢
我想知道强制推动和正常推动之间有什么不同,在什么样的情况下我应该强制推入git?强制推入主分支是一个好习惯吗?
我在android studio中使用git插件.我的问题是当我提交更改列表(公共提交)但我在更改列表中的注释错误/缺失时我想要更改它.
题 :
有没有办法通过git添加来编辑我公开提交的更改列表的信息AndroidStudio.
我正在使用MacOSX.
注:类似的问题,因为这一个,但也有一些重要的变化.
在给定提交ID的情况下,我有以下函数来重写提交的日期:
rewrite-commit-date () {
local commit="$1"
local newdate="$2"
newdate="$(date -R --date "$newdate")"
echo ">>>> Rewriting commit $commit date: $newdate"
git filter-branch --env-filter \
"if test \$GIT_COMMIT = '$commit'
then
export GIT_AUTHOR_DATE
export GIT_COMMITTER_DATE
GIT_AUTHOR_DATE='$newdate'
GIT_COMMITTER_DATE='$newdate'
fi" &&
rm -fr "$(git rev-parse --git-dir)/refs/original/"
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试实现类似的功能rewrite-commit-message来更改提交消息.我想要的是:
rewrite-commit-message接受两个参数:和commit_id,和new_commit_messagecommit_id知道哪个提交更改git commit --amend,因为这与旧提交有关(不一定与最近的提交有关)git push -ffilter-branch它,但我不知道如何:
test在所使用的rewrite-commit-date功能是用来在env-filter,但我不会做env-filter在这里,因为我不希望改变有关提交环境中任何事物,但提交信息.我已经与其他分支合并,并且在合并之后很少提交,之后我想要更改合并的消息.git rebase -i没有显示合并提交.
我不小心给出了错误的消息并使用RubyMine推送了它.有什么方法可以纠正吗?RubyMine方式最好不要搞砸git,但其他值得信赖的方式也是受欢迎的.
如何(意外地)将提交的时间戳推送到远程存储库后如何编辑提交的时间戳?
我改变了我的系统时钟在我的应用程序进行测试的行为,并忘了之前设置回
git add -u .并git push.现在我的GitHub仓库显示了"在一个月内"编辑过的多个文件.
我已经按照这里的建议- 特别是对推荐的OP的评论git push --force,但不幸的是编辑日期保持不变.