一文搞懂Git版本控制系统

1. Git简介

当涉及到软件开发或协作时,版本管理是一个不可或缺的概念。无论你是一个独立开发者还是一个团队成员,都会遇到需要跟踪和管理代码变更的情况。这时候,Git作为一个强大而流行的版本控制系统就发挥着重要的作用。

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助社区管理Linux内核而开发的一个开放源码的版本控制软件。2005年7月份,Linus花了两周时间自己用C写了第一个版本分布式版本控制系统。

Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper。

Git是目前世界上最先进的(没有之一)分布式版本控制系统

Add:这里的Add不只是新增文件,包含所有对文件的操作(新增、修改、删除)。同样,Commit也是如此。

Push:将所有的Commit推送给服务器

Pull:将服务器新的Commit(可能是别人提交的,或者自己另一台设备提交的)拉取下来

 

2. 下载及安装

git官方下载地址:Git - Downloads,下载64位安装版。

如果下载速度慢,建议将下载链接复制到迅雷进行下载。

3. 命令行操作

3.1. 全局设置

配置(config)用户名和邮箱(git仓库网站上的注册邮箱)

git config --global user.name "XXX"
git config --global user.email "XXX@163.com"

查看现有配置

git config --list 

 

3.2. 初始化仓库

创建新的本地仓库,首先创建一个目录git_test,然后在控制台进入该目录,执行初始化(init

git init             # 在指定目录初始化git本地仓库

 可以通过如下命令查看仓库当前状态

git status

3.3. 提交代码

目录git_test中创建一个文件README.md,提交(commit)该文件

git add README.md            # 或 git add .
git commit -m "第一次提交"    # -m 后的提交日志必须要写

此时,我们的代码就拥有了历史记录,可以在本地随时回退到历史的版本。不要任何互联网操作。

可以使用git add .将未被版本管理的文件纳入到版本管理系统。

3.4. 查看提交历史

git log

3.5. 推送代码

如果需要永久保存代码,或者想用其他电脑获取代码,或分享给同事进行共同开发,才需要联网,把代码推送到一个公共网络的代码仓库里。

将本地仓库与远程仓库git_test_first关联起来,随后推送(push)过去

git remote add origin https://gitee.com/XXX/git_test_01.git
git push -u origin "master"

此时,我们的代码在远程服务器(名字叫origin)也有一个永久的备份了

本地可以添加多个远程仓库,如果只有一个,名字建议使用origin

可以通过git remote -v查看有哪些远程仓库链接

 

 

3.6. 拉取合并代码

如果远程仓库的代码被别人修改并推送了,或者自己在其他电脑上修改推送了,则可以把那些修改拉(pull)下来,并与本地的代码进行合并。

git pull

3.7. 克隆仓库

我们可以去开源平台上clone别人的代码,同样的,如果你的代码仓库是公开的,则别人可以下载到你的代码。

git clone https://gitee.com/XXX/git_test_01.git

 clone的地址使用HTTPS协议的:

3.8. 配置忽略文件

有一些临时文件不需要被提交,例如windows下的.swp,苹果下的.DS_Store。则可以通过在根目录的.gitignore文件中添加描述,对这些文件进行忽略

# 忽略所有.swp结尾的文件
*.swp

# 忽略指定文件
打包.zip

# 忽略目录
.idea/

 

3.9. 凭据管理

向git管理网站push代码时,首次需要输入账号和密码,后边会自动保存,如果需要查看、修改、删除。可打开Windows凭据管理。

  1. 点开始按钮(按下Windows键),搜索“凭据管理器”

2. 点击Windows凭据,可对普通凭据里之前输入的用户名密码进行编辑和删除操作

 

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

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

相关文章

wait notify

文章目录 1. API 介绍2. 怎么使用wait、notify2.1 sleep 和 wait 的区别2.2 sleep 和 wait 的使用模板 1. API 介绍 都属于 Object 对象的方法。必须获得此对象的锁,才能调用这几个方法,只有重量级锁才能调用wait、notify obj.wait() 让进入 object 监…

ROS小练习——话题发布

目录 一、话题与消息获取 1、话题 2、消息 二、代码编写 1、C 2、python 三、编译运行 一、话题与消息获取 打开小乌龟案例 1、话题 rqt_graph rostopic list 2、消息 获取消息类型: rostopic type /turtle1/cmd_vel 获取消息格式: rosmsg info geometry_msgs/Twi…

JAVA IO:NIO

1.阻塞 IO 模型 ​ 最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出 CPU。当…

做亚马逊需要IP代理吗?需要纯净度高的吗?

做亚马逊跨境电商的老玩家都知道,代理IP的作用不容小觑。通过代理IP,跨境电商卖家可以进行深入的市场研究,获取关键的数据分析,助力业务决策。让卖家能够安全轻松管理不同地区的账户,轻松防关联,无缝对接多…

国内AI翘楚,看看有没有你心动的offer?

科技创新争占高地,AI领域各显神通。从一战成名的阿尔法狗到引起轩然大波的ChatGPT,我们早已卷入了一场没有硝烟的革命。前方世人看到的科技日新日异、岁月静好,后方是各大企业的绞尽脑汁、争先恐后。人工智能时代,AI是挡不住的时代…

草柴返利APP领淘宝天猫优惠券拿购物返利 淘宝天猫订单如何隐藏删除订单记录?

草柴返利APP领淘宝天猫优惠券拿购物返利 手机安装「草柴」返利APP,复制要购买的商品链接到草柴,查询该商品淘宝天猫优惠券及购物返利,确认收货后到草柴返利APP提取返利; 淘宝天猫订单如何隐藏删除订单记录? 1、打开手…

035.Python面向对象_三大特性_封装、继承、多态

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

Linux横向移动

Linux横向移动 主机存活探测 shell for i in 192.168.111.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i is alived; fi; done 或者 for k in $( seq 1 255);do ping -c 1 192.168.1.$k|grep "ttl"|awk -F "[ :]" {print $4}; d…

现代雷达车载应用——第1章 雷达简介

“雷达”一词代表无线电探测和测距。雷达是一种电磁系统,用于探测、定位、跟踪和识别一定区域内的不同物体。雷达向目标方向发射电磁能量,以观察目标的回波。目标可以是船只、飞机、天体、汽车等。在早期,雷达系统由于体积庞大,成…

MATLAB Simulink +STM32硬件在环 (HIL)实现例程测试

MATLAB Simulink STM32硬件在环 (HIL)实现例程测试 📍相关篇《STM32CubeMxMATLAB Simulink点灯程序》✨本例程没有使用到STM32CubeMX来创建工程(在Simulink 中不是选择的STM32xxxbased类型的)。 🔖STM32xxx…

代码随想Day24 | 回溯法模板、77. 组合

理论基础 回溯法和递归不可分割,回溯法是一种穷举的方法,通常需要剪枝来降低复杂度。回溯法有一个选择并退回的过程,可以抽象为树结构,回溯法的模板如下: void backtracking(参数) {if (终止条件) {存放结果;return;}…

【数据结构】——二叉树简答题模板

目录 一、树和二叉树的概念(一)二叉树的定义和性质(二)树和二叉树的区别 二、完全二叉树和满二叉树三、二叉树的遍历(一)由序列确定二叉树(二)不同遍历序列的关系 四、二叉树的性质&…

在Vivado 仿真器中搭建UVM验证环境(不需要联合modelsim)

Vivado 集成设计环境支持将通用验证方法学 (UVM) 应用于 Vivado 仿真器。Vivado 提供了预编译的 UVM V1.2 库。 (1)在 Vivado 2019.2 中创建新 RTL 工程。 (2)单击“添加目录 (Add Directories)”以将“src”和“verif”目录添加…

【LeetCode】每日一题 2023_12_3 可获得的最大点数(前缀和/滑动窗口/贪心)

文章目录 刷题前唠嗑题目:可获得的最大点数题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode?启动!!! 题目:可获得的最大点数 题目链接:1423. 可获得的最大点数 题目描述 代码与解题思路 …

Tuxera NTFS2024安装包下载教程

在听到小凡的电话说“Tuxera NTFS for Mac软件安装失败,怎么办”的时候,小编心里真像有一万头草泥马在奔腾——苹果软件还能安装失败!? 挥手把一万头草泥马赶走,脑补着苹果软件的安装,小编对着电话吼道&am…

【JavaEE进阶】 Spring 的创建和使⽤

文章目录 🌴前言🎋创建 Spring 项⽬🚩创建⼀个 Maven 项⽬🚩添加 Spring 框架⽀持🚩添加启动类 🌳存储 Bean 对象🚩创建Bean🚩将 Bean 注册到容器 🌲获取并使⽤ Bean 对象…

【头歌系统数据库实验】实验6 SQL的多表查询-2

目录 第1关:查询每个选手的信息及其提交的解答信息,没做题的选手不显示 第2关:查询做了1001题且耗时大于500(time)的选手信息 第3关:查询所有选手信息及其提交的解答信息,没做题的选手也要显…

nodeJS爬虫-爬取虎嗅新闻

1.安装依赖库到本地,需要的库有:安装方法见Node.js笔记说明 const superagent require(superagent); const cheerio require(cheerio); const async require(async); const fs require(fs); const url require(url); const request require(reques…

JVM 类加载机制(七)

1.加载,验证,准备,解析,初始化 ​ JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 1.1. 加载 ​ 加载是类加…

【laBVIEW学习】4.声音播放,自定义图标,滚动条设置,保存参数以及恢复参数

一。声音播放(报错,未实现) 1.报错4810 2.解决方法: 暂时未解决。 二。图片修改 1.目标:灯泡---》自定义灯泡 2.步骤: 1.右键点击--》自定义运行 表示可以制作自定义类型 2.右键--》打开自定义类型 这样就…