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

问题描述 投票:0回答:1

我把一些变化推到了我的 feature 支部。

file_a 上已经发生了变化。master 的分支。

现在,我想保留我的修改,但为了让我的修改更有说服力,我想让我的修改更有说服力。file_a 我希望它能像在... master

我不想做大量的合并工作,所以我决定将我的文件重置为之前的提交(在我自己推送之前的提交)。

git checkout aaaaaaa -- file_a

现在,文件的 内容 重置到我做修改之前的状态,但并没有重置到那个提交。现在我有未提交的修改。

问题是: 我不能做 git pull origin master --rebase. 我不能把修改藏起来,因为我的编辑会出现。我不想提交它,因为它变成了一个新的提交,然后我就不能在没有合并的情况下重垒(会和我之前的编辑有冲突)。

我在寻找什么:是指 file_a (而不仅仅是内容)在我编辑之前被重置到那个确切的提交,这样我就可以在不合并的情况下重设基础。这可能吗?

git version-control rebase git-checkout
1个回答
0
投票

我想我想到的最简洁的解决方案是

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

© www.soinside.com 2019 - 2024. All rights reserved.