当前位置: 首页 > ds >正文

Git教程

相信大多数实习生来到公司都不会用Git,那么此篇文章将帮你解决燃眉之急!

介绍:其中gitlab是公司内部使用的,也即公司的代码没开源可以上传至公司内部自己搭建的gitlab服务器

 1、Git常用命令

git的安装与介绍不再赘述。

1.1.设置用户签名

说明:签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中都能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码!

注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系。

1.2.初始化本地库

 要用git管理某个目录,首先得需要让git获取目录的管理权也即需要先初始化一下。

 

1.3.查看本地库状态

1.3.1.首次查看(工作区没有任何文件)

 1.3.2.新增文件(hello.txt)

 1.3.3.再次查看(检测到未追踪的文件)

1.4.添加暂存区

 暂存区的文件是可以删掉的!

上述命令只是把暂存区里面的文件删掉了,工作区里面还是有的!

1.5.提交本地库

将暂存区的文件提交到本地库形成自己的历史版本。

 查看版本信息:

git reflog 查看版本信息

git log 查看版本详细信息

 1.6.修改文件

 

1.7.历史版本

 1.7.1.查看历史版本

1.7.2.版本穿梭

如果老板发现当前新版本的代码写的不是很好,想要回到之前的某个版本,穿越回去。

 HEAD指向分支,分支指向版本

2、Git分支操作

2.1.什么是分支?

在版本控制当中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用

 2.2.分支的好处

同时并行推进多个功能开发,提高开发效率。各分支在开发的过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可!

2.3.分支的操作

2.3.1.查看分支

2.3.2.创建分支

2.3.3.切换分支

2.3.4.修改分支

 

 

2.3.5.合并分支(正常情况)

git merge hot-fix

 

以上的情况是:master分支没有修改,hot-fix下改了。

2.3.6.产生冲突

这种情况是企业里面较为常见的情况。冲突的原因:合并分支时,两个分支在同一文件的同一位置有两套完美全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容

 

手动解决冲突:

 

3、Git团队协作机制

3.1.团队内协作

3.2.跨团队协作

 

4、GitHub操作

 4.1.创建repository

4.2.远程库操作

 4.3.推送本地分支到远程仓库

 

4.4.拉取远程仓库到本地库

本地库已经和远程库不是同步的了

 

http://www.xdnf.cn/news/8637.html

相关文章:

  • 龙虎榜——20250523
  • 地形生成原理与实现
  • 【Java】Java元注解
  • 【操作系统】-4.1.8文件共享
  • Unitree 5. GO1 3D打印配件
  • 高通usecase理解
  • 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球
  • 【递归、搜索与回溯算法】专题三:穷举vs暴搜vs深搜vs回溯vs剪枝
  • 第十节第八部分:Lambda表达式、Lambda表达式的省略规则
  • YOLOV11网络图和数据增强
  • PotPlayer 4K 本地万能影音播放器
  • 基于厚度变化的分割点定位算法:以瓶口颈部为例
  • 【分组背包 数论】P12160 [蓝桥杯 2025 省 Java B] 2 的幂|普及+
  • MySQL 第五讲---基础篇 表的约束
  • 每个元素后面加“、”,但最后一个元素不加
  • 点云处理的瑞士军刀PCL几何库
  • 基于Java(GUI)实现五子棋
  • 【AI】小参数,大影响:从OpenAI参数看AI开发挑战
  • Python打卡训练营学习记录Day34
  • 文章记单词 | 第104篇(六级)
  • MySQL --- 事务
  • 【Linux系列】EVS 与 VBD 的对比
  • 文章记单词 | 第103篇(六级)
  • 永磁同步电机参数辨识算法--拓展卡尔曼滤波参数辨识
  • 探索微观世界的“度量衡”:显微测量仪器解析
  • 《C++20新特性全解析:模块、协程与概念(Concepts)》
  • Python包管理器:uv
  • 目前,Navicat 17.1 版本的用户管理功能无法使用,如何回退到上一个版本?关于之前提到的转置功能?
  • Three.js 中的 Octree(八叉树)详解
  • android studio第一次编译apk,用时6分钟