[Git]05 如何使用分支】的更多相关文章

 作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间. 有人把Git 的分支模型称为"必杀技特性",而正是因为它,将 Git 从版本控制系统家族里区分出来.Git 有何特别之处呢?Git…
1.冲突 产生冲突后,查看readme.txt   可以看到冲突内容 <<<<<<< ======= >>>>>>>   然后要同其他人商讨保留哪个. 当Git无法自动合并分支时,就必须首先解决冲突.解决冲突后,再提交,合并完成. 用git log --graph命令可以看到分支合并图. 2.  分支策略 在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,…
VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master 发布到远程存储库 origin,因为此处已存在具有同一名称的分支.您可能需要重命名您的本地分支,然后重试”,如下图所示 其实官网创建时已经给出了解决办法: 1.创建项目的时候不需要选择自动创建ReadMe文件,如果已经创建可以选择清空项目 创建项目后(不含ReadMe文件)Code版块会自动跳转到…
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就是当前分支.每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长. 当我们创建新的分支dev时,git新建了一个指针叫dev,指向master相同的提交,同时把HEAD指向dev,就表示当前分支在dev上,不过,从现在开始,对工作区的修改和提交就是针对de…
原文已经找不到出处,重新整理格式,仅作个人收藏! 标签(Tag)可以针对某一时间点的版本做标记,常用于版本发布. 列出tag $ git tag # 在控制台打印出当前仓库的所有tag $ git tag -l 'v0.1.*' # 搜索符合模式的Tag 打tag git tag分为两种类型:轻量tag和附注tag.轻量tag是指向提交对象的引用,附注Tag则是仓库中的一个独立对象.建议使用附注Tag. 创建轻量Tag $ git tag v0.1.2-light 创建附注Tag $ git t…
git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签$ git tag -l 'v0.1.*' # 搜索符合模式的标签 打标签 git标签分为两种类型:轻量标签和附注标签.轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象.建议使用附注标签.# 创建轻量标签$ git tag v0.1.2-light # 创建附注标签$ git tag -…
1.创建与合并分支 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长: 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上: 你看,Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文…
git clone http://abcde.com/myproject/abc.git 克隆远程项目到本地githome文件夹git branch -a 查看所有分支 包括远程和本地 *号开头表示当前分支git branch 查看本地分支git checkout branch1 切换到branch1分支git checkout -b branch2 origin/branch2 下载远程branch2分支到本地branch2分支 如果本地不存在branch2 则创建git branch -d…
git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout -b 本地分支名x origin/远程分支名x 使用该方式会在本地新建分支x,并自动切换到该本地分支x. 方式二 使用如下命令: git fetch origin 远程分支名x:本地分支名x 使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout. Git中从远程的分…
最近公司改用git了,研究了一下如何把远程的代码克隆到本地. 1. 配置对应信息 git config --global user.name git config --global user.email 如: git config --global user.name "zbx" git config --global user.email "zbx@XX.cn" 2. 进入自己放项目的目录 3. 克隆远程项目,命令 git clone 如:git clone ht…
git推送本地分支到远端 当前处于master分支,尝试用了git push origin warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the current behavior after the default changes, use: git config…
git push origin bug_huiyuan:mobile_attribution 把bug_huiyuan(本地分支) 推送到 远程mobile_attribution分支 git push origin master:master 把当地分支master 推送到远程master 可简写成 git push origin Git中从远程的分支获取最新的版本到本地有这样2个命令: git fetch:相当于是从远程获取最新版本到本地,不会自动merge 一旦远程主机的版本库有了更新(G…
一.Git 基础图解 转自:http://www.cnblogs.com/yaozhongxiao/p/3811130.html Git 图解剖析 git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的blob文件以及别的数据.对于提交来说,以树(tree)的形式存储,同样用对于的哈希值识别.树对应着工作目录中的文件夹,树中包含的 树或者blob对象对应着…
创建与合并分支 在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分 支,即master分支.HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支. 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向前移动一步,这样,…
1. 删除远程分支 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放稳定代码的地方),可以用这个非常无厘头的语法来删除它:git push [远程名] :[分支名]. 如果想在服务器上删除 serverfix 分支,运行下面的命令(推送一个空分支到远程分支,其实就相当于删除远程分支:): $ git push origin :serverfix To git@github.com:schacon/simplegit.git  - [delet…
简单介绍 之前说过,每次修改之后,Git 并不是保存这些修改之后的差异变化,实际上就像一个照相机一样,将修改后的文件拍下作为文件快照,记录在一个微型的文件系统中.在 Git 中提交时,会保存一个提交对象,这个对象包含一个暂存内容快照的指针.而 Git 中的分支其本质上是一个指向 commit 对象的可变的指针,使用 master 作为分支的默认名字,通常指向的是最新的一次提交. 每次的提交,Git 把他们穿起来连成一条线,而主分支master就在这条线上随着提交测更新移动,而 HEAD 指向ma…
git log  查看 当前分支的 提交历史 在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.看到了吗,每次更新都有一个 SHA-1 校验和.作者的名字 和 电子邮件地址.提交时间,最后缩进一个段落显示提交说明. git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的. 我们常用 -p 选项 展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新: $…
前两篇博客集中的聊了git的一些常用命令,具体请参见<Git知识总览(一) 从 git clone 和 git status 谈起>.<Git知识总览(二) git常用命令概览>.本篇博客主要涉及了在git版本管理中的分支的创建.切换以及合并.并且罗列了在merge分支使发生冲突时的解决方式.同时还介绍了如何删除本地分支以及远程分支.本篇博客除了参考ProGit中的内容,还参考了learngitbranching这个网站进行的git分支内容的学习和梳理.下方的示例有的给出了基于Le…
1.需求 因为目前要对项目做一些改动,而项目又即将上线,这些新的改动又不需要一起上线,所以这个时候需要在原有的master分支上重新拉出一个分支进行开发. 2.分支操作 打开git bash工具→切换到本地项目所在目录(cd d:  / cd cxlwork  /  cd ..) 查看目前git状态: $ git status 查看所有分支 $ git branch -a 分支前带*号代表你目前所在的分支 查看本地分支 $ git branch 分支前带*号代表你目前所在的分支 查看远程分支 $…
5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践.最后我为团队选择了这个git分支管理实践 A successful Git branching model ,网上有不少参考这篇文章写的中文版gitflow实践,推荐一个中文版的Git 最佳实践:分支管理. 除了团队git管理的需要,我自己在github上有重要的开源项目采用github flow,这里转载一篇关于这两种分支管理的文章:GitHub Flow & Git Flow 基于Git…
分支就是一条独立的时间线,既有分支,必有主干,正如一棵树谈到树枝,必有树干一样的道理.我们先前对git 的全部操作默认都是在主干上进行的,这个主干也是一种特殊的分支,名为 master 分支. 无论是穿越历史还是撤销更改,我们都或多或少接触过时间线,git 管理的版本串在一起就组成了这个时间线,其中master 分支是当前分支,HEAD 指向master ,因此HEAD 相当于指向了最新的版本. 基于分支上的操作,每一次 commit 都会提交一个新版本,并且新的 commit 指向原来的 co…
背景:为了更加规范维护自动化测试工程,代码提交流程最近更新了,先拉分支到本地修改,完成后同步到远程分支. 前置条件 (1)本地机器可通过ssh与gitlab服务器通信 (2)gitlab上的测试项目中有两个分支master.auto_test 步骤一.创建本地分支 执行命令:git checkout -b local_auto_test auto_test    //基于远程的auto_test分支创建本地分支 或者使用IntelliJ IDEA创建本地分支: 步骤二.提交本地分支 on bra…
git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢? 1. 查看远程分支 $ git branch -a 我在mxnet根目录下运行以上命令: ~/mxnet$ git branch -a* master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/nnvm remotes/origin/piiswrong-patch-1 remotes/ori…
背景 什么是分支?简单地说,分支就是两个相对独立的时间线,正常情况下,独立的时间线永远不会有交集,彼此不知道对方的存在,只有特定情况下,两条时间线才会相遇,因为相遇,所以相知,因为相知,所以改变! 正如分支对于科幻电影来说是一个很好的卖点,关于分支的话题完全可以开启新的题材,对于这点相信不少科幻迷都深有体会,不必赘述. 回归正题,分支对于版本控制系统又意味着什么呢?实际工作中,我们大多作为一个团队一起合作开发项目,如果是独立开发者,只有一个人的话,其实用不到分支的概念,甚至远程仓库也用不到.所以…
Git的原理涉及快照流.链表.指针等,这里不作过多叙述. 1.基本操作 git init 创建一个 Git 仓库 git clone [url] 拷贝一个 Git 仓库到本地 git add [file_name] git add 命令可将该文件添加到缓存 git commit -m "备注信息" 使用 git add 命令将想要快照的内容写入缓存区, 而执行 git commit 将缓存区内容添加到仓库中.使用 -am 可以跳过 add 命令 git reset HEAD git r…
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支. 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向前移动一步,这样,随着你不断提交,m…
一.概述 学会使用git命令对项目进行创建分支,并在创建结束后合并到主分支上. 问:为什么要创建分支? 答:在原来的分支上创建一个自己的分支进行开发,在开发完毕后一次性合并到原先的分支,这样既保证安全又不会影响其他人的开发. 二.步骤 命令操作 //查看分支: git branch //创建分支: git branch <name> //切换分支: git checkout <name> //创建+切换分支: git checkout -b <name> //合并某分支…
git拉取远程分支到本地 一.查看远程分支 -- 查看远程分支 git branch -r 二.拉取远程分支并创建本地分支 -- 采用此种方法建立的本地分支会和远程分支建立映射关系. git checkout -b 本地分支名oak origin/远程分支名oak -- 采用此种方法建立的本地分支不会和远程分支建立映射关系. git fetch origin 远程分支名oak:本地分支名oak 啦啦啦…
git:当本地分支中的代码和develop分支上有很多冲突,希望删掉本地分支,重新建立新的分支,但是git中说你需要先解决当前的冲突,这种情况怎么解决 这种情况可以在代码编辑器中点击commit,然后选择revert,把本地有的冲突revert掉,然后再把这些有修改的文件删掉,最后重新建一个分支,再从develop上拉最新的代码,这个是最快的解决方法.…
git clone #从远程克隆 进行一些编辑后 git add . git commit -m "xxx" git push #将master推送到master git checkout -b test #新建test分支 编辑 git add . git commit -m "xxxx" git push origin test:haha #将本地test分支推送到远程haha分支 git branch -a 显示如下 master* test  remotes…