git学习之branch分支】的更多相关文章

作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. 新建分支指令:git checkout -b sub_test               本地建立了一个sub_test分支 ,并切换到了sub_test的分支. 切换分支指令:git checkout master                   切换到master工作区 删除分支: git…
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就是当前分支.每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长. 当我们创建新的分支dev时,git新建了一个指针叫dev,指向master相同的提交,同时把HEAD指向dev,就表示当前分支在dev上,不过,从现在开始,对工作区的修改和提交就是针对de…
软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船. 于是准备开发: $ git checkout -b feature-vulcan Switched to a new branch 'feature-vulcan' 5…
软件开发中,bug就像家常便饭一样.有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除. 当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交: $ git status On branch dev Changes to be committed: (use "git reset HEAD <file&…
当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交: 并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间.但是,必须在两个小时内修复该bug,怎么办? 幸好,Git还提供了一个stash功能,可以把当前工作现场"储藏"起来,等以后恢复现场后继续工作: $ git stash 现在,用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以…
为什么要引入分支? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 查看分支:git branch 创建分…
2种方法删除远端分支: git branch -r -d origin/branch-name    // -r:  远端:    -d:删除 git push origin :branch-name              // 把一个空的分支push到远端(注意冒号前面有空格) 删除本地分支 git branch -d <BranchName> git branch -D <BranchName>      // 强制删除,即使没merge完全…
Study Document for Git Git 基础 Git 文件的三种状态: 已提交(committed).已修改(modified)和已暂存(staged). Git 工作目录的状态: 已跟踪和未跟踪. 已提交表示数据已经安全的保存在本地数据库中. 已修改表示修改了文件,但还没保存到数据库中. 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中. 基本的 Git 工作流程如下: 在工作目录中修改文件. 暂存文件,将文件的快照放入暂存区域. 提交更新,找到暂存区域的…
以前总结的一些git操作,分享在这里. Git 保存的不是文件差异或者变化量,而只是一系列文件快照.   - 列出当前所有分支 git branch <--merge> | <--no-merged> - 创建分支 git branch <branch_name> {[SHA-1]/Tag} - 切换分支 git checkout <branch_name> - 新建并切换到该分支 git checkout -b <new branch-name>…
1.刚创建好的空仓库的分支是空的,即使是master分支也是不存在的.master分支是不能通过git branch 来创建的,只有在完成第一次提交才会自动创建,有git自动完成master分子的创建,也就是只有第一次提交创建好master分支后,才能再创建别的分支.因为git本质上就是基于图论原理的,图的第一个起点是系统在第一次提交的时候自动创建的,别的创建的所有的都是其他的分支都是第一个master分支后的"分支".master作为主分支,在所有的git项目都是固定.所有的git项…
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习Git之前,想实现我的一个小想法,但是又害怕影响已完成的工作,只有ctrl+c.ctrl+v,但是在Git中,甚是方便了许多. 这篇博客主要讲以下几部分: ◆ 创建分支 ◆ 合并分支 ◆ 删除分支 ▓▓▓▓▓▓ 创建分支 在之前的学习中,都只有一个分支即 master分支 这是Git中主分支的默认名…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 六.分支管理 创建与合并分支 解决冲突 分支管理策略 Bug分支 Feature分支 多人协作 Rebase 6.0.0 分支是个啥? 分支就是<平!行!宇!宙!!!>,这两个平行宇宙互不干扰. 在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! (这个逗逼的例子哈哈哈哈…
Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间. 有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来.Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支间切换起来也差不多一样快.和许多其他版本控制系统…
Git 学习(六)分支管理 几乎每一种版本控制系统都支持分支.使用分支意味着你可以从开发主线上分离开来,然后不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间. 作为优越的版本控制系统,Git 对分支的管理是极其轻便易用的.本文具体说明Git是如何进行分支管理的,如分支的创建.查看.切换.删除等,以及分支的合并及冲突解决.分支对于多人协作是及其重要,内容较多,慢慢来~ 有人把 Git 的分支模型称为“必杀技特性”,…
在一开始学习 git 的时候我们经常提到一个东西---- master.那么 master 到底是什么呢?其实它就是一个分支,一般这个分支就是主分支.而在一般 git 中都有一个指向当前你工作的分支 HEAD. 对于一开始的时候,master 分支是一条线的.对于我们每次提交的时候,git 分支都会向前移动一次,因此随着我们的提交越来越多,master 分支也越来越长.当我们创建一个新的分支(hotFix)的时候,git 会为我们创建一个新的指针(hotFix),而我们可以把当前工作的地方指向当…
git学习(5)分支管理(续) 1.解决冲突 冲突的产生 如我们在新建分支和原来master分支上对同一文件做了修改并提交,在合并分支的时候就会遇到冲突 比如我新建了分支myBranch,在这个分支上修改readme.txt,然后commit,然后在master的分支上也修改readme.txt,然后也commit,这个时候进行merge,这个时候git会提醒存在冲突,需要我们在把冲突解决后再提交. 步骤如下: 新分支和主分支各自修改readme.txt--->主分支合并新分支产生冲突---->…
git学习(4)远程库和分支管理 1.1建立本地git库和远程库联系 我使用的是GitHub上的库,首先在GitHub上新建一个库,在建立与远程库的联系之前需要建立ssh key.建立ssh key可以参考廖老师的博客 $ git remote add origin git@github.com:keithmorning/studygit.git 上面的格式是$ git remote add 远程库名称 git地址:gitHub账户名/远程git名称 下一步将本地库推送到远程库 $ git pu…
git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今天开发的过程中遇到一个问题,A组接到开发任务要修改file文件,B组在此之前的15天为了完成自己的开发任务对file文件进行了修改,为了同步代码,B组将自己未完成的模块file文件提交到了cvs上.A对此一无所知,A组在完成开发任务后,把file文件完全上到了现网环境,报错了. 当然,避免上述问题的途径很多,…
GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓库是上面各分支的位置. 我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支.我们来举一个例子,假如你从GITHUB上克隆了一个项目到本地,GIT会自动为你将次远程仓库命名为origin,并且下载其中的所有数据,建立一个指向它的master分支的指针,在本地命名为origin/master,但…
GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,它大概是这样子的. 三个表示文件快照内容的 blob 对象:一个记录着目录树内容及其中各个文件对应 blob 对象索引的 tree 对象:以及一个包含指向 tree 对象(根目录)的索引和其他提交信息元数据的 commit 对象. 多个提交对象之间是链接关系,每个提交对象会指向上一个提交…
Git别名设置:https://www.cnblogs.com/hero123/p/9105381.html Git远程项目公钥配置:https://www.cnblogs.com/hero123/p/9105822.html 基础命令: git init 初始化本地仓库 git status 查看git状态 git log 查看commit记录    注意:q 键退出 git log config --list  查看配置 git config --global  user.name  "xx…
本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 5.1创建与合并分支 首先创建dev分支,然后切换dev分支 $git checkout -b dev(包含创建并切换) 等价于<-> $git branch dev $git checkout dev 然后,用git branch查看当前分支 git branch 会列出所有的分支,当前分支用*标记 现在可以在dev分支上正常提交 最后,把dev分支上的工作成果合并到master分支上 注意先切换回master分支,在进行合并 $gi…
1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对远程的Git仓库有一定的了解,嘿嘿.在这一篇博客中我们来在大家讲解一下Git 分支管理,这可以说是Git的又一大特点.下面我们就来学习一下Git分支管理吧.  我们先来说一个简单的案例吧,你们团队中有多个人再开发一下项目,一同事再开发一个新的功能,需要一周时间完成,他写了其中的30%还没有写完,如果他提 交了这个版本,那么团队中的其它人就不能继续开发了.但是等到他全部写完再全部提交,大家又看不到他的开发进度,也不能继续干活,这如何…
笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最后重新上传同步分支数据的过程. 注:对于本地不存在 git 仓库的情况,要么直接通过 git clone 命令获取对应的远端整个仓库,此时获得远端仓库的所有数据,要么可以选择一个目录,通过 git init 命令将该目录初始化为一个空的 git 仓库,之后再根据下文描述的步骤获取仓库数据(可以单独获…
学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对git学习的笔记,是按着参考地址的讲解学习的记录.  一.分支的创建与合并 git branch :查看分支 git branch <name> :创建分支 git checkout <name> :切换分支 git checkout -b <name> :创建+切换分支…
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你…
一.创建与合并分支 1.创建分支 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点.每次提交 ,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长. 当我们创建的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上: Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD指向,工作区…
本文主要记录了分支的原理.分支的创建,删除,合并.以及分支的使用策略. 分支在实际中的作用 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险.现在有了分支,就不用怕了.你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人…
一开始git只有一条时间线,这个分支叫主分支,即master分支. HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支. 每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长: 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上: Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,…
一.创建.合并分支 每次提交,git都往后走一格,串成一跳时间线,head指向的是分支,分支指向提交.master是主分支,dev是另一条分支,分支就像指针一样,合并.删除分支时,修改的都是指针,工作区根本没变,所以速度非常快,用起来安全方便. Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到…