如果本地不存在远程 Git 主站,如何拉取它?



我在笔记本电脑上创建了一个Git"newfeature"分支,实现了一个新功能,然后将newfeature合并到我的主分支中。在我开发新功能的过程中,我还在生产服务器上创建并提取了这个新功能分支,以便在那里进行测试。现在我已经完成了这个分支,我想在我的生产服务器上删除它,并将我更新的主分支降到生产中。我到底该怎么做?

以下是我在生产服务器上看到的内容:

% git branch
* newfeature
% git ls-remote
4f533....  HEAD
4f533....  refs/head/master
4f533....  refs/head/newfeature

如果我试图把master拉下来,我会看到:

% git pull origin master
* branch      master    -> FETCH_HEAD

我试图让HEAD指向master,但这不起作用:

% git update-ref HEAD master
fatal: master: not a valid SHA1

如果服务器上还不存在master,我如何用新更新的master分支替换生产服务器上的这个"newfeature"分支?

谢谢!

您可以像以前一样将master分支拉到服务器。然后,如果它与newfeature相同,只需签出master并删除newfeature:

git pull origin master
git checkout master
git branch -D newfeature

最新更新