需求背景

开发新功能和修改bug一般放在新建分支,如果觉得可行,可以合并到master分支上.

方式

1.查看分支

  git branch     (查看本地分支及当前所属分支)

  git branch -a   (查看所有分支包括本地分支和远程分支).

  git branch -r    (查看远程分支).

2.创建分支

  git branch branchname       (创建分支为branchname)

  git checkout -b branchname    (新建一个分支并且切换至新创建的分支)

注:等价于命令git branch branchname + git checkout branchname.

3.切换分支&推送分支

  git checkout branchname     (是切换分支名)

  git push origin branchname  (将新的分支推送至GitHub)

  git push --set-upstream origin branchname  (将新的分支推送至GitHub)

4.分支重命名

  git branch -m oldName newName  (将分支的名称由"oldName"修改为"newName"。)

3.2将远程git仓库里的指定分支拉取到本地(本地不存在的分支)

  当我想从远程仓库里拉取一条本地不存在的分支时:git checkout -b 本地分支名 origin/远程分支名

  远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地

  git checkout -b dev2 origin/dev2

  若成功,将会在本地创建新分支dev2,并自动切到dev2上。

  如失败提示:fatal: Cannot update paths and switch to branch 'dev2' at the same time.

  我们可以先执行:git fetch

4.删除本地分支& 删除GitHub上面的远程分支

  git branch -d branchname        (删除本地分支,需先切换至主分支)

  git push origin :branchname        (删除远程分支方法1 )   //注意需要的空格

  git push origin --delete branchname    (删除远程分支方法2)

5.合并分支

  git merge second     (将second分支的修改合并到主分支master,合并之前先切换回主分支)

6.推送代码

  git push -u origin master          (推送代码至主分支,u参数是下次默认的分支)

  git push --set-upstream origin second     (设置下次推送至second)

  git push origin second         (指定推送代码至second分支)

注:用了参数-u之后,以后就可以直接用不带参数的git pull从之前push到的分支来pull。

7.下载远程指定分支代码至本地

git clone -b TitleAndMenu git@github.com:root-lucas/Reader.git

8.下载远程项目至本地并更换文件夹名

  git clone  git@github.com:root-lucas/Reader.git  e:/newDirName/  (下载到本地并更名为newDirName)

git分支的创建、删除、切换、合并的更多相关文章

  1. git 分支的创建和切换

    每次提交,GIT 都会将他们串成一个时间线,截止到目前,只有一个时间线,GIT里叫这个分支为主分支,叫master,HEAD指向master,master指向提交,HEAD指向当前的分支. 一开始的时 ...

  2. git 分支的创建、合并、删除

          基本概念与命令 分支(branch):每次提交,Git都把提交的内容串成一条时间线,这条时间线就是一个分支 .   git 分支的创建 git branch branchName git ...

  3. eclipse git 文件状态 及git分支的创建与合并与删除

    eclipse里面Git文件状态及图标展示   EGit会出现如下图标,其对应状态及意义如下:      1)忽略[ ignored ]:仓库认为该文件不存在(如bin目录,不需要关注).通过右键Te ...

  4. git 查看、创建、切换、删除、重命名和推送分支

    1.查看本地所有分支:前面有 “*” 的是当前所处的分支 $ git branch test-A * test-B 2.查看本地和远程服务器的所有分支: $ git branch -a test-A ...

  5. 4.Git分支查看&创建&切换&合并

    查看分支 git branch -v # 查看分支,*代表当前所在的分支     创建分支 git branch hot-fix # 创建一个hot-fix分支,然后使用-v查看 # 可以看到除了ma ...

  6. git分支的创建与合并

    在git中提倡使用分支,这就涉及到了分支的创建和合并.在git中我们的每次提交类似于一个链表,按照时间顺序向下排列,大约画了一个图,每个小圆圈代表一次提交,在git中有有一个主分支master,我们新 ...

  7. Git 分支管理 创建与合并分支

    分支在实际中有什么用呢? 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完再一次提交, ...

  8. git 分支的创建与合并

    首先我们需要先创建一个新的dev分支,然后切换到dev分支: $ git checkout -b dev //命令语句 Switched to a new branch 'dev' //成功执行输出语 ...

  9. git 工作实用创建删除分支

    一.创建分支 .创建本地分支并切换 git checkout -b dev_wt2 .创建切换并关联远程分支 git checkout -b dev_wt3 orgin/dev_wt3 .创建远程分支 ...

随机推荐

  1. 【Offer】[37] 【序列化二叉树】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树. 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得 ...

  2. springmvc两种非注解的处理器映射器

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. 一些数组排序算法的简单实现(冒泡、插入、希尔、归并和qsort)

    #include <stdlib.h> #include <string.h> #include "sort.h" //冒泡排序 int bubbleSor ...

  4. java使用FileSystem上传文件到hadoop文件系统

    import java.io.FileNotFoundException; import java.io.IOException; import java.net.URI; import org.ap ...

  5. springboot Transactional事务的使用

    直接上代码: import javax.transaction.Transactional; @Transactional(rollbackOn = { Exception.class }) publ ...

  6. StringBuilder和StringBuffer的区别

    Java中StringBuilder和StringBuffer的区别分析 StringBUilder是线程不安全的(线程同步访问的时候会出问题),但是效率相对较高. (String类型使用加号进行拼接 ...

  7. 垃圾佬的旅游III(Hash + 暴力)

    题目链接:http://120.78.128.11/Problem.jsp?pid=3445 最开始的思路就是直接暴力求解,先把所有的数值两两存入结构体,再从小到大枚举.用二分的思路去判断数值以及出现 ...

  8. 一起看期待已久的.NET Core 3.0新的单文件部署特性,记在昨日VS2019更新后

    VS2019又又又迎来一次新的更新,这次的重点在.NET Core, 妥妥的更新好,默默地反选2.2,一切都在意料之中. 这次我们来看VS2019的新特性单文件部署: https://www.talk ...

  9. 【linux】【tomcat】tomcat8.5安装

    系统环境:Centos7 1.下载tomcat8.5 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.45/b ...

  10. python2.7过渡到python3.6时遇到的差异总结

    1.Python3中print为一个函数,必须用括号括起来而Python2中print为class print('hello') 2.python3将raw_input和input进行了整合,只有in ...