如何在git rebase交互后解释"我们删除"

Mac*_* M. 6 git git-rebase

在处理特定于功能的分支(来自"开发"分支)时,我采取了错误的方法(几次:/)并且基本上想要在我当前提交之前删除此分支上的所有提交.

我之前在这种情况下所做的是git rebase -i development在我要保留的那个(最新的)之前做一个并删除所有提交然后执行git push -force来更新远程仓库以仅包含我的最多最近的黄金承诺.

执行此操作后,当我为此rebase提交提交更改的时间时,看起来git对我的请求有点奇怪的响应.它说有几个文件

both modified:      app/helpers/statistics_helper.rb
deleted by us:      app/models/referrals/chart.rb
deleted by us:      app/views/statistics/_referrals.html.haml
deleted by us:      app/views/statistics/_referrals2.html.haml
deleted by us:      app/views/statistics/_referrals3.html.haml
Run Code Online (Sandbox Code Playgroud)

我不知道如何回应这个.如果我git add之前被"我们删除"的文件,它会删除这些文件吗?

Jam*_*mes 1

通过删除提交,就好像它们从未发生过一样。因此,如果您在之前的提交中添加了刚刚删除的任何文件,这些文件也将被删除。那可能是在您看到该消息时。这可能会删除您想要作为最终结果一部分的对现有文件的更改。我认为您错误地使用了 rebase。

如果在最后一次提交结束时,所有内容都处于您想要的状态,那么您应该简单地压缩最后一次提交。您可以通过几种方式做到这一点。rebase -i像您一样使用并为除第一行之外的所有提交行指定sor代替即可。squashedit

另一种方法是:

git reset --soft HEAD~<N>
git commit
Run Code Online (Sandbox Code Playgroud)

<N>您需要压缩的提交数量在 哪里?