我从主站查到一个名为FNB-90的分支。在分支FNB-90中,我进行了2次添加、提交并将它们推送到远程。然后,从FNB-90-CHILD查看另一个名为FNB-90的分支。
A.现在,如果在分行,我建议:

$ git fetch  # will fetch the latest changes on the remote
$ git reset --hard origin/master # will set your local branch to match the representation of the remote just pulled down.

FNB-90是否会恢复到我签出的原始状态?如果没有,那怎么办?
b.如果我用推荐删除了分支FNB-90
$ git branch -d FNB-90
$ git push origin --delete FNB-90

分支FNB-90会发生什么,即它会成为FNB-90-CHILD的直接分支吗?

最佳答案

答:A
fnb-90会恢复到我签出的原始状态吗?
是的,现在origin/master和本地FNB-90具有相同的提交历史。如果要更新origin/FNB-90,则必须执行force push
N.B.力推将用局部FNB-90的历史取代origin/FNB-90的历史。

$ git fetch
$ git checkout FNB-90
$ git reset --hard origin/master

$ git push -f origin FNB-90

现在,origin/master=origin/FNB-90=local FNB-90处于相同的状态。
而且,FNB-90-CHILD对此没有影响。(历史和以前一样)
答案:B
如果从本地和远程删除分支FNB-90,则不会对FNB-90-CHILD产生影响。只是指向提交的指针的分支(头)。如果我们删除一个分支,它将删除该分支的指针,但是commit仍然存在。

09-04 19:02