在开始前先推一篇关于git使用的博客:https://www.cnblogs.com/bincoding/p/6110763.html
git pull = git fetch + git merge
# git fetch
将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 fetch会取回所有远端最新分支,可以在fetch记录中查看取回的分支是否有修改。 git fetch 命令:
$ git fetch <远程主机名> //这个命令将某个远程主机的更新全部取回本地
如果只想取回特定分支的更新,可以指定分支名:
$ git fetch <远程主机名> <分支名> //注意之间有空格
最常见的命令如取回origin 主机的master 分支:
$ git fetch origin master
# git pull
$ git fetch origin master //从远程主机的master分支拉取最新内容
$ git merge dev //将拉取下来的最新内容合并到当前所在的分支中
$ $ git pull <远程主机名> <远程分支名>:<本地分支名> //将远程主机的某个分支的更新取回,并与本地指定的分支合并
$ git pull origin next //如果远程分支是与当前分支合并,则冒号后面的部分可以省略
# 关于“主分支push权限被限制,需发起代码合并请求”的推荐做法
# 推荐做法1:
- 基于主分支检出为新分支,在新分支上进行开发;
- 通过rebase方式变基到主分支;
- 变基后解决冲突,推送远端;
- 发起合并请求。
# 推荐做法2:
- 在本地主分支修改后,贮藏修改代码;
- fetch远端分支代码;
- 弹出贮藏代码,处理冲突,合并代码;
- 然后基于本地主分支,检出并创建新分支,推送新分支到远端; (基于本地分支检出并创建新分支命令:git checkout -b <要创建新分支> <基于的本地主分支>)
- 有远端新分支发起合并请求。
← git-常用命令 git-日常使用笔记 →