我已经克隆了一个git存储库到我的开发服务器,然后切换到开发分支,但现在我不能做一个git拉更新分支。

如何更新服务器上的代码?


当前回答

如果你想从一个特定的分支中提取你所要做的就是

git pull 'remote_name' 'branch_name'

注意:确保先提交代码。

其他回答

在我的例子中,devp是更新的(或HEAD), Main是旧的(像20次提交),使用git fetch——all和——allow-unrelated-histories,工作完美

是这样的:

git clone https://github.com/xxxxxxxx
git remote add origin https://github.com/xxxxxxxx
git fetch --all

(在这里,我得到了一个合并无关的历史错误,所以)

git pull origin devop --allow-unrelated-histories

(在这一点上,我得到了一些冲突,解决了一个新的提交)

最后

git push -u origin devop

git-pull——从另一个存储库或本地分支获取并与之集成

Git pull [options] [<repository> [<refspec>…]]

你可以参考官方的git文档https://git-scm.com/docs/git-pull

例:

Git pull origin dev

查看git-pull手册页:

Git pull [options] [<repository> [<refspec>…]]

在例子部分:

将远程分支合并到当前分支中: $ git下拉原点

所以我猜你想做的事情是:

git pull origin dev

设置它,让它在你在开发分支时默认这样做:

git branch --set-upstream-to=origin/dev dev

这对我来说非常有效,尽管获取所有分支可能有点太多:

git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch --all
git checkout develop


如果你想避免过多地获取所有内容,而只获取显式分支(在本例中是'develop'),那么下面的方法是有效的:

git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch origin develop
git checkout develop

区分git pull所做的两个操作通常更清楚。它所做的第一件事是更新与远程分支相对应的本地跟踪分支。这可以用git fetch来完成。其次,它会合并更改,这当然可以用git merge来完成,尽管其他选项(如git rebase)偶尔也有用。