【Git】篇一

news2024/11/25 12:42:12

文章目录

  • 一、Git概述
    • 1、版本控制器的方式
    • 2、Git的工作流程图
  • 二、Git的安装与常用命令
    • 1、Git环境安装
    • 2、Git环境基本配置
    • 3、获取本地仓库
    • 4、基础操作指令
  • 三、分支

一、Git概述

开发中,代码备份、代码还原回滚、追溯、协同开发等场景必不可少,由此,版本控制工具诞生。

1、版本控制器的方式

  • 集中式版本控制工具
  • 分布式版本控制工具

集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人工作时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。代表是:SVN和CVS。
在这里插入图片描述

分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。代表:Git。
在这里插入图片描述

注意:

Git是分布式的,不需要有中心服务器,我们使用Git并且有个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一样的。我们可以把它当做一个开发者的pc就可以,它就是为了大家代码容易交流不关机用的。没有它大家一样可以工作,只不过“交换”修改不方便而已。

2、Git的工作流程图

在这里插入图片描述

  • clone(克隆): 从远程仓库中克隆代码到本地仓库
  • checkout (检出):从本地仓库中检出一个仓库分支到工作区然后进行修订
  • add(添加): 在提交前先将代码提交到暂存区
  • commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
  • fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
  • pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge
  • push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

二、Git的安装与常用命令

1、Git环境安装

  • 下载地址: https://git-scm.com/download
    在这里插入图片描述
  • 下载后得到Git-version.exe文件
    在这里插入图片描述
  • 双击exe文件,安装Git,在桌面右键能看到两个Git的菜单即安装成功
    在这里插入图片描述

2、Git环境基本配置

打卡Git Bash配置用户信息

# 设置用户名
git config --global user.name "llg"
git config --global user.email "llg@163.com"
# 查看配置信息
git config --global user.name
git config --global user.email

对于参数长但又常用的指令,使用别名:

# 在用户目录下新建.bashrc文件
touch ~/.bashrc

# Vi编辑文件,输入下面内容

#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al

Git Bash乱码时,先执行

git config --global core.quotepath false

再在${git_home}/etc/bash.bashrc 文件最后加入下面两行

export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

3、获取本地仓库

  • 在电脑的任意位置创建一个空目录(例如D:\Git\my-git)作为本地Git仓库
    在这里插入图片描述

  • 进入这个目录中,点击右键打开Git bash窗口

  • 执行命令git init初始化当前目录为一个git仓库
    在这里插入图片描述

  • 创建成功后可在文件夹下看到隐藏的.git目录

4、基础操作指令

在这里插入图片描述
对工作目录中的代码文件进行增删改,使用指令控制其状态:

# 查看的修改的状态(暂存区、工作区)
git status 
# 工作区 --> 暂存区
git add 单个文件名
# 将所有修改加入暂存区
git add . 
# 暂存区 --> 本地仓库
# 提交暂存区内容到本地仓库的当前分支
git commit -m '注释内容'
# 查看提交代码文件的日志记录
git log [option]
# 参数
 --all 显示所有分支
 --pretty=oneline 将提交信息显示为一行
 --abbrev-commit 使得输出的commitId更简短
 --graph 以图的形式显示
# 版本回滚
# 提交号通过git log查看
git reset --hard commitID
# 已经删除的提交记录号
git reflog
# 添加文件至忽略列表
# 有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表,如日志文件,或者编译过程中创建的临时文件
# 在工作目录,创建gitignore 的文件(文件名称固定)
touch gitignore
# gitignore 的文件示例
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf

三、分支

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

特征可视化技术(CAM)

https://zhuanlan.zhihu.com/p/269702192 CAM技术可以帮助我们理解CNN在图像中寻找目标对象的过程,并且可以用于可视化CNN的中间层特征,以及对图像分类结果的解释和可视化。CAM技术的实现比较简单,可以使用常用的深度学习框架如PyTorch和Te…

【C++】模板进阶——非类型模板参数、模板特化、模板分离编译

目录 1.非类型模板参数array 2.模板的特化2.1概念2.2函数模板特化2.3类模板特化1.全特化2.偏特化3.类模板特化应用示例 3.模拟分离编译3.1什么是分离编译3.2模板的分离编译1.问题:2.原因3.解决方法 4.模板总结 1.非类型模板参数 模板参数分为类型形参 与 非类型形参…

重新思考无边界世界中的网络安全

©网络研究院 在一个越来越不是物理边界而是数字边界的世界里,全球网络安全事件的数量持续上升,公共部门机构面临的挑战也随之增加。 保护组成数据的利害关系比以往任何时候都更加重要。为了抵御这些数字威胁,政府机构正在采用零信任方…

sqlite基础

一.sqlite基础 1.下载与环境配置 从下载地址,点击我 这里下载适合你版本的压缩包 您需要下载 sqlite-tools-win32-*.zip 和 sqlite-dll-win32-*.zip 压缩文件。创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.d…

【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只…

ToLua框架

ToLua 是一个用于在 Unity 中为 Lua 提供 C# 语言绑定的框架。通过 ToLua,你可以方便地将 C# 代码暴露给 Lua 脚本,并在 Lua 脚本中调用 C# 类、方法和属性。 更新流程 原理:使用AssetBundle进行资源的更新,而由于lua运行时才编…

架构设计-分布式ID

一、 分布式ID基础 1.背景 1.为什么要引用分布式主键ID? 比如单机 MySQL 数据库,前期因为业务量不大,只是使用单个数据库存数据,后期发现业务量一下子就增长,单机 MySQL 已经不能满足于现在的数据量,单机…

【实战项目开发技术分享】常用的ROS工具与命令

常用的ROS工具介绍 作为机器人领域最为流行的开源框架之一,ROS(Robot Operating System)提供了丰富的工具来支持机器人的开发和部署。下面是一些常用的ROS工具及其功能的介绍: roscore:roscore是ROS的主要进程,它启动ROS Master节点并协调ROS系统中的所有进程。所有ROS节…

NEFU数据库基本操作实验总结

前言 SQL语言集数据定义、数据操纵、数据查询、数据控制功能于一体。 数据定义:create,drop,alter 数据操纵:增(insert into … ),删(delete from …),改(update … set …) 数据查询:select 数…

如何在 Linux 环境下安装使用 pycharm?介绍一种快捷打开方式

之所以要出这个教程,是想介绍一种更快捷的打开方式。官网上的教程,每次打开都要切换到下载地址,然后输入 ./pycharm.sh 才能运行。 如图,在任意位置打开终端,敲快捷键pc就能打开 pycharm 怎么样,非常方便…

MYSQL进阶01

MYSQL进阶 存储引擎存储引擎的特性MyISAMInnoDBMEMORY 如何选择合适的引擎 存储引擎 MYSQL默认支持多种存储引擎,可以根据用户不同需求选择合适的储存引擎。MYSQL支持的存储引擎包括但不局限于以下几种(MyISAM、InnoDB、MEMORY、MERGE…,创建…

【Leetcode -142.环形链表Ⅱ -143.重排链表】

Leetcode Leetcode -142.环形链表ⅡLeetcode - 143.重排链表 Leetcode -142.环形链表Ⅱ 题目:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 …

CodeRush Ultimate Crack终极版

CodeRush Ultimate Crack终极版 CodeRush Ultimate通过提高生产力,同时消除侵蚀创造力的重复,帮助开发人员在更短的时间内提供更多高质量的功能。它可以帮助您在几秒钟内创建复杂的代码块,并立即扩展代码模板,并在您按逻辑键入、扩…

[架构之路-179]-《软考-系统分析师》-19- 系统可靠性分析与设计 - 故障模型、可靠性模型、可靠性分析

目录 前言: 1 9 . 1 系统可靠性概述 19.1.1 系统故障模型 1. 在信息系统中,故障或错误有如下儿种表现形式: 2. 故障的缘由 3. 故障模型 (1)逻辑电路级的故障 (2) 数据结构级的故障 &a…

spass modeler

课时1:SPSS Modeler 简介 本课时一共分为五个模块,分别是Modeler概述、工具安装、窗口说明以及功能介绍和应用案例。相信通过本课时内容的学习,大家将会对SPSS Modeler有个基础的了解. 在学习本节课内容之前,先来看看本节课我们究…

Wi-Fi (-6) 知识点整理

Wi-Fi - 6 知识点整理 2019年IEEE推出IEEE 802.11ax,WiFi联盟(WFA)称其为WiFi-6 Wi-Fi (Wireless Fidelity) 无线保真,无线兼容性认证 通信技术 商标 商业认证 技术联盟 Wi-Fi 网络基本要素 接入点(Access Point&a…

前端存储二:indexedDB

indexedDB 特点:以域名纬度,浏览器大量结构化数据存储方案,运行在浏览器的非关系型数据库。 大小:不会小于 250MB,支持二进制存储。 接口:异步接口,支持事物机制 这里使用网页脚本生成&#x…

【五一创作】【Simulink】采用延时补偿的三相并网逆变器FCS-MPC

👉 【Simulink】基于FCS-MPC的三相并网逆变器控制 上一篇博客介绍了FCS-MPC的基本操作,并且以三相并网逆变器为控制对象进行了Simulink仿真。 但实际仿真中没有考虑补偿延时。本篇博客将讨论为什么要考虑延时并进行补偿,最后对此仿真验证。 …

参会记录|全国多媒体取证暨第二届多媒体智能安全学术研讨会(MAS‘2023)

前言:2023年4月8日上午,我与实验室的诸位伙伴们共聚浙江杭州西子湖畔的六通宾馆,参加了为期一天半的全国多媒体取证暨第二届多媒体智能安全学术研讨会(MAS’2023)。本届学术研讨会由浙江省自然科学基金委员会资助&…