Git 分支合并冲突及合并分类

  1. 分支合并冲突

    ##创建分支datagrand
    git checkout -b datagrand
    Switched to a new branch ‘datagrand‘
    git branch -a
    master
    \* datagrand
    ##在datagrand分支上创建文件
    echo "this is git file!" > read.txt
    git add read.txt
    git commit -m "add a new file"
    git push -u origin datagrand
    ##切换到master分支,建立read.txt文件
    echo "my name is wtf" > read.txt
    git add read.txt
    git commit -m "add a new file"
    git push
    ##合并分支
    ##在master分支上操作
    git merge datagrand
    ##说明:这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突,报错如下:
    Auto-merging read.txt
    CONFLICT (add/add): Merge conflict in read.txt
    Automatic merge failed; fix conflicts and then commit the result.
    ##说明:Git告诉我们read.txt文件存在冲突,必须手动解决冲突后再提交。
  2. 解决合并冲突
    ##查看下当前分支状态
    git status
    On branch master
    Your branch is up-to-date with ‘origin/master‘.
    You have unmerged paths.
    (fix conflicts and run "git commit")
    (use "git merge --abort" to abort the merge)
    Unmerged paths:
    (use "git add <file>..." to mark resolution)
    both added:      read.txt
    no changes added to commit (use "git add" and/or "git commit -a")
    ##查看一下readme.txt中的内容
    cat read.txt
    <<<<<<< HEAD
    my name is wtf!
    =======
    this is git file!
    \>>>>>>> datagrand
    ##说明:Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,让我们选择要保留的内容,下面我们修改一下readme.txt,再次提交。
    ##操作步骤如下:
    vim read.txt
    git add read.txt
    git commit -m "fixed"
    [master 935e613] fixed
    git status
    On branch master
    Your branch is ahead of ‘origin/master‘ by 2 commits.
    (use "git push" to publish your local commits)
    nothing to commit, working tree clean
    cat read.txt
    this is git file!
    ##分支合并
    git merge datagrand
    ##查看合并后状态
    git status
    On branch master
    Your branch is ahead of ‘origin/master‘ by 2 commits.
    (use "git push" to publish your local commits)
    nothing to commit, working tree clean
  3. 删除分支
    git branch -d datagrand
    Deleted branch datagrand (was 3299654).
    ##查看一下分支合并信息
    git log --graph --pretty=oneline --abbrev-commit
    \*   935e613 (HEAD -> master) fixed
    || * 3299654 (origin/datagrand) add a new file
    \* | d4f781c (origin/master) add a file read
    \* | ddb3e06 Delete read.txt
    \* | 13bfb1c add a file read
    |/
  4. 合并分支(普通合并)
    分支合并分为快速合并与普通合并两种模式,普通合并,合并后的历史有分支记录,能看出来曾经做过合并,而快速合并就看不出来曾经做过合并。下面我们来演示一下普通合并:
    (未完待续)
    。。。。。。。。。。。。。。。。。。。。。

原文地址:http://blog.51cto.com/wutengfei/2091410

时间: 2024-08-10 01:57:52

Git 分支合并冲突及合并分类的相关文章

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

      基本概念与命令 分支(branch):每次提交,Git都把提交的内容串成一条时间线,这条时间线就是一个分支 .   git 分支的创建 git checkout -b gt 分支的合并 git merge git分支的删除  git branch -d git分支的查看  git branch      具体步骤 创建新的分支dev (以前的主分支是master) 查看git分支 在dev分支下添加并提交readme.txt 从dev分支切换到master分支 合并dev分支到mas

?git?-----协同开发,冲突解决 合并分支(项目中使用git)

使用基本流程 """ 1.开发前,拉一次远程仓库 2.工作区进行开发 3.将开发结果提交到本地版本库 - git status查看时没有待处理的事件 4.拉取远程仓库(每一次要提交远程仓库前必须先拉) 5.如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3.4步 6.没有冲突,提交到远程仓库 """ 协同开发 """ 1)所有人在一个分支上进行开发 - 通常开发分支名为dev 2)遵循git开发流程:先提交本

Git分支管理——创建、合并、删除分支

前言: 几乎所有的版本控制都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. Git的分支模型成称为它的"必杀技特性",也正因为这一特性,使得Git从众多版本控制系统中脱颖而出.Git处理分支的方式是难以置信的轻量,创建新的分支这一操作是秒级完成的,并且在不同分支之间的切换操作也是一样便捷. Git的分支,其实本质上仅仅是指向提交对象的可变指针.Git的默认分支是master.在多次提交操作之后,其实我们已经有一个指向最后那个提交对象的mast

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

分支在实际中有什么用呢? 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了. 你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作, 而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 创建与合并分支 在版本回退里,你已经知道,每次提交

Git分支(5/5) -- 解决合并的冲突

如果两个分支上都对同一个文件进行了修改, 那么就有可能发生冲突. 首先创建一个分支, 并切换到该分支上: 然后修改index.html, 修改几个地方吧. 然后查看状态, 并commit: 然后切换到master, 并编辑同一个文件: 而这时index.html并不是realwork分支修改后的样子, 而是修改之前的样子: 然后修改index.html, 修改几处可能引起冲突的地方. commit: 然后查看log: 接下来最应该做的就是diff: 也可以使用可视化工具进行diff: 下面进行合

Git分支的创建与合并

以dev分支为例子,分支的操作: 1.创建分支 $ git branch dev 创建并切换分支: git checkout -b dev 2.查看分支,当前分支前面会标一个*号 $ git branch 3.切换分支 $ git checkout master 4.分支合并 git merge dev 5.删除分支 $ git branch -d dev

如何解决GitHub冲突&lt;二&gt;:使用命令行解决合并冲突

如何解决GitHub冲突<二>:使用命令行解决合并冲突 原文地址:https://help.github.com/desktop/guides/contributing/syncing-your-branch/ 你可以使用命令行和文本编辑器来解决"合并冲突". 合并冲突往往会发生在以下情况: (1)多个代码更改发生在同一行代码上 (2)一个提交删除了某一个文件而另一个提交尝试去编辑该文件 1.解决同行代码竞争引起的合并冲突 为了解决一个由更改同行代码引起的合并冲突,你必须决

GIt分支管理策略

大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对

GIT 分支管理:创建与合并分支、解决合并冲突

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你