Git学习教程三之分支管理
实战流程:
1:代码库克隆一份至本地
2:新分支操作
2.1 在需要的文件中创建并指向新的分支方便写代码 git checkout -b <name> 2.2 写完之后确认无误提交至新分支
3:切回master分支操作
3.1 指向分支master git checkout <name> 3.2 将新分支的代码合并至master分支 git merge <name>
4:删除新分支 git branch -d <name>
5:将本地内容提交至远程仓库
一:clone远程库gitskills到本地以方便修改
$ git clone gitskills
二:新分支操作
2.1 创建并指向分支dev1(下述命令既包含了创建分支,又包含了指向分支):
$ git checkout -b dev1
Switched to a new branch 'dev1'
单独使用创建新的分支dev:
$ git branch dev
单独使用指向新分支dev:
$ git checkout dev #指向新分支
Switched to branch 'dev' $ git branch #查看仓库中的所有分支,带有*的表示为当前指向的分支
* dev
dev1
master
2.2 修改库里的readme.txt文件内容为 learn a new skill,之后将该内容提交至新分支dev:
$ vi readme.txt # 先编辑该文件修改为learn a new skill $ git add readme.txt # 提交之前首先需要跟踪此文件!还没忘记吧,嘻嘻嘻
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory. $ git commit -m "learn a new skill" # 提交当前的修改至分支dev上
[dev 904860a] learn a new skill
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
三:合并分支
我们已经将修改好的内容提交至分支dev上了,接下来就需要将分支dev合并至master上。想完成这个步骤首先我们得将分支切换到master之后才可以进行合并分支。
$ git checkout master # 先切换指向分支为master
Switched to branch 'master'
Your branch is up to date with 'origin/master'. $ git merge dev # 将分支dev合并至master
Updating dab0ed3..904860a
Fast-forward
readme.txt | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
四:删除创建的分支dev
当分支dev上的代码已经被合并了之后,我们就可以删除这个分支啦:
$ git branch # 删除分支之前查看一下所有分支
dev
dev1
* master $ git branch -d dev # 删除分支dev
Deleted branch dev (was 904860a). $ git branch # 删除之后对比查看一下所有分支
dev1
* master
五. 将本地内容提交至远程仓库
$ git push origin master
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 303 bytes | 50.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:1654218052/gitskills.git
dab0ed3..904860a master -> master
读后有收获可以赞赏一下哦

Git学习教程三之分支管理的更多相关文章
- Git 学习(六)分支管理
Git 学习(六)分支管理 几乎每一种版本控制系统都支持分支.使用分支意味着你可以从开发主线上分离开来,然后不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录 ...
- git学习(5)分支管理(续)
git学习(5)分支管理(续) 1.解决冲突 冲突的产生 如我们在新建分支和原来master分支上对同一文件做了修改并提交,在合并分支的时候就会遇到冲突 比如我新建了分支myBranch,在这个分支上 ...
- GIT学习记录3(分支管理)
学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...
- Git学习(四)——分支管理
一.创建与合并分支 1.创建分支 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点.每次提交 ,mast ...
- Git学习05 --分支管理02
1.冲突 产生冲突后,查看readme.txt 可以看到冲突内容 <<<<<<< ======= >>>>>>> ...
- Git学习04 --分支管理
每次commit,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master ...
- git——学习笔记(三)分支管理
一.创建.合并分支 每次提交,git都往后走一格,串成一跳时间线,head指向的是分支,分支指向提交.master是主分支,dev是另一条分支,分支就像指针一样,合并.删除分支时,修改的都是指针,工作 ...
- Git 学习(七)标签管理
Git 学习(七)标签管理 发布版本时,通常会先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.取出某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. ...
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
随机推荐
- Shell脚本快速查看网段内ip占用情况和可用ip
思想就是整个网段ping一遍,对于ping不通的,解析其失败的字符来判定 #!/bin/bash head_add=${} address=${head_add%.*} echo address=$a ...
- C#实现异步阻塞TCP(SocketAsyncEventArgs,SendAsync,ReceiveAsync,AcceptAsync,ConnectAsync)
1.类 (1)socket IO操作内存管理类 BufferManager // This class creates a single large buffer which can be divid ...
- python+Appium自动化:元素等待时间
元素等待时间 为什么要设置等待时间呢?主要是因为界面加载时,为了防止元素还未出现影响后续的操作. 主要有三种方式:强制(线性)等待.隐式等待.显式等待 适用于appium和selenium 强制(线性 ...
- 平衡树treap 0基础详解
刚开始学treap..同学在台上给我们讲,貌似除我之外的机房dalao们都听懂了就我发呆...(滑稽) 于是,事后的窝只能自己上网翻书研究了.... treap: treap=tree+heap,树+ ...
- [codeforces792C][dp]
https://codeforc.es/contest/792/problem/C C. Divide by Three time limit per test 1 second memory lim ...
- 编译参数(-D)
程序中可以使用#ifdef来控制输出信息 #include<stdio.h> #define DEBUG int main() { ; ; int sum = a + b; #ifdef ...
- Java线程之join
简述 Thread类的join方法用来使main线程进入阻塞状态,进而等待调用join方法的线程执行,join有三个重载方法: public final void join() 使主线程进入阻塞状态, ...
- break语句与continue语句
break:终止该层循环: continue:跳过该层循环 注: ①:若这两个语句离开应用范围,存在是没有意义的. ②:这个两个语句后面都不能有语句,因为执行不到. ③:continue语句是跳过本次 ...
- OSX 改变PHP安装路径环境变量
当使用XAMPP来学习Laravel的时候,用composer安装laravel总是报错,说mcrypt is required ,但是当我在终端里打印 which php 显示的是usr/bin/p ...
- JS高级_数据类型
1.分类: a.基本(值)类型: * String :任意字符串 * Number :任意数字 * boolean : true/false * undefined :undefined * null ...