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

Git使用入门

一、Git简介

Git 是一个开源的分布式版本控制系统。

Git版本控制的功能为保存不同版本的代码,保存代码的地方叫做仓库。

每个仓库中有多个分支,每个分支上又有很多节点,每个节点代表一个版本,不同的分支可以进行合并,实现多个功能的同时开发。

一个完整的Git版本控制系统有两个仓库,一个仓库在服务器上,另一个仓库在本地。服务器仓库主要作用为团队协作和多端同步,可以将本地的仓库的某个分支上传至服务器某个分支;本地仓库的作用主要是提交自己的代码至本地仓库某个分支和下载服务器仓库的某个分支。

二、安装Git

1、官网下载git安装,有Windows版本和Linux版本:http://git-scm.com/downloads

2、配置用户信息:

git config --global user.email "xxx@yy.com"
git config --global user.name "yyy"
git config  user.email "xxx@yy.com"
git config  user.name "zzz"
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

3、查看配置信息

git config --list

三、Git使用流程

1 工作区:本地,工作的目录,就是电脑里能看到的目录。
2 暂存区:本地,工作区的更改,提交到暂存区(在暂存区临时存储),一般存放在 .git 目录下的 index 文件(.git/index)中。
3 版本库:本地文件,内容变更记录。工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
在这里插入图片描述

在这里插入图片描述

四、Git常规操作

1、git init # 初始化git仓库(保存代码的地方叫做仓库)

git init #“用来初始化一个空的git本地仓库。执行完上面的命令,当前目录下会自动生成.git隐藏文件夹,该隐藏文件夹就是git版本库”。这样我们才能在使用git命令进行相关的操作

cd 目标文件夹内部  #将已有的文件夹 - 初始化为git仓库
git init
-------------------------------------------------------------------
cd 目标目录  #在指定目录下 - 初始化git仓库
git init 仓库名

注意:.git目录默认隐藏,可以通过命令ls -ah显示

2、仓库用户名/邮箱配置

要往版本库提变更,需要先配置用户
# 全局配置
git config --global user.email "xxx@yy.com"
git config --global user.name "yyy"
# 本地仓库用户名/邮箱配置
git config  user.email "xxx@yy.com"
git config  user.name "zzz"

3、下载Git代码到本地:

git clone [https]

4、git status # 查看状态

  -红色:更改没有被提交到暂存区
  -绿色:更改被提交到暂存区,但是没有被提交到版本库

5、提交到暂存区

 git add a.txt # 把a.txt提交到暂存区  (git add .)
 git add .   # 当前路径下所有更改,提交到暂存区

6、从暂存区提交到版本库(不能从工作区直接提交到版本库)

git commit -m '注释注释一定要加,并且有意义'  # 从暂存区提交到版本库(必须加注释,不加注释提交不上去)

7、推送本地仓库当前分支代码至远程git仓库

git push <远程主机名> <本地分支名>:<远程分支名>

8、将git最新代码拉下来与当前本地分支合并

git pull [https] 

9.删除git仓库指定文件文件或文件夹

dir 查看文件或文件夹
git rm -r --cached 文件或文件夹名 #待删除的文件夹或者文件名

10、回滚(回滚到指定版本)

git reset --hard 版本号

五、Git GUI使用方法

Git还有GUI工具,比较适用小白。
在这里插入图片描述

六、Git创建分支

1、查看分支

git branch  # 查看有哪些分支,绿色表示当前所在分支

2、创建分支

git branch (branchname) #在那个分支上创建分支,目前新分支和所在分支代码一样

3、删除分支

git branch -d (branchname)

4、切换分支

git checkout (branchname)

5 分支合并

git merge 分支名 #现在在dev分支,要把dev分支合并到master分支:先切换到master分支,再执行合并dev分支的命令

6 创建并切换到某个分支(两部并作一步)

git checkout -b 分支名  #检出

7、查看提交历史

git log - 查看历史提交记录。
git blame <file> - 以列表形式查看指定文件的历史修改记录。

七、tag的简单使用

1、打tag

git tag -a 标签名称 -m 附注信息 :直接给当前的提交版本创建一个标签
git tag -a 标签名称 提交版本号 -m 附注信息 :给指定的提交版本创建一个标签

需要说明的是,创建 tag 是基于本地分支的 commit,而且与分支的推送是两回事,就是说分支已经推送到远程了,但是你的 tag 并没有,如果把 tag 推送到远程分支上,需要另外执行 tag 的推送命令

2、查看tag

git tag #直接列出所有的标签
git tag -l #查看本地所有 tag
git tag -l xxxx : 可以根据 xxxx 进行标签的筛选
git ls-remote --tags origin #查看远程所有 tag

3 删除本地仓库tag

git tag -d <tagName>  #删除标签

4 提交

git add .
git commit -m “fixed some bugs”
git tag -a 0.1.3 -m “Release version 0.1.3″

5 推送到远程仓位

默认情况下,git push 命令并不会把标签推送到远程仓库中。因此,必须手动地将本地的标签推送到远程仓库中。

git push origin 标签名称 : 将指定的标签上传到远程仓库
git push origin --tags : 将所有不在远程仓库中的标签上传到远程仓库

6 删除远程仓库的标签

$ git push origin  :regs/tags/标签名称
$ git push origin --delete 标签名称

7、重命名tag

这个本质上是删除掉旧名字 tag ,然后再新建新名字 tag ,然后实现重命名的作用。

如果 tag 只存在本地,那么只需要删除本地的旧名字 tag ,然后新建新名字 tag:

git tag -d <oldTagName>
git tag <newTagName>
git push origin <newTagName> //推送到远程仓库

若已经推送到远程了,那么不仅要删除本地的,还要删除远程的,再重新创建和推送:

git tag -d <oldTagName>
git push origin :<oldTagName>
git tag <newTagName>
git push origin <newTagName> //推送到远程仓库

8、检出标签

检出标签的理解:我想在这个标签的基础上进行其他的开发。其实质就是以标签指定的版本为基础版本,新建一个分支,继续其他的操作。因此,就是新建分支的操作了。

$ git checkout -b 分支名称 标签名称

相关文章:

  • 正点原子嵌入式linux驱动开发——pinctrl和gpio子系统
  • ubuntu 上vscode使用cmake编译运行c++程序
  • 解惑Android Scoped Storage
  • 最多可以摧毁的敌人城堡数目
  • Redis五个使用场景
  • 安全的Sui Move是Web3大规模采用之路的基石
  • Flutter——最详细(CustomScrollView)使用教程
  • 魔行观察》一款免费的品牌/商业地产数据查询平台
  • Python常用视频编辑操作——读取与保存视频、更改帧数、拼接视频、视频语音合并、视频与图像互转等
  • 【学习笔记】RabbitMQ04:延迟队列的原理以及实现代码
  • ChatGPT AutoExpert:通过自定义指令,增强 GPT-4 和 GPT-3.5-Turbo 对话模型的功能
  • 28栈与队列-单调队列
  • Element UI打开表单自动验证问题的解决
  • 怎么把flac音频变为mp3?
  • 微信小程序使用本地存储方法
  • 【yolov5目标检测】使用yolov5训练自己的训练集
  • 小程序原生代码转uniapp
  • C++对象模型(13)-- 构造函数语义学:析构函数
  • Hadoop3教程(三):HDFS文件系统常用命令一览
  • 基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习高级应用
  • 下达专项资金、党政主官田间调研……全国多地力保夏粮稳收
  • 英国地方选举结果揭晓,工党保守党皆受挫
  • 李在明涉嫌违反《公职选举法》案将于15日进行首次重审公审
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 神舟十九号航天员乘组平安抵京