git 的使用以及如何解决git冲突问题

简介: git 的使用以及如何解决git冲突问题

1、集中版本控制---svn

优点:1、很好的做权限管理。

缺点:1、如果没有做特别的备份,磁盘坏掉数据就没了。

          2、离线状态、无法进行提交操作。

2、git ---分布式版本控制工具    修改之后提交到本地

优点:离线可以提交代码,代码冗余度(有一好就可)比较高。

缺点:存储加大,目录级别的权限不好管理。

git的基本使用(以下命令需要在git仓库文件夹下面操作)

1、git init   :进入git仓库,初始化仓库(把一个普通文件夹变成git仓库),使用git命令去管理(同目录下多出一个.git文件夹)

2、git add  文件名/git add --all 添加文件到追踪暂存区。

  git add aa(git追踪文件)提交的是追踪的文件

3、git status 查看当前git仓库的修改文件的状态,哪些修改文件追踪了,哪些文件没有被追踪。

4、git commit -m “xxx” 提交本次修改到历史版本。xxx是对这次提交的说明。

5、git log 查看历史版本记录  

     git log -p 是查看详细提交代码

    ①git log 查看版本 ②enter键 ③增加second commit second commit

6、git reset 562b04176d98a8900dfeace8e330dedf24cf1be2 --hard 回滚到指定版本

      其中562b04176d98a8900dfeace8e330dedf24cf1be2 是版本号 #回滚之后再 git push origin master上去。

7、git reflog 记录每次提交的版本号

8、git remote add origin xxx  添加别名()映射,将远程仓库地址xxx。

9、git remote -v 查看当前有哪些别名映射。

10、git remote delete origin 删除origin别名映射。

11 、git pull origin master 拉取远程origin仓库的内容到本地仓库。

12、git push origin master 推送本地仓库的历史版本到远程仓库。

13、git push origin master -f 强制推上去

例如:

创建文件aa  提交文件;

git commit -m “test”:提交的文件只是用于测试。

3、git仓库的使用

将一个远程仓库拉取下来,并在本地仓库修改,然后推送本地仓库版本到远程仓库中。

1、在gitee页面上fork远程仓库

2、把自己的远程仓库拉取下来

git  clone xxx :xxx是自己的仓库地址。

git clone https://gitee.com/angel521/hyrz-teacher
$ git clone (master)
cd hyrz-teacher

3、添加对远程仓库的别名映射。

git remote add origin3 xxx(xxx 是远程仓库的地址)

4、查看仓库别名映射

git remote -v

5、上传文件、作业的流程

a、拉取远程仓库的最新内容

git  pull  origin3 master   origin3是远程仓库

b、在homework目录下(cd homework/),寻找跟日期同名的文件夹(cd 2022-03-04-git作业/),在这下面创建你自己名字的同名文件夹(mkdir angel),然后将你写的代码文件复制到这下面来。

c、git add --all     :添加文件到追踪暂存区

d、git commit -m “xxx”   提交本次修改到历史版本中

git commit -m "today" 提交本次修改到历史版本中,today可随意命名。

e、git push origin master    :将历史修改到远程仓库 单纯拉取也需要push。

f、在页面上创建pull request ,等待远程仓库同意。

4、解决git冲突

git冲突:两个本地仓库同时修改文件夹会产生冲突。

分支:master主分支 每个都会在自己本地产生dev(develop)分支和master分支,在dev分支中修改代码,dev分支修改完成测试完成之后就合并到master分支,到master分支生效。

合并分支之后会有冲突产生(有两个角色同时修改了文件)。

1、首先找到并进入一个分支(master)。

Administrator@PC-201911211239 MINGW64 /d/hyrz (master)
git branch -v

2、新建分支并切换。

git checkout -b dev(切换到dev)
git branch -v
ls
touch aa 创建文件
git add --all添加文件到追踪暂存区
git commit -m "add aa"提交本次修改
git log
git checkout master 切换分支到maste
ls
git checkout dev
Administrator@PC-201911211239 MINGW64 /d/hyrz (master)
$ git merge dev合并dev分支到master(在master中进行)

解决冲突的两种方式:自动解决 和人工解决。

自动解决:修改的地方内容不一样,

人工解决:同时修改一个地方的内容,自动解决不了,需要人工解决。

Git 冲突解决办法。

出现冲突:

Auto-merging learn_code/2021-11-23-python异常处理/01.python异常处理.py
CONFLICT冲突 (content): Merge conflict in learn_code/2021-11-23-python异常处理/01.python异常处理.py

自动合并失败 需要手动解决冲突

查看冲突所在的文件:

标红的位置就是冲突所在位置

用===========隔开的两部分只能留下一部分

删除后在提交。

相关文章
|
SQL 运维 网络协议
【运维】阿里云宝塔面板部署JavaWeb项目
【运维】阿里云宝塔面板部署JavaWeb项目
1326 0
【运维】阿里云宝塔面板部署JavaWeb项目
|
开发工具 git
Git操作远程仓库及解决合并冲突
Git操作远程仓库及解决合并冲突
431 0
|
分布式数据库 Hbase 存储
带你读《HBase原理与实践》之一:HBase概述
Apache HBase是基于Apache Hadoop构建的一个高可用、高性能、多版本的分布式NoSQL数据库,是Google BigTable的开源实现,通过在廉价服务器上搭建大规模结构化存储集群,提供海量数据高性能的随机读写能力。
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
9月前
|
人工智能 vr&ar
PSHuman:开源单图像3D人像重建技术,一张照片就能生成3D人像模型
PSHuman 是一种先进的单图像3D人像重建技术,仅需一张照片即可生成高度逼真的3D模型,支持面部细节、全身姿态和纹理恢复,适用于影视、游戏、虚拟现实等多个领域。
820 4
PSHuman:开源单图像3D人像重建技术,一张照片就能生成3D人像模型
|
9月前
|
存储 人工智能 Serverless
智能理解 PPT 内容,快速生成讲解视频
本方案利用函数计算 FC 部署 Web 应用,调用百炼模型服务实现 PPT 到视频的自动转换。视觉模型智能理解 PPT 图文内容,快速生成相匹配的解说词;文本模型对解说词进行优化,提高其可读性和吸引力;语音模型则根据解说词生成生动流畅的旁白音频。整个过程高度集成,只需一键操作,系统即可自动整合图片、文本和音频素材,快速生成对应讲解视频。
751 17
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的学生学籍管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的学生学籍管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
191 1
|
12月前
|
存储 人工智能 安全
数据治理:强化数据安全与隐私保护的基石
在当今这个数字化时代,数据已成为推动社会进步和企业发展的核心驱动力。从个人消费习惯到企业运营策略,从政府决策支持到科研创新突破,数据无处不在,其价值不言而喻。然而,随着数据量的爆炸性增长和流通范围的扩大,数据安全与隐私保护问题也日益凸显,成为制约数据价值最大化利用的重要瓶颈。因此,构建完善的数据治理体系,特别是强化数据安全与隐私保护,成为了时代发展的必然要求。
1155 5
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
2268 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
Kubernetes 安全 数据安全/隐私保护
Kubernetes 安全性最佳实践
【8月更文第29天】随着容器化和微服务架构的普及,Kubernetes 已成为管理容器化应用的标准平台。然而,随着 Kubernetes 的广泛采用,其安全性问题也日益受到关注。本文将深入探讨 Kubernetes 的安全最佳实践,并通过具体的代码示例来展示如何保护 Kubernetes 集群免受攻击。
601 2