赞
踩
Git 分支管理及结合gitlab的使用
- ##创建dev分支前,我们先查看下当前分支情况
- git branch -a
- \* master
- remotes/origin/master
- ##创建dev分支
- git branch dev
- ##查看当前分支
- git branch -a
- dev
- \* master
- remotes/origin/master
- git checkout dev
- Switched to branch 'dev'
- git branch -a
- \* dev
- master
- remotes/origin/master
- ##说明:git checkout命令加上-b参数表示创建并切换分支上。
git branch -a 命令可以查看所有分支,现在我们HEAD指针便指向dev分支,大家可以在上图中看到dev分支上有个*号。如下图所示:
- ##我们现在在dev分支上
- echo "this is a test" > shiyan.txt
- git add shiyan.txt
- git commit -m "add a file shiyan"
- [dev 0e7aa94] add a file shiyan
- 1 file changed, 1 insertion(+)
- git push
- fatal: The current branch dev has no upstream branch.
- To push the current branch and set the remote as upstream, use:git push --set-upstream origin dev
- git push --set-upstream origin dev
用流程图演示上述过程如下:
现在我们在dev分支上完成工作。
- ##查看下dev分支上的文件
- ls
- shiyan.txt
- ##切换到master分支
- git checkout master
- ##查看master分支上的文件
- ls
- ##并没有shiyan.txt这个文件,我们登入到gitlab上看一下,在dev分支上存在shiyan.txt这个文件。
- ##原因:因为那个提交是在dev分支上,而master分支没有变化。
- ##在master分支上进行操作
- git checkout master
- git merge dev
- Updating 602d921..f6f8543
- Fast-forward
- shiyan.txt | 1 +
- 1 files changed, 1 insertion(+)
- create mode 100644 shiyan.txt
- ##git merge 命令用于合并指定分支到当前分支。合并后,再查看shiyan.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。
- ls
- shiyan.txt
- ##说明:
- (1)上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。当然,也不是每次合并都能Fast-forward,我们后面会将其他方式的合并。合并完成后,就可以放心地删除dev分支了。
- (2)在gitlab上可以看到master分支里已经存在shiyan.txt。
- ##在master分支上进行操作
- git checkout master
- git branch -d dev
- Deleted branch dev (was f6f8543).
- ##查看当前分支情况
- git branch -a
- \* master
- remotes/origin/dev
- remotes/origin/master
- ##查看分支
- git branch -a
- ##创建分支
- git branch name
- ##切换分支
- git checkout name
- ##创建并切换
- git checkout -b name
- ##合并某分支到当前分支
- git merge name
- ##删除分支
- git branch -d name
转载于:https://blog.51cto.com/wutengfei/2091257
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。