git 将推送的文件重置为之前的提交。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于git 将推送的文件重置为之前的提交。的主要内容,如果未能解决你的问题,请参考以下文章

git 重置为上一次提交,然后推送

我如何重新推送先前的提交?

Git / heroku梦魇似乎无法重置为之前的提交

tortoiseGit 重置为以前的版本

Git无意中推送文件

我可以在没有推送的情况下跟踪和提交吗?