赞
踩
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。
有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快。和许多其他版本控制系统不同,Git 鼓励在工作流程中频繁使用分支与合并,哪怕一天之内进行许多次都没有关系。理解分支的概念并熟练运用后,你才会意识到为什么 Git 是一个如此强大而独特的工具,并从此真正改变你的开发方式。
1、进入项目中,copy项目的链接地址,打开Git命令窗口,输入拉取命令,不过先不急,这样拉取是直接拉取到桌面上的,如果想要放到电脑中指定的文件夹,先进入文件夹,再clone下来,这时候已经完成了拉取项目。
- 拉取项目命令:
-
- git clone git@git.lug.ustc.edu.cn:Apollo/projecttest.git
1、假如我们GitLab里面存在一个空的Project,需要上传编辑过的文件进入这个Project中,这时候打开Git命令窗,进入需要上文件/文件夹的所在位置,如果不在文件所在地输入命令,将会出现以下错误。 另外注意:提交的文件名不能是中文,否则-m的注释内容将不会在GitLab的Last commit中出现!
- 命令行:
-
- $ git add test.txt
-
- $ git commit -m "第一次提交分支"
-
- $ git push -u origin master
-
-
- ps:
- git add 文件名 //单个上传
- git add . //批量上传文件
- 如果是批量上传一个文件夹里面的文件,可以将git add .和git commit -m合并成一句:
- git commit -a -m "注释内容"/git commit -am "注释内容"
-
- 但是!如果是新建文件,只是输入git commit -a -m "注释内容"/git commit -am "注释内容"是不能提交的,因为新建文件这个时候属于未跟踪状态,而-m命令只能提交跟踪状态的,所以必须要git add文件之后才能被提交到暂存区中。
-
- git commit -a -m "注释内容"/git commit -am "注释内容"和git commit -m "注释内容"的区别是:-am只能提交被跟踪过的文件,只要一开始被跟踪过,后面无需add,而-m,需要每次提交时都需要add一次。
正确命令流程:
这个时候已经提交成功,并且也有注释内容了。
项目中不可能只有一个人开发,所以为了避免因多人开发造成合并代码混乱,我们开发时需要从主干上面,切换分支去进行我们的开发任务,待我们开发任务完成之后,再合并到主干也就是master上去。
1、创建新分支 doingnow,并查看现在分支,带有*是当前分支
git checkout -b doingnow
2、我们编辑文件,然后再用新分支推送到远程分支上去,这样在GitLab就可看到我们提交的分支记录了。由于是新建文件,所以首先需要add一次,将文件变为跟踪状态,输入注释提交到暂存区再推送到远程分支上,注意不是直接推送到远程master分支上,而且作为新分支推到远程分支中。
- 命令:
-
- 将目录下所有文件标记为跟踪状态
- $ git add .
-
- 提交文件到暂存区并注释
- $ git commit -a -m "这是我的doingnow分支提交的内容"
-
- 推送到远程分支命令
- $ git push -u origin doingnow
-
-
-
-
-
GitLab上已有新分支
这时,代码已经上传到远程上,可是并不在我们的master主干上,所以需要管理员帮我们合并doingnow分支的代码到master里去,怎么合并呢,请看下方:
- 命令:
-
- 切换到本地master中
- $ git checkout master
-
- 合并doingnow
- $ git merge doingnow
-
- 将合并成功的master推送到远程master中
- $ git push -u origin master
-
- 注意:如果是多人开发,建议pull下远程master文件,此动作在切换本地master命令前执行
- $ git pull origin master
1、首先我们的master里面只有一个文件
合并成功后,doingnow里面的所有信息同步到master里面来了
在完成我们开发任务的分支之后,如果没有必要保留的话,可以删除,那么删除命令在下方,删除本地分支和远程分支~
注意:删除分支时,不能停留在次分支上,不然会删除失败,请切换到本地master分支去删除~
- 命令:
-
- 切换分支
- $ git checkout master
-
- 删除本地分支
- $ git branch -d doingnow
-
- 删除远程分支
- $ git push origin --delete doingnow
-
本地分支删除后只有master
远程分支删除后
哈哈,这样一路操作下来客官们是不是觉得很简单呢~
最后附上Git中文官网,供大家深入学习~
Git官网:https://git-scm.com/book/zh/v1/
今天就和大家先说到这里,
在下Apollo,一个爱分享Java、生活的小人物,
咱们来日方长,有缘江湖再见,告辞!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。