Git快速入门

Git

  • 1、Git概述
    • Git简介
    • Git下载与安装
  • 2、Git代码托管服务
    • 常用的Git代码托管服务
    • 使用码云托管服务
  • 3、Git常用命令
    • Git全局设置
    • 获取Git仓库
    • 工作区、暂存区、版本库概念
    • 本地仓库常用命令
    • 远程仓库操作命令
    • 分支操作
    • 标签操作
  • 4、在IDEA中使用Git
    • 在IDEA中配置Git
    • 获取Git仓库
    • 本地仓库操作
    • 远程仓库操作
    • 分支操作

1、Git概述

Git简介

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

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

在这里插入图片描述

commit: 提交,将本地文件和版本信息保存到本地仓库
push: 推送,将本地仓库文件和版本信息上传到远程仓库
pull: 拉取,将远程仓库文件版本信息下载到本地仓库

Git下载与安装

  • 官网下载
  • 镜像下载
    在这里插入图片描述
  • 开始安装
    1. 这里选择安装的位置
      在这里插入图片描述
    2. 然后剩下的步骤全部默认下一步即可
      在这里插入图片描述
  • 安装完成后再任意目录点击鼠标右键,如果能看到如下菜单则表示安装成功
    • Git Gui Here:打开Git图形界面
    • Git Bash Here:打开Git命令行
      在这里插入图片描述

2、Git代码托管服务

常用的Git代码托管服务

Git中存在两种类型的仓库,即本地仓库远程仓库。那么我们如何搭建Git远程仓库呢?
我们可以借助互联网上的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等

  • GitHub:是一个面向开源及私有软件项目托管平台,因为只支持Git作为唯一的版本格式进行托管,故名GitHub
  • 码云:是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
  • GitLab:是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务
  • BitBucket:是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账号

使用码云托管服务

  • 使用码云的操作流程如下:
    1. 注册码云账号
      在这里插入图片描述

    2. 登录码云
      在这里插入图片描述

    3. 创建远程仓库
      在这里插入图片描述
      在这里插入图片描述

    4. 邀请其他用户成为仓库成员
      在这里插入图片描述

3、Git常用命令

Git全局设置

当安装Git后首先要做的事情就是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。

在Git命令行中执行下面命令:

  • 设置用户信息(user.name和user.email并不是我们在码云注册账号使用的用户名和邮箱,此处可以任意设置):

    • git config --global user.name “xiaowu”
    • git config --global user.email “hello@xiaowu.cn”
  • 查看配置信息

    • git config --list

    在这里插入图片描述

获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得Git仓库

获取Git仓库通常有两种方式:

  • 在本地初始化一个Git仓库

    1. 在任意目录下创建一个空目录作为我们的本地Git仓库
    2. 进入这个目录中,点击右键打开Git bash窗口
    3. 执行命令 git init
      在这里插入图片描述
      在这里插入图片描述
  • 从远程仓库克隆

    1. 在任意目录下创建一个空目录作为我们的本地Git仓库
    2. 进入这个目录中,点击右键打开Git bash窗口
    3. 执行命令 git clone 远程Git仓库地址
      在这里插入图片描述
      在这里插入图片描述

工作区、暂存区、版本库概念

版本库: 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息,日志信息和文件版本信息等

工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码

  • 工作区中的文件存在两种状态:
    • untracked:未跟踪(未被纳入版本控制)
    • trackeed:已跟踪(被纳入版本控制)
      1. Unmodified:未修改状态
      2. Modified:已修改状态
      3. Staged:已暂存状态

暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

本地仓库常用命令

  • git status —— 查看文件状态
    在这里插入图片描述

  • git add —— 将文件的修改加入暂存区
    在这里插入图片描述

  • git reset —— 将暂存区的文件取消暂存或者是切换到指定版本
    在这里插入图片描述
    在这里插入图片描述

  • git commit —— 将暂存区的文件修改提交到版本库
    在这里插入图片描述

  • git log —— 查看日志
    在这里插入图片描述

远程仓库操作命令

  • git remote —— 查看远程仓库
    在这里插入图片描述

  • git remote add 远程仓库别名 —— 添加远程仓库
    在这里插入图片描述

  • git clone 远程地址 —— 从远程仓库克隆

  • git pull 远程仓库别名 分支 —— 从远程仓库拉取
    在这里插入图片描述

    • 如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件时需要在git pull 命令后面加入参数 --allow-unrelated-histories
      在这里插入图片描述
  • git push —— 推送远程仓库
    在这里插入图片描述

分支操作

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

  • 查看分支

    • git branch —— 查看所有本地分支在这里插入图片描述
    • git branch -r —— 查看所有远程分支
      在这里插入图片描述
    • git branch -a —— 查看所有本地分支和所有远程分支
      在这里插入图片描述
  • git branch 分支名称 —— 创建分支
    在这里插入图片描述

  • git checkout 分支名称 —— 切换分支
    在这里插入图片描述

  • git push 远程仓库别名 分支名称 —— 推送至远程仓库分支
    在这里插入图片描述

  • git merge 分支名称 —— 分支合并

    • 如果合并冲突在手动修改完文件以后提交的远程仓库在末尾加上 -i
      在这里插入图片描述

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布节点(v1.0、v1.2等)。

  • git tag —— 列出已有的标签
    在这里插入图片描述

  • git tag 标签名 —— 创建标签
    在这里插入图片描述

  • git push 远程仓库别名 标签名 —— 将标签推送至远程仓库
    在这里插入图片描述

  • git checkout -b 分支名 标签名 —— 检出标签
    在这里插入图片描述

4、在IDEA中使用Git

在IDEA中配置Git

在IDEA中使用Git,本质上还是使用本地安装的Git软件,所以需要再IDEA中配置Git
在这里插入图片描述

获取Git仓库

在IDEA中使用Git获取仓库有两种方式:

  • 本地初始化仓库
    在这里插入图片描述
    在这里插入图片描述

  • 从远程仓库克隆

    • 方式一:打开项目连接远程仓库
      在这里插入图片描述
      在这里插入图片描述
    • 方式二:项目未打开连接远程仓库
      在这里插入图片描述
      在这里插入图片描述

本地仓库操作

  • 将文件加入暂存区

    • 方式一:创建文件的时候加入暂存区
      在这里插入图片描述
    • 方式二:文件创建完成后加入暂存区
      在这里插入图片描述
  • 将暂存区的文件提交到版本库
    在这里插入图片描述
    在这里插入图片描述

  • 查看日志
    在这里插入图片描述

远程仓库操作

  • 查看远程仓库
    在这里插入图片描述
    在这里插入图片描述
  • 添加远程仓库
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 推送至远程仓库
    在这里插入图片描述
  • 拉取文件
    在这里插入图片描述

分支操作

  • 查看分支
    在这里插入图片描述
    在这里插入图片描述
  • 创建分支
    在这里插入图片描述
  • 切换分支
    在这里插入图片描述
  • 将分支推送至远程
    在这里插入图片描述
  • 合并分支
    在这里插入图片描述

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

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

相关文章

OpenAI Gym入门与实操(2)

本文内容参考: Getting Started With OpenAI Gym | Paperspace Blog, 【强化学习】 OpenAI Gym入门:基础组件(Getting Started With OpenAI Gym: The Basic Building Blocks)_iioSnail的博客-CSDN博客 3. 环境&#…

Blender导出gltf格式ThreeJS不显示问题-

1. 检查代码 import { GLTFLoader } from three/addons/loaders/GLTFLoader.js; 。。。。。。initRoomGltf() {const _this this;// const loader new OBJLoader();const loader new GLTFLoader();// load a resourceloader.load(// resource URL// this.commonFunc.getPat…

vcruntime140_1.dll无法继续执行代码,有哪些方法可以解决?

关于vcruntime140_1.dll无法继续执行代码的错误问题,其实还是非常的普遍的,这属于经常丢失的dll文件之一,当然还有一个vcruntime140.dll也是非常容易丢失的,本文下面会介绍到这两种有啥区别,以及怎么去修复这些文件丢失…

spring复习:(4)AbstractEnvironment

该类中指定了激活profile属性的名称(spring.profiles.active),默认profile属性的名称(spring.profiles.default),以及默认的profile的名字(default)。

【Leetcode】19.删除链表的倒数第 N 个结点

一、题目 1、题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5]示例2: 输入:head = [1], n = 1 输出:[]示例3: 输入:head = [1,2], n = 1 输出:[1]提示: 链表中结点的数目为 sz…

【剑指offer专项突破版】二叉树篇——“C“

文章目录 前言一、二叉树剪枝题目分析思路分析代码 二、序列化与反序列化二叉树题目分析思路分析代码 三、从根节点到叶节点的路径数字之和题目分析思路分析代码 四、 向下的路径节点之和题目分析思路分析思路①代码思路②代码 五、节点之和最大的路径题目分析思路分析代码 六、…

XSS注入——DOM型XSS

DOM型xss XSS根据恶意脚本的传递方式可以分为3种,分别为反射型、存储型、DOM型,前面两种恶意脚本都会经过服务器端然后返回给客户端,相对DOM型来说比较好检测与防御,而DOM型不用将恶意脚本传输到服务器在返回客户端,这…

Elasticsearch 地理空间计算

地理位1置搜索:使用查询API进行搜索 1、Geo Distance Query Geo Distance Query是在给定的距离范围内搜索数据的查询。例如,可以搜索给定地理位置附近指定距离内的所有文档。 GET /my_index/_search {"query": {"bool" : {"fi…

9、Redis集群(cluster)

是什么 Redis集群是一个提供在多个Redis节点间共享数据的程序集,Redis集群可以支持多个master 能干嘛 Redis集群支持多个master,每个master又可以挂载多个slave 读写分离 支持数据的高可用 支持海量数据的读写存储操作 由于Cluster自带Sentinel的故障转…

软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续)

目录 掌握的知识点 创建型 结构型 行为型 掌握的知识点 设计模式分为哪3类 每一类包含哪些具体的设计模式 创建型 创建型模式是对对象实例化过程的抽象,他通过抽象类所定义的接口,封装了系统中对象如何创建、组合等信息。 创建型模式主要用于创建对…

Buildroot 取消默认QT桌面-迅为RK3588开发板

本小节将讲解如何取消掉默认的 qt 桌面。 首先对开发板进行上电,开发板正常启动后,使用命令“cd /etc/init.d”进入到/etc/init.d 目录 下,然后使用以下命令对开机自启动脚本 rcS 进行查看,如下图所示: vi rcS 从上…

视觉SLAM十四讲需要提前知道的数学基础知识

学习视觉SLAM十四讲之前的必备数学基础知识 1. 正交矩阵2. 线性关系3. 求矩阵的逆4. 叉乘5.反对称矩阵6. 复数 1. 正交矩阵 定义: 设n阶矩阵A满足AATATAI ,则称A为正交矩阵 性质: 以下为手写,从小字丑,请多担待。。 …

红色通信史(一):红色通信的萌芽

1927年4月和7月,蒋介石、汪精卫分别在上海、武汉发动“四一二”、“七一五”反革命政变,实行“清党”、“分共”,大肆逮捕和杀害中共党员,制造“白色恐怖”。 面对敌人的残酷镇压,我党决定创建自己的革命军队&#xff…

元宇宙装备展正式拉开帷幕,深眸科技CEO周礼出席产业论坛发表主题演讲

6月27日,一场令人期待已久的工业元宇宙盛会在昆山国际会展中心拉开帷幕,大会由昆山市人民政府主办,昆山市工业和信息化局、赛迪工业和信息化研究院集团(苏州)有限公司联合承办,并得到了十数家单位的支持&am…

计算机网络那些事之 MTU 篇 pt.2

哈喽大家好,我是咸鱼 在《计算机网络那些事之 MTU 篇 》中,咸鱼跟大家介绍了 MTU 是指数据链路层能够传输的最大数据帧的大小 如果发送的数据大于 MTU,则就会进行分片操作(Fragment);如果小于 MTU&#x…

Git安装及使用图文教程详解(附带安装文件)

Git安装及使用图文教程详解(附带安装文件) 原创:丶无殇  2023-06-26 文章目录 下载安装下载安装验证安装成功版本查看 基础指令Git常用指令【首次必须】设置签名用户、邮箱1.初始化本地仓库2.查看本地库状态3.创建文件4.添加文件至暂存区5…

maven打包本地jar到项目中

在maven项目中&#xff0c;我们的项目依赖一般取自local的repository或者远程的repository&#xff0c;比如下面这个配置&#xff1a; maven <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> &l…

C++11新特性(5):多线程

学习C11&#xff0c;根据网上资料的知识总结。 1. 线程创建 1.1 初始函数 #include <iostream> #include <thread> void myfunc(int &a) {cout << "a in myfunc:" << a << endl; }int main() {int a 1;std::thread mythread(…

C1. Make Nonzero Sum (easy version) - 思维

分析&#xff1a; n一但是奇数就一定不行&#xff0c;因为无论有多少-1和1都会导致最后的和是-1或1&#xff0c;每次断开一个区间会改变2&#xff0c;所以一定不行&#xff0c;直接输出-1。 其次&#xff0c;如果数组满足题意也可以一个一个输出每一个下标&#xff0c;遍历数组…

flask socket版本问题

1、版本问题 问题解决 根据官方给定的兼容版本&#xff0c;从socket.io官网CDN下载最新的4.4.1版本js文件&#xff0c;https://cdn.socket.io/。 python-engineio使用版本。需要更新的javascript.socketio包&#xff0c;具体可对照官方文档Requirements部分末尾 https://flask-…