我已经克隆了一个git存储库到我的开发服务器,然后切换到开发分支,但现在我不能做一个git拉更新分支。
如何更新服务器上的代码?
我已经克隆了一个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)偶尔也有用。