首页 > 其他分享 >Git09-合并

Git09-合并

时间:2023-03-23 16:14:58浏览次数:32  
标签:file1 Git Git09 alternate 合并 git 分支

  • Git是一个分布式版本控制系统(Distributed Version Control System,DVCS)。例如,它允许日本的一个开发人员和新泽西州的一个开发人员独立地制作与记录修改,而且它允许两个开发人员在任何时候合并变更,不需要一个中心版本库。
  • 一次合并可以结合两个或多个分支。但是大多数情况下,一次合并只结合两个分支。
  • 在Git中,合并必须发生在一个版本库中——也就是说,所有要进行合并的分支必须在同一个版本库中。版本库中的分支是怎么来的并不重要(Git提供了引用其他版本库和下载远程分支到当前工作目录的机制)。
  • 当一个分支中的修改与另一个分支中的修改不发生冲突的时候,Git会计算合并结果并创建一个新提交来代表新的统一状态。但是当发生冲突时,Git并不解决冲突(冲突通常是对同一个文件的同一行进行修改了)。相反,Git把这种争议性的修改在索引中标记为“未合并”(unmerged),留给开发人员来处理。当Git无法自动合并时,你需要在所有冲突都解决后做一次最终提交。

1、合并示例

1.1、为合并做准备

  • 在开始合并之前,最好整理一下工作目录。
  • 在正常合并结束的时候,Git会创建新版本的文件并把它们放到工作目录中。此外,Git在操作的时候还用索引来存储文件的中间版本。
  • 如果已经修改了工作目录中的文件,或者已经通过git add或git rm修改了索引,那么版本库里就已经有了一个脏的工作目录或者索引。如果在脏的状态下开始合并,Git可能无法一次合并所有分支及工作目录或索引的的修改。
    • 提示,不必从干净的目录启动合并。例如,当受合并操作影响的文件和工作目录的脏文件无关的时候,Git才进行合并。但是,如果每次合并都从干净的工作目录和索引开始,那么关于Git的操作将会容易得多。

示例1-1:

1、创建一个新版本库

//(1)添加用户配置
]# git config --global user.email "[email protected]"
]# git config --global user.name "heng ha"
 
//(2)初始化一个新的版本库
]# mkdir merge-example
]# cd merge-example/
]# git init

2、在master分支中创建一个提交

//创建文件file1
]# cat > file1 << EOF
Line 1 stuff
Line 1 stuff
Line 1 stuff
EOF

]# git add file1
]# git commit -m "Initial 3 line file1"

3、创建一个新分支

]# git branch alternate

1.2、合并两个分支

  • 现在有两个分支了,每个分支都有不同的开发工作。

示例1-2:

1、在master分支中创建一个新文件file2

//创建文件file2
]# echo "Here is stuff on file2" > file2

]# git add file2
]# git commit -m "Initial 1 line file2"

2、在alternate分支中修改file1

//(1)查看分支的历史提交
]# git show-branch
! [alternate] Initial 3 line file1
 * [master] Initial 1 line file2
--
 * [master] Initial 1 line file2
+* [alternate] Initial 3 line file1

//(2)检出到alternate分支
]# git checkout alternate

//(3)修改文件file1
]# echo "Line 4 alternate stuff" >> file1
]# git add file1
]# git commit -m "Add alternate’s line 4 in file1"

3、合并两个分支

  • 在master分支中添加了文件file2,在alternate分支修改了文件file1。因为这两个修改并不影响相同文件的相同部分,所以合并应该会顺利进行,不会发生事故。

1

#                                                                                                                         #

标签:file1,Git,Git09,alternate,合并,git,分支
From: https://www.cnblogs.com/maiblogs/p/17247825.html

相关文章

  • [转]excel把合并单元格中的数据分拆到每一行
    原文地址:https://cloud.tencent.com/developer/article/1444393我们经常看到如下图所示的Excel表格:这种表格,每一列的包含关系,人眼看起来一目了然。但是A列B列这种......
  • sqlserver合并表格数据
    1.页面数据  2.表格数据 a数据selectContractID,LOACode,a.LiquidatedDamages,a.CalculationBase,a.CalculationProportion,a.ForCycle,a.CappingRatio,a.C......
  • #yyds干货盘点# LeetCode面试题:合并区间
    1.简述:以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入......
  • 性能测试中如何使用RunnerGo还原混合并发场景
    我们在进行软件开发时经常需要进行性能测试、压力测试和负载测试。其中有一类测试场景叫做混合并发测试,需要模拟多个接口下不同数量的用户使用场景,检查同时处理多个并发任务......
  • 合并链表-leetcode23-合并k个升序链表
    给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6......
  • 合并多个txt文件为单个txt
    需求将windows下某个文件夹下多个txt,合成一个txt1.进入到​​​含有多个txt文件的目录下的黑窗口​​2.打开windows的cmd,输入:type*.txt>>D:/merge.txt#例如:typ......
  • [数据结构]有序表的合并
    /**@Author:*@Date:2019-12-0320:18:46*@LastModifiedby:*@LastModifiedtime:2019-12-0320:44:28*/#include<iostream>#include<cstdio>u......
  • PDF 文件无法打印、转换、合并、修改,提示“PDF文件已被保护” 密码移除
    带密码保护的PDF文件无法打印、转换、合并、修改时,常用办法有以下几种一、在线转换成其他格式一般除了纯文字性的比较清晰的文档,其他带排版的文档经过转换,格式会变,或出现......
  • Excel合并单元格排序
    Excel中合并单元格特别令人头疼!!!我们可以利用函数进行排序,希望这篇文章可以帮到你!一、MAX()函数方法选中需要排序的单元格,然后在编辑栏输入=MAX($A$1:A1)+1按Ctrl+En......
  • CSDN三道简单题:合并检测、星期一、特别数的和
    合并检测原题链接:https://edu.csdn.net/skill/practice/algorithm-6437a69f581f4821a5cbd4267304a905/2315新冠疫情由新冠病毒引起,最近在A国蔓延,为了尽快控制疫情,A国准......