Git入门到精通

article/2025/11/4 10:31:49

Git入门到精通

  • 一. 什么是Git
    • 1.1 Git简介
    • 1.2 Git的优点
  • 二. Git和Svn的区别
  • 三. Git下载与安装
    • 3.1 下载Git
  • 四. Git结构
  • 五. Git和代码托管中心
    • 5.1 代码托管中心
    • 5.2 本地库与远程库
    • 5.3 团队内部协作流程
    • 5.4 跨团队协作
  • 六. Git命令行
    • 6.1 创建本地库
    • 6.2 设置签名
      • 6.2.1 签名概述
      • 6.2.2 签名命令
    • 6.3 常用命令
    • 6.4 永久删除后找回
    • 6.5 文件比较
  • 七. 本地库和远程库的交互
    • 7.1 初始化本地库与远程库建立连接
    • 7.2 克隆与远程库建立连接
    • 7. 3 切换远程库
  • 八. 分支
    • 8.1 分支概念
    • 8.2 分支命令
    • 7.3 合并分支(冲突)解决

一. 什么是Git

Git官网地址https://git-scm.com/
Git源码https://github.com/git/git/

1.1 Git简介

  • Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  • Git 是李纳斯·托沃兹( Linus Torvalds )为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  • Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

1.2 Git的优点

  • 大部分操作在本地完成,不需要联网
  • 速度快、灵活
  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅
  • 与 Linux命令全面兼容

二. Git和Svn的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

三. Git下载与安装

3.1 下载Git

Git管网下载https://git-scm.com/downloads


执行exe文件
一直点next

桌面鼠标右击,出现

Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令

四. Git结构

工作区:就是你在电脑里能看到的目录(写的代码存在工作区)。
暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件 (.git/index)中,所以我们把暂存区有时也叫作索引(index).(计划要提交的文件)
版本库:(本地库)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

五. Git和代码托管中心

5.1 代码托管中心

代码托管中心的任务:维护远程库
局域网环境下:

  • GitLab服务器

外网环境下:

  • GitHubhttps://github.com/
  • 码云https://gitee.com/

5.2 本地库与远程库

团队内部协作和跨团队协作

5.3 团队内部协作流程

5.4 跨团队协作

六. Git命令行

6.1 创建本地库

右键进入git bash here

mkdir blog  创建文件   
cd blog     进入blog
ll -A       查看隐藏的.git文件内容
git init    初始化一个 Git 仓库
ll .git/    表示查看.git 下的文件列表显示
cat .git/config     查看.git/config 内容   

注意:.git目录是存放本地库相关的目录和文件,不要对其进行修改和操作

6.2 设置签名

6.2.1 签名概述

  1. 签名的作用:用于标识不同的开发人员
  2. 项目级别(仓库):仅在当前本地库范围有效
  3. 系统级别:登录当前操作系统的用户范围
  4. 级别优先级:就近原则:项目级别优先级大于系统(用户)级别签名

注意:签名级别必须要设置,如果都不设置,GIT可能会导致命令出差。无法辨别

6.2.2 签名命令

项目级别(仓库):仅在当前本地库范围有效

 git config user.name zysheepgit config user.email zysheep@163.comcat .git/config  查看设置结果

系统级别:登录当前操作系统的用户范围

 git config –global user.name zysheepgit config –global user.email zysheep@163.comcd ~  家目录ll –A | grep –i git   查看叫git的文件名称cat .gitconfig 查看文件内容

在实际开发过程中,通常只需要设置系统级别即可。如果有特殊需要,再设置项目级别。

6.3 常用命令

 git tatus  用于显示工作目录和暂存区的状态git add    xxx.txt 将工作区写入暂存区git rm     命令用于从工作区和索引中删除文件。git commit -m '备注信息'  将暂存区提交到本地库git checkout   切换分支或恢复工作树文件git log        显示提交日志信息git log –-pretty=oneline 更优雅的显示(查看历史记录)Git log --onelinegit reflog   //用于显示需要回退的步骤HEAD

6.4 永久删除后找回

git rm 命令用于从工作区和索引中删除文件。

  1. 工作区创建文件,通过命令提交到本地库
 Vim d1.txt  git add d1.txt  git commit –m ‘上传到本地库d1.txt’ d1.txt
  1. 执行命令进行删除:
git rm d1.txt 工作区删除后,提交到本地库
git commit –m ‘删除d1.txt’ d1.txt
  1. 通过日志git reflog 找回
$ git reset --hard 15d5002
ll查看即可

注意: git只要在本地库发生操作,都会进行版本记录。

6.5 文件比较

gid diff 将工作区中的文件和暂存区进行比较

vim git.txt    修改内容
git diff git.txt       用于显示提交和工作树等之间的更改

gid diff 暂存区中的文件和本地库进行比较

git add git.txt 将git.txt 工作区添加到暂存区 
git diff HEAD git.txt   HEAD代表本地库最新版本指针    
git diff  不加文件名
git checkout 文件名   退回修改  

七. 本地库和远程库的交互

7.1 初始化本地库与远程库建立连接

  1. git remote -v 查看当前所有远程地址别名

  1. git remote add [别名][远程地址]


  1. 推送 git push [别名] [分支名]

出现以上错误,是因为目录中没有文件,空目录是不能提交上去的。

我们在目录中添加一个文件,使用git add加入到暂存区,git commit提交到本地库中。

可能要设置签名(设置全局签名吧,否则设置项目级别的前面,后面再创建本地仓库,又得重新设置),设置完成后,再git commit,最后再git push

这是因为github上的远程库与本地库版本不一致导致的。我们根据提示先pull,再push

git pull origin master
git push origin master

git pull 失败 ,提示:fatal: refusing to merge unrelated histories,这是因为两个根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并。有两种解决方法:

  • 第一种:从远端库拉下来代码, 本地要加入的代码放到远端库,然后提交上去,这相当于是一种更新;
  • 第二种:强制拉取git pull origin master --allow-unrelated-histories

总结: 创建远程仓库,本地仓库初始化后,使用git pull拉取,保持本地库与远程库版本一致。

7.2 克隆与远程库建立连接

git clone [远程地址]

克隆操作为我们做了这些事情:

  • 完整的把远程库下载到本地
  • 创建远程库地址别名:origin
  • 初始化本地库

如果已经找到远程库,推荐使用克隆来与远程库建立连接

7. 3 切换远程库

方式一:修改远程仓库地址

git remote  -v  #  查看远程仓库的地址git remote set-url origin Url  # 更换远程仓库地址,Url为新地址。

方式二:先删除远程仓库地址,然后再添加

git remote rm origin   # 删除现有远程仓库
git remote add origin url   # 添加新远程仓库

八. 分支

8.1 分支概念

  1. 什么是分支?
    在版本控制过程中,使用多条线同时推进多个任务。

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

8.2 分支命令

  1. 创建分支
git branch develop
  1. 查看本地分支:
git branch

注: 名称前面加* 号的是当前的分支

  1. 查看远程分支:

加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)

git branch -a
  1. 切换分支
git checkout branch_name
  1. 删除本地分支
git branch -d branch_name
  1. 删除远程分支
git branch -r -d origin/branch-name  
git push origin :branch-name 
  1. 如果远程新建了一个分支,本地没有该分支。

可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。

git checkout --track origin/branch_name
  1. 如果本地新建了一个分支 branch_name,但是在远程没有。

这时候 push pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。

git push --set-upstream origin branch_name
  1. 合并分支到master上
    首先切换到master分支上
git  checkout master

如果是多人开发的话 需要把远程master上的代码pull下来

git pull origin master

然后我们把dev分支的代码合并到master上

git  merge dev

然后查看状态

git status

示例 :合并分支

  1. 在分支hot_fix 上修改git.txt文件,并提交到本地库
  2. 需要合并分支。让master上的git.txt同步

切换到接受修改的分支上master(将hot_fix内容同步到master

git checkout master   //切换到接受修改的分支上

执行merge命令,git merge命令用于将两个或两个以上的开发历史加入(合并)一起。

git merge hot_fix   //hot_fix 被合并的分支名称

7.3 合并分支(冲突)解决

问题:将两个分支内的文件分别进行修改.(且改变的是同一位置)进行合并。

1、查看分支信息:

 git branch -v

2、在master下修改某行文件内容。然后进行提交。

vim git.txt  
git add git.txt
git commit –m ‘master 提交’ git.txt


3、查看分支信息

git branch -v


4、在hot_fix下修改某行(master)同行文件内容。然后进行提交

git checkout hot_fix
vim git.txt
git add git.txt
git commit –m ‘hot_fix提交’ git.txt


查看版本信息:

合并:

git merge master  //在hot_fix中向master中合并代码Automatic merge failed; fix conflicts and then commit the result.(自动合并失败;修复冲突,然后提交结果。)


查看文件(冲突的):
cat git.txt

处理冲突:

  • 由人为沟通解决。
  • 进行文件编辑

修改文件:

vim git.txt   // (将冲突的符号清除。进行修改内容)
git add  git.txt
git commit –m ‘冲突已修复’//不需要带文件名称


http://chatgpt.dhexx.cn/article/bqmMKS4g.shtml

相关文章

git入门使用详解

前言 一直使用svn版本管理,现在大多数公司都在用git作为版本管理工具。因此有必要简单了解一下git的常规使用,在以后用到git时,不至于盲目抓瞎,一脸懵逼。 一、对于分布式版本管理的理解 之前用的svn是集中式版本管理。代码中央…

git入门学习(详细版)

初始操作 git init 一个本地仓库设置完成 如果把文件夹删了 再git init的话 相当于另一个本地仓库了 设置自己的姓名和邮箱: 全局设定(设置完后本机全部生效)不局限于单个git文件夹 标识我的本机: git config --global user.name "wkx" 本机电脑 …

git入门教程

git入门教程 一、工作流程二、获取本地仓库三、Git常用指令1、查看文件状态2、查看提交日志3、版本回退4、添加文件至忽略列表 三、分支1、查看本地分支2、创建分支3、切换分支4、合并分支5、删除分支6、解决冲突 四、Git远程仓库1、常用的托管服务[远程仓库]2、注册码云3、创建…

Git入门(建议收藏)

目录 一.git简介 二.git的安装及其常用指令 三.分支及远程仓库基础操作 一.git简介 中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的 PC 是一样的。我们可以 把它当做一个开发者的pc 就可以就是为了大家代码容易交流不关机…

史上最简单Git入门教程

一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓…

手机上万里挑一的CAD看图软件,好用到颠覆你的世界观!

时代在进步,久而久之很多人开始对自己的生活要求和办公方式都在逐渐改变,移动端的办公方式越来越受欢迎,然而科技软件的开发也推动了移动办公的趋势,让我们不再局限于PC端的办公方式,其中对于CAD当然也是不例外的&…

cad快看_苹果用户福音——CAD快速看图mac版来啦

我们终于赶在2019年最后一天发布了软件的mac版本,以后使用苹果笔记本的用户也可以操作CAD快速看图啦~ 功能介绍 目前较小、极快的一款CAD看图软件,兼容AutoCAD各个版本DWG图纸直接查看,支持天正建筑、天正给排水、天正暖通、天正电气图纸。 产…

CAD手机看图软件使用技巧:CAD快捷命令功能

大家都知道在浩辰CAD软件中为了方便绘图,设置了很多CAD快捷键和CAD命令,那么在CAD手机看图软件浩辰CAD看图王手机版中有没有CAD快捷键/CAD命令呢?答案是肯定的!那怎么使用浩辰CAD看图王中的CAD快捷命令呢?接下来给大家…

CAD看图软件的快速搜索功能怎么用?

在CAD制图工作中,可能会需要查看大量的CAD图纸,但是有时候电脑里的CAD图纸太多而且存储位置不好找,若是查找需要的CAD图纸查看可能会很麻烦。这时候就要使用迅 J CAD看图软件来快 速搜索CAD图纸打开查看了。可是CAD看图软件的快 速搜索功能怎…

不用花钱,免费查看CAD图纸的好用看图软件

我们在CAD制图工作中,有时候需要查阅大量的CAD图纸。现在市面上有的各种各样的CAD看图软件,都需要花钱,而且还安装麻烦,占用端脑内存。小编今天给大家介绍一下,不用花钱,免费查看CAD图纸的好用看图软件。 1…

CAD看图有什么技巧?怎么实现CAD快速看图?

在平时的绘图工作中,我们经常会在图纸绘制完成后将其保存为疲沓易于查看的图纸格式来进行保存,例如将CAD图纸转换为PDF格式,CAD转换JPG格式,CAD转SVG格式等等,那么如果我们部队图纸格式进行转换的话,要怎么…

cad查看_CAD快速看图 for mac(CAD图纸查看工具) v4.3.7中文版

CAD快速看图是由广联达软件股份有限公司自主研发的快速查看CAD图纸的工具,有mac、Android版、iOS版和PC版。软件可以对CAD图纸进行查看、标记、测距、照相和录音等功能。通过拷贝、邮件发送等传输方式将图纸发送到设备,即可在工地现场离线使用。 CAD快速…

cad看图软件看图软件哪个好?

我们在CAD软件制图方面是非常的优秀的,想要将CAD批量的文件进行查看,偶尔需要编辑和转换操作的时候,cad就显得有些麻烦了。通常我们接收到客户或领导的CAD文件是PDF格式,对不同格式之间的批量查看、编辑、转换的操作,其…

CAD看图怎么看?分享一个途径

我们在日常工作中有时会接触到CAD文件,这种文件不能直接打开,有没有什么好用的工具可以直接打开CAD查看其中图形呢?下面就介绍一款可以快速查看CAD文件的工具,一起来看看吧。 CAD编辑软件不仅支持查看CAD文件,还可以对…

cad快看_浩辰CAD看图王教你免费打开超大CAD图纸!

在日常CAD绘图过程中,经常会需要打开超大CAD图纸文件(超大是多大?日常情况下超过20MB应该就算是比较大的图纸了),那CAD看图软件中可以打开这种超大CAD图纸吗?当然是可以的,下面就一起来看看浩辰…

CAD迷你看图 for Mac(强大的cad看图软件)

CAD迷你看图 Mac破解版是MacOS上一款非常强大的cad看图软件,具有体积小、功能强、速度快等特点,兼容 Autocad R14 到2021各版本的DWG二维三维图纸,非常好用! CAD迷你看图 for Mac安装教程 软件下载完成后,双击.pkg根…

CAD快速看图怎么转换成PDF格式?这一款软件就足够

CAD快速看图怎么转换成PDF格式?CAD文件是一种比较专业的文件,一般用于设计、绘图等,这种文件需要特殊的软件才可以打开,不过对于大多数人来说,都很少会安装这种软件,因为下载和安装软件需要很多时间&#x…

计算机快速看图教程,CAD快速看图使用电脑版软件操作教程

下面给大家介绍一个非常好用的操作方法,能够解决大家在CAD快速看图、编辑与修改、格式转换、版本转换等问题。拿到图纸都能够打开浏览,转换成可以转换的文件格式,发送给客户都可以。 1我们可以上网搜索,CAD快速看图或CAD编辑器&am…

linux能安装cad快速看图不,cad快速看图(三种方法教你快速查看CAD图纸)

大家都知道,设计建筑师们在CAD编辑器中绘制一张CAD图纸后,都是需要进行打开查看的,而且图纸格式均为dwg格式的,那我们怎么快速的查看一张CAD图纸文件呢?具体要怎么操作才能快速的查看CAD图纸?下面小编就用三…

计算机快速看图教程,cad快速看图制图

cad快速看图制图电脑版是一款免费的cad看图制图软件,cad快速看图制图电脑版支持用户在线一键分享你的图纸,cad快速看图制图电脑版图库中储存的图纸资源十分的丰富,海量的精品图纸任你随意挑选,需要的小伙伴快来试试吧。 基本简介 …