2022-03-02 如何修改git 已经推送的log日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-03-02 如何修改git 已经推送的log日志相关的知识,希望对你有一定的参考价值。
参考技术A 1、修改最后一次的 log日志:git commit --amend
弹出终端vim。修改完后,按esc,输入 :wq保存。
没有push到远端情况的,这里就可以了。
提交到了远端的,执行:
2、修改历史上某次,或某一些次log日志:
3是最近的第几次。
弹出终端vim。在需要修改的记录前,pick 改成reword,然后,按esc,输入 :wq保存。
再次自动打开终端的编辑,本次,修改日志内容,按esc,输入 :wq保存。
(这里除了可以修改log日志,还支持删除、调换顺序、合并多次提交。比如pick改成drop,就是删除记录)
这时候会出现超前xx版本,落后xx版本
执行一下
可以了。
历史提交记录,内容没变,时间变成了今天
只是如果分支被其他用户也checkout过,那么rebase修改分支提交顺序,或者删除某提交历史记。都会影响对方的分支,出现 超前xx分支、落后xx分支的情况。
这种情况,如果有修改,需要先暂存。删除这种分支。重新拉取,再应用暂存。
参考文章:
https://blog.csdn.net/weixin_30268921/article/details/101103160
git 将推送的文件重置为之前的提交。
我把一些变化推到了我的 feature
支部。
file_a
上已经发生了变化。master
的分支。
现在,我想保留我的修改,但为了让我的修改更有说服力,我想让我的修改更有说服力。file_a
我希望它能像在... master
我不想做大量的合并工作,所以我决定将我的文件重置为之前的提交(在我自己推送之前的提交)。
git checkout aaaaaaa -- file_a
现在,文件的 内容 重置到我做修改之前的状态,但并没有重置到那个提交。现在我有未提交的修改。
问题是: 我不能做 git pull origin master --rebase
. 我不能把修改藏起来,因为我的编辑会出现。我不想提交它,因为它变成了一个新的提交,然后我就不能在没有合并的情况下重垒(会和我之前的编辑有冲突)。
我在寻找什么:是指 file_a
(而不仅仅是内容)在我编辑之前被重置到那个确切的提交,这样我就可以在不合并的情况下重设基础。这可能吗?
答案
我想我想到的最简洁的解决方案是
git reset --soft aaaaaaa
然后,我把所有的编辑都进行了分期。然后,我取消了阶段,并在 file_a
并做我的正常的rebase工作流程
git stash
git pull origin master --rebase
git stash pop
add <directory>
git commit
git push --force-with-lease
这样一来,所有的变化都会被保存下来。file_a
得到更新的版本,而不需要合并。feature
变化将基于最新的 master
以上是关于2022-03-02 如何修改git 已经推送的log日志的主要内容,如果未能解决你的问题,请参考以下文章