0

我正在使用本地存储库,并且没有上游存储库。我有一个分支“master”,其中 HEAD 指的是最近的提交。为了完成某件事*,我做了一个:

git rebase -i master

它打开了编辑器窗口,所以我可以挑选和挤压。不确定接下来要做什么,我关闭了编辑器(没有进行任何更改)并被 git 告知:

成功地重新设置和更新了 refs/heads/master。

这是 git 响应的总和。

我在这里有两个问题:

首先,我的分支实际上有什么变化吗?我的分支现在处于什么状态?(我意识到这是 1 中的两个问题。)

其次,如果这个命令有影响,我该如何撤消?

4

1 回答 1

0

首先,我的分支中是否有任何实际变化......

如果编辑说“noop”,则不会有任何更改,因为没有要处理的 SHA。

如果编辑器中确实有任何 SHA,那么您将面临更改历史记录的风险。可能会受到影响的是合并提交。

...我的分支现在处于什么状态?

用于git status检查。如果它通知你你的分支和你的远程分支已经分歧,你已经重写了历史。否则,我不会出汗。

[I]如果此命令有影响,我该如何撤消?

如果您没有强制推送此分支,您可以重置本地分支的状态以匹配远程分支的状态。

git fetch
git reset --hard origin/master

如果您已强制推送,那么您应该要求提取存储库副本(并且尚未处理 master 的变基)的人强制推送他们的 master 分支。

于 2015-09-18T22:45:09.063 回答