git 教学 ( 详细教程,从下载安装注册开始 )

发布于:2022-11-01 ⋅ 阅读:(457) ⋅ 点赞:(0)

一,Git简介

1,Git是什么?

Git是目前世界上最先进的分布式版本控制系统。
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。
Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。
Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不用服务器端软件支持。

2,Git的特点

Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时,都十分高效,而且非常的高大上。

3,集中式与分布式的区别?

最常见的集中式版本控制系统是SVN,版本库是集中放在中央处理器中的,而干活的时候,用的都是自己电脑,所以首先要从中央服务器那里得到最新的版本,然后开始干活,干完活后,需要把自己做完的活推送到中央服务器。而且集中式版本控制系统是必须联网才能工作的,一旦断网,所有人都干不成活了,可想而知,集中式版本控制系统的局限性有多大。

Git是目前世界上最流行的分布式版本控制系统,它没有中央处理器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上,随时都可以将自己在工作区间做的修改提交到本地仓库,最后将自己的本地版本仓库推动到远程版本仓库进行合并,效率可想而知是可控的贼高。
在这里插入图片描述

长话短说,想详细了解git可以去看看我大神的解释

二,Git的下载和安装及注册

在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。
本篇我们只介绍在Windows下安装Git,Git 各平台安装包下载地址为:点我👆👆👆

傻瓜式安装,一只下一步下一步就行了,详细安装教程

1、打开码云网站:

https://gitee.com/

2、点注册提交资料

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三,Git 工作流程

一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

下图展示了 Git 的工作流程:

在这里插入图片描述

四,Git 工作区、暂存区和版本库

基本概念

我们先来理解下 Git 工作区、暂存区和版本库概念:

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

下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:
在这里插入图片描述
详细介绍来源于 菜鸟教程

图中左侧为工作区,右侧为版本库。在版本库中标记为 “index” 的区域是暂存区(stage/index),标记为 “master” 的是 master 分支所代表的目录树。
图中我们可以看出此时 “HEAD” 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
图中的 objects 标识的区域为 Git 的对象库,实际位于 “.git/objects” 目录下,里面包含了创建的各种对象及内容。
当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。
当执行 git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。
当执行 git checkout . 或者 git checkout – 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区中的改动。
当执行 git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

1,Git 创建仓库

git init - 初始化仓库。

Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init
是使用 Git 的第一个命令。 在执行完成 git init 命令后,Git 仓库会生成一个 .git
目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。

git init

git add . - 添加文件到暂存区。

git commit - 将暂存区内容添加到仓库中。

2,暂存盘

git add ---------------------添加到暂存盘
git add my.txt------------添加某个文件到暂存盘
git add *.txt ----------------添加某种类型的文件到暂存盘
git add . --------添加任意类型的文件到暂存盘
git checkout xxx--------从暂存盘取回到工作区

  • git checkout my.txt
  • git checkout *.txt
  • git checkout .

在这里插入图片描述

3,版本库

必须先添加到暂存盘,再添加到版本库

git add .---------------------------------------------添加到暂存盘
git commit -m “提示语句” -----------------------添加版本库

在这里插入图片描述

git log ------------------------------------------------查看版本
git reflog --------------------------------------------查看相关版本切换到某个版本
git reset --hard ------------------------------------版本号
在这里插入图片描述

4,推送到远程

添加远程仓库

git remote add origin 仓库地址

在这里插入图片描述

添加到版本库

git add .
git commit -m “提示”

在这里插入图片描述

推送到远程

git push -u origin “master”

在这里插入图片描述

第二次推送

git push origin “master”

在这里插入图片描述

5,下载远程到本地

git clone 远程地址

6,推送到远程

git push -u origin “master”-----------------首次

git push origin “master”------------------推送

git push -f origin “master”-----------------------强制用本地替换远程

7,拉取远程分支

git fetch origin “zql”------------- 拉取远程“zql” 分支
git checkout zql -------------------切换到本地zql分支 git
pull origin “zql” ---------------------拉取并合并到本地 zql分支

8,分支

查看分支

git branch 查看本地分支
git branch -r 查看远程分支

创建分支

git branch 分支名

切换分支

git checkout 分支名

切换并创建分支

git checkout -b 分支名

合并分支

git merge 分支名称

删除分支

git branch 分支名 -d

注意!!!

修改本地分支文件的时候(这个分支有可能别人也操作)
一定也要先:git pull origin 分支
再 编辑(确保拿到的是服务器最新文件)

五,常用git命令

1、信息查看

1、查看日志 git log q退出
2、查看本地分支 git branch
3、查看远程分支 git branch -r
4、查看分支关联关系 git branch -vv
5、查看当前本地分支状态 git status

2、分支相关命令

1、创建分支 git branch your_branch_name

2、切换分支 git checkout your_branch_name

3、创建分支并切换到新分支上去 git checkout -b your_branch_name

4、基于某个分支创建新的分支 git branch branch1 branch2

    4.1、将新建分支推到远程 git push --set-upstream origin test

5、拉取分支代码到本地 git pull

    拉取指定分支到本地 git checkout -b 本地分支 origin 远程分支

6、删除本地分支 git branch -d your_branch_name

7、删除远程分支 git push origin your_branch_name

8、强制提交到远程分支 git push -f origin you_branch_name

9、分支合并(将 bugfix01 分支合并到 master 分支)

    1、切换到 master 分支上

    git checkout master

    2、合并分支

    git merge bugfix01

    3、提交

    git push

10、分支回滚

    回滚机制说明:

    1、在git中,用HEAD表示当前版本

    2、上一个版本就是HEAD^

    3、上上一个版本就是HEAD^^

    4、通过数字表示之前100个版本HEAD~100

    5、git log可以查看提交历史,查看commit_id,按q退出

    6、回滚命令

    git reset --hard commit_id

11、强制覆盖本地仓库

    1、从远程仓库下载最新版本

    git fetch --all

    2、将本地设为刚获取的最新的内容

    git reset --hard origin/master

------------------------------------------------- 我是一条「 ʕง•ᴥ•ʔง ʕ•ᴥ•ʔ ʕ ᵔᴥᵔ ʔ」分割线 -------------------------------------------------
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到