3.3.解决多人协作开发过程中的代码冲突问题

1.在多人协作开发的项目中,每次开发之前每个人最好先同步更新一下github上最新的代码,可以减少冲突的概率

git pull

2.产生冲突

目前咱们演示项目git-demo中有两个开发这,第一个人,nodeing666,第二个,nd-00002,github仓库中最新的代码是nd-00002这个人提交的代码,这个时候,如果nodeing666这个人在开发之前并没有拉取github中最新的代码,而是直接去修改index.html这个页面,例如:

<style>
body{
// nodeing666 修改了首页背景色
background-color: red;
}
</style>

代码写完后,nodeing666把本地代码push到github,此时是提交不上去的,效果如下:

3.解决冲突

第一步,产生冲突后,我们首先得去把远程仓库(origin/master)中的代码拉取下来,再去查看哪里产生冲突了,执行命令:

git fetch

执行结果:

第二步,接下来,我们需要去对比本地master分支和远程仓库中的master分支

git diff master origin/master

执行结果:

第三步,手动把远程master分支和本地master分支合并

git merge origin/master

执行后,index.html页面中变成了这样:

此时,你需要取舍一下,当前冲突的代码到底保留什么,本次案例中,经过讨论,认为背景色保留为红色更好,因此,我们把index.html的代码修改成这样:

经过上一步手动修改代码,咱们已经解决好了冲突

第四步,重新提交代码并同步到远程仓库

git add index.html
git commit -m '解决背景冲突问题'
git push origin master

执行结果:

螺钉课堂视频课程地址:http://edu.nodeing.com

git和github入门指南(3.2)的更多相关文章

  1. git和github入门指南(6)

    6.交作业的流程 以下内容是螺钉课堂在线就业班提交作业的要求,非螺钉课堂在线就业班学员不用学习 螺钉课堂作业全程采用git管理,希望在日常使用中,加深对git和github的理解 具体流程: 1.注册 ...

  2. git和github入门指南(1)

    1.git和github简介 1.1.git是什么?github是什么?git和github的关系? Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. Git ...

  3. git和github入门指南(5)

    5.github上的标签 5.1.标签的作用 给当前版本打一个标签,在github上就会形成一个releases版本 点击进去后,用户就可以下载对应版本的源代码 5.2.在本地git工具上创建标签,同 ...

  4. git和github入门指南(4)

    4.分支管理 4.1.什么是分支? 分支可以简单的理解为分叉,在主干上长出一条枝干出来,主干分支通常叫做master,在主分支上可以开很多分支出来,不同的人在不同的分支上做开发,最后合并到主分支,这样 ...

  5. git和github入门指南(3.3)

    3.4.开源项目的协作方式 开源项目通常是没有写入的权限的,我们需要换一种协作方式参与到这些开源项目中 为了演示方便,我们把git-demo这个项目中nd-00002这个合作者的权限取消 接下来nd- ...

  6. git和github入门指南(3.1)

    3.远程管理 3.1.远程仓库相关命令 1.查看远程仓库名字,这里以github为例 git remote 上面命令执行后会得到:origin,这样一个名字,这个名字是我们克隆的时候默认设置好的 如果 ...

  7. git和github入门指南(2.1)

    2.git常用命令 2.1.git的三个区 1.工作区 工作区就是你项目所在目录,这个目录是可以非常直观的看到的,编写代码主要在这个目录进行,例如: 2.暂存区 暂存区从字面上去理解就是用来暂时保存项 ...

  8. git和github入门指南(2.2)

    2.4.常用git命令 2.4.1.回顾前面使用的命令 1.git add 文件名 这个命令用来将代码提交到暂存区 2.git status 可以查看当前提交的状态 3.git commit -m ' ...

  9. Git和Github入门

    推文:官方手册,十分详细 推文:git和github快速入门 一.git使用 1.git安装 (1)windows 网站:https://git-scm.com/download/win下载安装即可 ...

随机推荐

  1. Rocket - tilelink - first

    https://mp.weixin.qq.com/s/0nzkV4K1osNEQzrtITYxmw   介绍Edges中first/last/done的实现.   ​​   1. firstlastH ...

  2. Verilog缺少一个复合数据类型,如C语言中的结构体

    https://mp.weixin.qq.com/s/_9UsgUQv-MfLe8nS938cfQ Verilog中的数据类型(Data Type)是分散的,缺少一个复合数据类型:把多个wire, r ...

  3. Linux磁盘与文件系统管理概要

    Linux磁盘与文件系统管理 硬盘组成与分区 硬盘组成 圆形的盘片(主要记录数据) 机械手臂与磁头(可读取盘片上的数据) 主轴马达,转动盘片,让机械手臂的磁头在盘片上读取数据 扇区(Sector)为最 ...

  4. Java实现 蓝桥杯 算法提高 欧拉函数(数学)

    试题 算法提高 欧拉函数 问题描述 老师出了一道难题,小酱不会做,请你编个程序帮帮他,奖金一瓶酱油: 从1-n中有多少个数与n互质? |||||╭══╮ ┌═════┐ ╭╯让路║═║酱油专用车║ ╰ ...

  5. Java实现蓝桥杯算法提高P0102

    算法提高 P0102 时间限制:1.0s 内存限制:256.0MB 提交此题 用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进 ...

  6. Java实现k个数乘(cheng)(自然数的k乘积问题)

    k个数乘(cheng) 题目描述 桐桐想把一个自然数N分解成K个大于l的自然数相乘的形式,要求这K个数按从小到大排列,而且除了第K个数之外,前面(K-l)个数是N分解出来的最小自然数.例如:N=24, ...

  7. Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…

    import java.util.Scanner; public class Main{ private static Scanner cin; public static void main(Str ...

  8. PAT 有理数四则运算

    本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前 ...

  9. PAT 程序运行时间

    要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间.这个时间单位是 clock ...

  10. iOS-函数式编程 && 响应式编程概念

    作为一个iOS developer,那么你一定用过Masnory / SnapKit: Masonry是一个OC开发中,非常好用的自动布局的第三方框架: SnapKit是Masonry团队打造的swi ...