一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
-
git checkout dev
-
git pull
-
git checkout master
-
git merge dev
-
git push -u origin master
二、当master代码改动了,需要更新开发分支(dev)上的代码
-
git checkout master
-
git pull
-
git checkout dev
-
git merge master
-
git push -u origin dev
使用git 命令查看当前的remote信息
git remote -v
- 添加一个将被同步给 fork 远程的上游仓库
git remote add upstream https://github.com/apache/flink.git
- 再次查看状态确认是否配置成功。
- git remote -v
Syncing a fork 获取源仓库的最新代码
-
git fetch upstream
-
切换到本地主分支
-
git checkout master
-
例如源代码的master分支有更新,我们要合并到我们本地的代码分支上只需要执行如下操作
git rebase upstream/master(git merge upstream/master)
执行完成后,就会发现本地代码已经更新到最新,如果有冲突需要我们解决冲突,解决完成后,执行
git push origin [master]
分支(branch)的基本操作:
git branch //查看本地所有分支
git branch -r //查看远程所有分支
git branch -a //查看本地和远程的所有分支
git branch <branchname> //新建分支
git branch -d <branchname> //删除本地分支
git branch -d -r <branchname> //删除远程分支,删除后还需推送到服务器
git push origin:<branchname> //删除后推送至服务器
git branch -m <oldbranch> <newbranch> //重命名本地分支
//git中一些选项解释:
-d --delete:删除
-D --delete --force的快捷键
-f --force:强制
-m --move:移动或重命名
-M --move --force的快捷键
-r --remote:远程 -a --all:所有
git fetch 用法
git fetch 命令:
$ git fetch <远程主机名> //这个命令将某个远程主机的更新全部取回本地
如果只想取回特定分支的更新,可以指定分支名:
$ git fetch <远程主机名> <分支名> //注意之间有空格
最常见的命令如取回
origin
主机的master
分支:$ git fetch origin master
取回更新后,会返回一个
FETCH_HEAD
,指的是某个branch在服务器上的最新状态,我们可以在本地通过它查看刚取回的更新信息:
git log -p FETCH_HEAD
git pull 用法
前面提到,git pull
的过程可以理解为:
git fetch origin master //从远程主机的master分支拉取最新内容
git merge FETCH_HEAD //将拉取下来的最新内容合并到当前所在的分支中
即将远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为:
$ git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略:
$ git pull origin next