一、Git分支管理

1、查看Git分支

git branch



按Q键返回。

2、创建分支以及删除分支

git branch newtest

git branch -d newtest

3、切换分支

git checkout newtest

4、合并分支

① 主干上创建文件

zhangc@test:~/Desktop/GitTest/gitDemo|master
⇒ touch text.txt
zhangc@test:~/Desktop/GitTest/gitDemo|master
⇒ git add .
zhangc@test:~/Desktop/GitTest/gitDemo|master
⇒ git commit -m "add"
[master 57ccd61] add
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 text.txt
zhangc@test:~/Desktop/GitTest/gitDemo|master
⇒ ll
total 0
-rw-r--r-- 1 zhangc staff 0B Mar 9 17:14 README
-rw-r--r-- 1 zhangc staff 0B Mar 10 11:08 text.txt

② 分支上创建文件,并删除分支上的test.txt文件

zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ ll
total 0
-rw-r--r-- 1 zhangc staff 0B Mar 9 17:14 README
-rw-r--r-- 1 zhangc staff 0B Mar 10 11:08 text.txt
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ touch zc.php
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ git rm -rf ./text.txt
rm 'text.txt'
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ git add ./
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ git commit -m "add\del"
[newtest dee7c36] add\del
1 file changed, 0 insertions(+), 0 deletions(-)
rename text.txt => zc.php (100%)
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ ll
total 0
-rw-r--r-- 1 zhangc staff 0B Mar 9 17:14 README
-rw-r--r-- 1 zhangc staff 0B Mar 10 11:10 zc.php

③ 切换到主干,并合并分支到主干

|newtest ⇒  git checkout master
Switched to branch 'master'
|master ⇒ ll
total 0
-rw-r--r-- 1 zhangc staff 0B Mar 9 17:14 README
-rw-r--r-- 1 zhangc staff 0B Mar 10 11:11 text.txt |master ⇒ git merge newtest
Updating 57ccd61..dee7c36
Fast-forward
text.txt => zc.php | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename text.txt => zc.php (100%) |master ⇒ ll
total 0
-rw-r--r-- 1 zhangc staff 0B Mar 9 17:14 README
-rw-r--r-- 1 zhangc staff 0B Mar 10 11:16 zc.php

再查看时,test.txt文件被删除,合并分支的文件生成

5、合并冲突

①修改主干上的文件内容

|master
⇒ echo "888" > zc.php
|master
⇒ git add .
zhangc@test:~/Desktop/GitTest/gitDemo|master
⇒ git commit -m "edit"
[master 0c5604f] edit
1 file changed, 1 insertion(+), 1 deletion(-)

②修改分支上的文件内容

|newtest
⇒ echo "777" > zc.php
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ git add .
zhangc@test:~/Desktop/GitTest/gitDemo|newtest
⇒ git commit -m "m"
[newtest 4834eb6] m
1 file changed, 1 insertion(+), 1 deletion(-)

③分支合并到主干

|master
⇒ git merge newtest
Auto-merging zc.php
CONFLICT (content): Merge conflict in zc.php
Automatic merge failed; fix conflicts and then commit the result. |master
⇒ cat zc.php
<<<<<<< HEAD
888
=======
777
>>>>>>> newtest

报错冲突

④接下来我们需要手动去修改它

vim zc.php 

|master
⇒ cat zc.php 888 777 ⇒ git add .
zhangc@test:~/Desktop/GitTest/gitDemo|master
⇒ git commit -m "add"
[master 9ad231f] add

现在我们成功解决了合并中的冲突,并提交了结果。

【Git】之分支合并命令的更多相关文章

  1. git -处理分支合并

    1.分支间的合并 1)直接合并:把两个分支上的历史轨迹合二为一(就是所以修改都全部合并) zhangshuli@zhangshuli-MS-:~/myGit$ vim merge.txt zhangs ...

  2. git 代码分支合并merge提交新修改远程以及本地分支

    第一步:创建本地分支 点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省 ...

  3. Git dev分支合并到master分支完美实战

    aa@aa-PC MINGW64 /f/online-center/cloud/server-functions_services (master)                          ...

  4. git操作的各种命令整理

    1.常用的Git命令   命令 简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 git ann ...

  5. Git设置分支保护实现CodeReview卡点

    # Git设置分支保护实现CodeReview卡点 > From:https://blog.csdn.net/crisschan/article/details/100922668 > G ...

  6. Git -- 分支与合并 (命令行+可视化工具p4merge)

    基本命令 把所有的变化都放在master分支并不是最好的做法. 建议的做法是把变化放在分支里面. 至少应该准备一个feature分支之类的, 把变化都隔离开来, 然后等到所有的功能都稳定之后再合并到m ...

  7. 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

    1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfold ...

  8. git常用命令速查:创建,修改提交,撤销,切换分支,合并分支,变基解决冲突

    创建 $ git init  #在当前目录下创建一个空的本地仓库 $ rm -rf  .git  #删除本地仓库 $ git add .  #把当前目录下的所有文件添加到暂存区 $ git commi ...

  9. 【Git版本控制】Git的merge合并分支命令

    1.实例 git checkout master git merge dev merge合并分支只对当前分支master产生影响,被合并的分支dev不受影响. 假设你有两个分支,“stable” 和 ...

  10. Git入门指南十一:Git branch 分支与合并分支

    十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...

随机推荐

  1. QEMU + Vscode + Arm Arch's Linux调试小记

    QEMU + Vscode + Arm Arch's Linux调试小记 ​ 前几天看到了一篇讲授如何调试ARM Linux内核的文章,这里现在记录一下调试ARM Linux内核的办法 下载QEMU ...

  2. Linux Mint操作系统安装

    1,Linux 发行版 什么是Linux 发行版呢?这要从Linux 来源说起.Unix操作系统后期,开始收费和商业闭源了.一个叫Richard  Stallman 的人就发起 GNU 计划,想模仿U ...

  3. rust项目中通过log4rs将日志写入文件

    java项目中使用最广泛的日志系统应该是log4j(2)了.如果你也是一个Java程序员,可能在写rust的时候会想怎么能顺手地平移日志编写习惯到rust中来. log4rs就是干这个的.从名字就能看 ...

  4. ScreenToGif:一款开源免费且好用的录屏转Gif软件

    ScreenToGif介绍 GitHub上的介绍:此工具允许您记录屏幕的选定区域.来自网络摄像头的实时提要或来自草图板的实时绘图.之后,您可以编辑动画并将其保存为 gif.apng.视频.psd 或 ...

  5. C#-WPF初学

    1.新建一个WPF的应用: 2.拖拽控件并布局好: [小技巧]选中控件,点击"回形针"即可让该控件跟随窗口自动调整大小: 3.编写代码: 主程序代码如下: namespace Wp ...

  6. EasyBPM进销存之物料管理

    本文是EasyBPM平台实现进销存系列中的一篇,主要讲述物料的相关的管理. 在ERP系统中,"物料"一词有着广泛的含义,它是所有产品.半成品.在制品.原材料.配套件.协作件.易耗品 ...

  7. django 计算两个TimeField的时差

    在 Django 中,你可以使用 datetime 模块来计算两个 TimeField 字段的时间差.以下是一个示例: from datetime import datetime, timedelta ...

  8. 靶机: Chronos

    靶机: Chronos 准备 靶机:https://www.vulnhub.com/entry/chronos-1,735/ 使用 VirtualBox 网络 Host-Only 配置网络环境:htt ...

  9. FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流

    <FFmpeg开发实战:从零基础到短视频上线>一书的"10.2.2  FFmpeg向网络推流"介绍了轻量级流媒体服务器MediaMTX,虽然MediaMTX使用很简单, ...

  10. 【MySQL】30 备份与恢复

    1.备份命令: mysqldump -u用户名 -p 密码 -h 服务主机IP -P 端口号 \ 数据库名称 \ > 指定备份的sql脚本文件位置 ↓ # 文件位置样例: # C:\Users\ ...