我从主人那里检查了一个名为FNB-90
的分支。在分支FNB-90
中,我进行了2次添加,提交并将它们推送到远程。然后,从FNB-90-CHILD
查看另一个名为FNB-90
的分支。
一个。现在,如果在分支FNB-90
中,我赞扬:
$ 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
会恢复到我检查过的原始状态吗?如果没有,那该怎么做?
湾如果我使用推荐删除分支FNB-90
,
$ git branch -d FNB-90
$ git push origin --delete FNB-90
分支FNB-90-CHILD
会发生什么,即它会成为master
的直接分支?
答案 0 :(得分:1)
答案:
FNB-90会恢复到我检查过的原始状态吗?
是的,现在origin/master
和本地FNB-90
具有相同的提交历史记录。如果您想要更新origin/FNB-90
,则必须执行force push
。
N.B。强制推送会将origin/FNB-90
的历史记录替换为本地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
无效。分支(HEAD)只是指向提交的指针。如果我们删除一个分支,它会删除分支的指针,但是仍然存在提交。
答案 1 :(得分:1)