系列文章目录
第1章 Git拉取分支、基于主分支创建新的开发分支、合并开发分支到主分支、回退上一次的merge操作
文章目录
- 系列文章目录
- 一、拉取分支
- 二、如何从master分支创建一个dev分支
- 三、如何将dev分支合并到master分支
- 四、如何回退上一次的merge
一、拉取分支
- 项目文件夹下,右击鼠标,选择 Git Bash Here
- 本地初始化一个仓库:Git init
- 输入要链接到码云的地址:git remote add origin 云端仓库项目地址
- 更新分支列表:git remote update origin --prune
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名 - 拉取码云上的所有文件到项目中来,git pull origin 分支名
- 在本地修改代码,或增加文件
- 将所有文件加载到列表:在命令行中继续输入代码执行 git add . (add空格后有个点别忘了)
或将个别文件加载到列表:git add 文件名1 文件名2 - 添加注释,来说明自己为什么要上传,方便以后自己查阅:git commit -m “第一次上传”
- 提交到码云上面:git push 远程库名 分支名
因为是第一次提交,要更改为:git push -u origin master
第二次提交就按照上面的写法即可,不再需要加 -u
二、如何从master分支创建一个dev分支
-
切换到你指定的分支。如我要从master上拉一个分支,代码一模一样
git checkout master
-
拉取master的最新代码
git pull
-
在本地创建一个dev分支,并切换到该分支。此时执行git branch会看到该分支在本地已创建
git checkout -b dev
-
把分支推到远程仓库。此时执行git branch -av可以看到该分支在远程仓库也有了
git push origin dev
-
将本地分支与远程分支关联
git branch --set-upstream-to=origin/dev dev
创建新分支dev完成!
三、如何将dev分支合并到master分支
- 在分支 dev 的工作结束,切换到分支 master
git checkout master
- 然后把 dev 合并到 master 上
git merge dev
- 用tortoise工具,点击提交按钮,检查红色冲突文件,手动逐个解决冲突,完成后确定“提交”。
四、如何回退上一次的merge
这一步很少遇到,实在不行需要撤销上次的merge。
-
git reflog 命令查看历史的操作
git reflog
-
使用 git show 命令可以查看 commit 的详细信息
git show 46ea33c5
显示如下:
merge节点:46ea33c5
原先的主分支节点:84a157d7
合并过来的新分支的节点:1928b1a4 -
revert 上一次的merge
保留主分支,应该设置主分支为主线# git revert -m 主分支用“1”表示 merge节点 git revert -m 1 46ea33c5
如果直接使用 git revert ,git 也不知道到底要撤除哪一条分支上的内容,这时需要指定一个 parent number 标识出"主线",主线的内容将会保留,而另一条分支的内容将被 revert。
这里用-m指定保留的分支。-m 选项以代表这次 revert 的是一个 merge commit。 -m 选项接收的参数是一个数字,数字取值为 1 和 2,也就是 Merge 行里面列出来的第一个还是第二个。
如上面的例子中,从 git show 命令的结果中可以看到,merge commit 的 parent 分别为 84a157d7和 1928b1a4,其中 84a157d7 代表 主要 分支(从图中可以看出),1928b1a4 代表 will-be-revert 分支。
-
将更改推送到远程仓库
git push
revert 成功了。