Git介绍和常用命令说明

目录

一、Git概述

1.1 Git是什么

1.2 Git有什么用

1.3 Git仓库介绍

二、Git下载与安装

三、Git代码托管服务(远程仓库)

四、Git常用命令

4.1 设置用户信息

4.2 获取Git仓库

4.2.1 本地初始化Git仓库

4.2.2 从远程仓库克隆

4.3 本地仓库操作

4.4 远程仓库操作

4.5 分支操作

4.6 标签操作


一、Git概述

1.1 Git是什么

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。除了Git,其它的版本管理工具还有SVN、VCS和VSS等。

1.2 Git有什么用
  • 代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本
  • 版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换
  • 多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调
  • 远程备份:Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取

1.3 Git仓库介绍

Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种:

  • 本地仓库:开发人员自己电脑上的 Git 仓库
  • 远程仓库:远程服务器上的 Git 仓库

图片命令说明:

commit:提交命令,将本地文件和版本信息保存到本地仓库;

push:推送命令,将本地仓库文件和版本信息上传到远程仓库

pull:拉取命令,将远程仓库文件和版本信息下载到本地仓库

二、Git下载与安装

下载地址:Git - Downloads,进入后选择对应的系统版本下载。

版本选择:下载时有两类版本可供选择(以Windows系统为例),Standalone Installer和Portable ("thumbdrive edition")版本,两个版本些许区别:

  • 一个是安装版,一个是绿色版。两个下载的都是exe文件,但安装版是需要执行安装过程后得到软件文件;绿色版只是执行解压过程获得软件文件。
  • 安装版本在安装完成后,会自动添加两个右键菜单快捷键,绿色版是不会自动创建,需要自己配置。
  • 安装版在安装过程中可以根据自己需要进行一些配置,绿色版需要手动配置。

具体使用哪个版本可根据情况而定,默认情况下是使用安装版本。

下载完成得到安装文件,直接双击安装即可(一直下一步),安装完成后可以在任意目录下点击鼠标右键,如果能够看到Git GUI Here和Git Bash Here选项则说明安装成功:

Git GUI Here:打开Git 图形界面

Git Bash Here:打开Git 命令行 (下面的Git常用命令都是在命令窗口下执行)

三、Git代码托管服务(远程仓库)

Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。也可以手动利用开源的远程仓库管理系统手动搭建。下面列举一些常用的代码托管服务:

名称

网址

说明

gitHub

GitHub: Let’s build from here · GitHub

一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub

码云

Gitee - 基于 Git 的代码托管和研发协作平台

国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快

GitLab

The DevSecOps Platform | GitLab

一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

BitBucket

Bitbucket | Git solution for teams using Jira

一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

四、Git常用命令

4.1 设置用户信息

当安装Git后首先要做的事情是设置用户名称和email地址,为每次Git提交都会使用该用户信息。在Git 命令行中执行下面命令:

  • 设置用户信息
git config --global user.name "zhangsan"

git config --global user.email "zhangsan@163.com"
  • 查看配置信息
git config --list
4.2 获取Git仓库

在用Git进行代码管理前,首先要获取Git仓库。 获取Git仓库有两种方式:

  • 本地初始化Git仓库
  • 从远程仓库克隆
4.2.1 本地初始化Git仓库

选择任意一个磁盘目录,右键选择 Git Bash Here 选项,打开命令窗口,输入下面的命令

git init

回车执行命令之后,如果能够看到.git文件被创建,则说明Git仓库被创建成功。

4.2.2 从远程仓库克隆

选择任意一个文件夹,右键选择 Git Bash Here 选项,打开命令窗口,输入下面的命令,回车确认之后即可等待下载完成。

git clone 远程仓库地址

4.3 本地仓库操作

本地仓库常用命令如下:

  • git status 查看文件状态
  • git add 将文件的修改加入暂存区
  • git reset 将暂存区的文件取消暂存或者是切换到指定版本
  • git commit 将暂存区的文件修改提交到版本库
  • git log 查看日志

4.4 远程仓库操作

远程仓库常用命令如下:

  • git remote 查看远程仓库
  • git remote add 添加远程仓库
  • git clone 从远程仓库克隆
  • git pull 从远程仓库拉取
  • git push 推送到远程仓库

4.5 分支操作

分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。本地仓库和远程仓库中都有分支,同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init 命令创建本地仓库时默认会创建一个master分支。

分支操作常用命令具体如下:

  • git branch                                     查看分支
  • git branch [name]                       创建分支
  • git checkout [name]                    切换分支
  • git push [shortName] [name]   推送至远程仓库分支
  • git merge [name]                        合并分支

4.6 标签操作

Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。

通常会使用这个功能来标记发布结点(v1.0 、v1.2等)。 例如mybatis-plus的标签:

和标签相关的命令如下:

  • git tag                                              查看标签
  • git tag [name]                                  创建标签
  • git push [shortName] [name]       将标签推送至远程仓库
  • git checkout -b [branch] [name]   检出标签

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/378154.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Spring源码解读!底层原理进阶】【下】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:底层原理高级进阶》 &#x1f680…

Mongodb启动为Windows服务开机自启动

注意:mongodb的安装目录不应有中文,如果有,服务启动的路径会出现乱码,导致找不到对应的文件 1.安装好mongoDB 2.创建data目录,并在其中创建db目录和log目录 3.在log目录中创建mongodb.log文件 4.打开cmd(用…

创建本地yum源并安装tree命令(openEuler-20.03-LTS-SP3)

步骤 1:下载ISO镜像 首先,您需要从提供的URL下载ISO镜像文件: cd /opt wget https://mirrors.dotsrc.org/openeuler/openEuler-20.03-LTS-SP3/ISO/x86_64/openEuler-20.03-LTS-SP3-x86_64-dvd.iso步骤 2:挂载ISO镜像 接下来&am…

简易计算器的制作(函数指针数组的实践)

个人主页(找往期文章包括但不限于本期文章中不懂的知识点): 我要学编程(ಥ_ಥ)-CSDN博客 前期思路(菜单的制作等):利用C语言的分支循环少量的函数知识写一个猜数字的小游戏-CSDN博客 计算器的制作其实与游…

vuecli3 执行 npm run build 打包命令报错:TypeError: file.split is not a function

问题 今天有个项目在打包的时候遇到了一个问题,就是执行 npm run build 命令的时候报错了,如下: 解决 我排查了一下,模拟代码如下:在打包的时候用了 MinChunkSizePlugin const webpack require("webpack"…

2024阿里云GPU服务器租用价格表(包月/按小时/学生价)

阿里云GPU服务器租用价格表包括包年包月价格、一个小时收费以及学生GPU服务器租用费用,阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡,GPU云服务器gn6i可享受3折优惠,阿里云百科aliyunbaike.com分享阿里云GPU服务器…

Docker容器监控-CIG

目录 一、CIG说明 1. CAdvisor 2. InfluxDB 3. Grafana 二、环境搭建 1. 创建目录 2. 编写 docker-compose.yml 3. 检查并运行容器 三、进行测试 1. 查看 influxdb 存储服务 是否能正常访问 2. 查看 cAdvisor 收集服务能否正常访问 3. 查看 grafana 展现服务&#…

波纹扩散效果

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>波纹扩散</title><style>body {disp…

学习 Redis 基础数据结构,不讲虚的。

学习 Redis 基础数据结构&#xff0c;不讲虚的。 一个群友给我发消息&#xff0c;“该学的都学了&#xff0c;怎么就找不到心意的工作&#xff0c;太难了”。 很多在近期找过工作的同学一定都知道了&#xff0c;背诵八股文已经不是找工作的绝对王牌。企业最终要的是可以创造价…

DePIN+GameFi+顶级电竞团队,GAIMIN如何颠覆Web3游戏赛道

DePIN带动互联网进入去中心化时代 自从智能合约和去中心化应用DApp普及之后&#xff0c;越来越多的从业者开始将目光放在区块链对互联网的升级和改造之上&#xff0c;这里主要进行了三类&#xff0c;第一类是通过节点的去中心化来实现的&#xff0c;这样确保了基础设施的分散&a…

双指针专题2 数组元素的目标和

数组元素的目标和 C代码实现: #include<iostream> using namespace std; const int N1000000;int a[N],b[N]; int main(){int n,m,x;cin>>n>>m;cin>>x;for(int i0;i<n;i){cin>>a[i];}for(int j0;j<m;j){cin>>b[j];}for(int i0,jm-1…

Java利用阿里云OSS/本地存储实现文件上传功能

目录 1、简介 2、本地存储 3、阿里云OSS 3.1、准备 3.2、入门 3.3、项目实施 3.4、注意 4、图片删除 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于Java领域学习&#xff0c;擅长web应用开发、数据结构和…

零基础学编程系列,从入门到精通,中文编程开发语言工具下载,编程构件容器件之控制面板构件用法

零基础学编程系列&#xff0c;从入门到精通&#xff0c;中文编程开发语言工具下载&#xff0c;编程构件容器件之控制面板构件用法 一、前言 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载…

vite项目配置根据不同的打包环境使用不同的请求路径VITE_BASE_URL,包括报错解决

vite环境配置可以看官方文档&#xff1a;环境变量和模式 | Vite 官方中文文档 创建环境配置文件 在项目根目录下面创建.env和.env.production文件&#xff0c;.env是开发环境使用的&#xff0c;.env.production是生产环境使用的。 .env文件&#xff1a; # 基本环境 VITE_APP…

敏捷产品是双轨开发而非双轨制

长话短说&#xff1a; 如果你以前听说过“双轨开发”这个术语&#xff0c;本文将解释它的来源和含义。以下是要点 开发工作侧重于可预测的结果和可保证的质量 探索工作侧重于快速学习和快速验证 探索和发展被可视化为两条轨道&#xff0c;因为这是两种工作&#xff0c;两种思…

Leetcode3020. 子集中元素的最大数量

Every day a Leetcode 题目来源&#xff1a;3020. 子集中元素的最大数量 解法1&#xff1a;哈希 枚举 用一个哈希表统计数组 nums 中的元素及其出现次数。 暴力枚举数组中的数&#xff0c;作为 x&#xff0c;然后不断看 x2,x4,⋯ 在数组中的个数。直到个数不足 2 个为止&a…

微信小程序新手入门教程四:样式设计

WXSS (WeiXin Style Sheets)是一套样式语言&#xff0c;用于描述 WXML 的组件样式&#xff0c;决定了 WXML 的组件会怎么显示。 WXSS 具有 CSS 大部分特性&#xff0c;同时为了更适合开发微信小程序&#xff0c;WXSS 对 CSS 进行了扩充以及修改。与 CSS 相比&#xff0c;WXSS …

Unity AnimationRigging无法修改权重?

个人理解&#xff0c;已解决无法修改权重的问题: unity自带的动画系统是在FixUpdate和Update之后LateUpdate之前执行&#xff0c;如果在这FixedUpdate或Update函数内更新AnimationRigging内的权重后&#xff0c;内部动画系统会覆盖权重的修改&#xff0c;导致无法正确更新&…

网神 SecGate 3600 防火墙 route_ispinfo_import_save 文件上传漏洞复现

0x01 产品简介 网神SecGate 3600防火墙是基于状态检测包过滤和应用级代理的复合型硬件防火墙,是专门面向大中型企业、政府、军队、高校等用户开发的新一代专业防火墙设备,支持外部攻击防范、内网安全、网络访问权限控制、网络流量监控和带宽管理、动态路由、网页内容过滤、邮…

【开源】JAVA+Vue.js实现社区买菜系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1.2 菜品分类模块2.1.3 菜品档案模块2.1.4 菜品订单模块2.1.5 菜品收藏模块2.1.6 收货地址模块 2.2 可行性分析2.3 用例分析2.4 实体类设计2.4.1 菜品分类模块2.4.2 菜品档案模块2.4.3…
最新文章