一文搞懂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凭据,可对普通凭据里之前输入的用户名密码进行编辑和删除操作

 

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

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

相关文章

玩转大数据9:机器学习在大数据分析中的应用

1. 引言 在大数据时代,机器学习在大数据分析中扮演着至关重要的角色。本文介绍机器学习在大数据分析中的重要性和应用场景,并探讨Java中可用的机器学习库和框架。 2. 机器学习的基本概念和算法 机器学习是当今人工智能领域的一个关键分支,…

智慧园区可视化综合管理平台建设方案,智能化、数字化才是关键

园区作为城市的基本单元,是经济发展的重要载体。随着我国经济的快速发展,各类工业园区、办公园区等园区的规划建设也越来越多。伴随着互联网新兴技术的发展和应用,智慧园区已成为当今城市规划和社会发展的关注焦点,今天我们来介绍…

实战oj题——设计循环队列

前言:今天我们来实现循环队列。 各个接口的实现 创建队列: typedef struct {int* a;int front;int back;int k;} MyCircularQueue;我们的队列是由数组储存的,所以我们队列中得定义一个数组,front代表我们的首元素,ba…

腾讯云轻量应用服务器怎么安装BT宝塔面板?

腾讯云轻量应用服务器宝塔面板怎么用?轻量应用服务器如何安装宝塔面板?在镜像中选择宝塔Linux面板腾讯云专享版,在轻量服务器防火墙中开启8888端口号,然后远程连接到轻量服务器执行宝塔面板账号密码查询命令,最后登录和…

Gti GUI添加标签

通过Git Gui打开项目,通过菜单打开分支历史,我这里是名为"develop"的分支 选中需要打标签的commit,右键-Create tag即可 但貌似无法删除标签,只能通过git bash

卡码网语言基础课 | 20. 排队取奶茶

目录 一、 队列的基本认识 二、 队列的操作 2.1 引入头文件 2.2 创建队列 2.3 队列的常见操作 三、 解题 通过本次练习,将会学习到以下C知识点: 队列的基本概念(队头、队尾)和特点(先入先出)入队、出队…

Android : Xui- RecyclerView+BannerLayout 轮播图简单应用

实例图&#xff1a; 1.引用XUI http://t.csdnimg.cn/Wb4KR 2.创建显示图片布局 banner_item.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"…

【CentOS8】使用 Tomcat 部署 Java Web 项目(使用 sdkman)

文章目录 配置 Tomcat将 Tomcat 启动命令设置为 Linux 自定义服务给 Tomcat 设置管理员账号密码IDEA 打包 Java web 项目 我是使用 sdkman 下载的 jdk 和 tomcat&#xff0c;所以接下来的部署配置都是在 sdkman 构建的环境的。想要知道如何下载 sdkman 可以看看这篇文章 —…

计网实验7

解决&#xff1a;路由器用rip连接&#xff0c;主机通过域名访问&#xff0c;主机之间发送电子邮件 实验步骤 1.搞好部件 2.配好两台主机的ip,掩码&#xff0c;网关 3.连接一下两台主机&#xff0c;由于两台路由器没有连接&#xff0c;所以两台主机也无法连通&#xff0c;丢包率…

价格突然上涨,anzo Capital跟着专业交易者这样做

当交易市场价格突然上涨&#xff0c;让anzo Capital跟着专业交易者&#xff0c;如何操作进行盈利。 我们就以每日BTCUSD价格图为例。锁定交易区用红色突出显示。接下来有一个绿色区域&#xff0c;标志着当时看涨的专业交易者执行的缺口。此外&#xff0c;交易量有所增加&#…

Python实现FA萤火虫优化算法优化XGBoost回归模型(XGBRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法&#xff08;Fire-fly algorithm&#xff0c;FA&#xff09;由剑桥大学Yang于2009年提出 , …

基于yolov2深度学习网络的人员跌倒检测识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 YOLOv2深度学习网络 4.2 人员跌倒检测识别原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off; a…

0基础学java-day15

一、泛型 1 泛型的理解和好处 1.1 看一个需求 【不小心加入其它类型&#xff0c;会导致出现类型转换异常】 package com.hspedu.generic;import java.util.ArrayList;/*** author 林然* version 1.0*/ public class Generic01 {SuppressWarnings("all")public st…

汽车网络安全--ISO\SAE 21434解析(二)

1.风险评估方法 书接上文,我们正式开始对车灯系统的TARA分析,首先回顾下整车关于车灯系统描述: 可以比较肯定的是,我们定义的item为车灯系统,因此可以看到上图中画出了item boundary;同时定义出运行环境,个人理解,这块就是为TARA分析提供足够的环境支撑,不管是直接还…

【keepalived】高可用神器,实现应用的自动主备切换

目录 1.概述 2.配置 3.效果 4.keepalived主备切换原理 5.联系作者 1.概述 什么是keepalived&#xff1a; keepalived是一个基于VRRP协议来实现的服务高可用方案。VRRP协议&#xff0c;即虚拟路由冗余协议&#xff0c;其一开始提出来是为了解决局域网中配置静态网关出现单…

CSS中区分行高,行间距

行高&#xff08;line height&#xff09; —文字占有的实际高度 —使用line-height来设置行高 行高类似于我们上学单线本&#xff0c;单线本是一行一行&#xff0c;线与线之间的距离就是行高&#xff0c;控制文字行与行之间的距离&#xff0c; 网页中的文字实际上也是写在一个…

Flink State 状态原理解析 | 京东物流技术团队

一、Flink State 概念 State 用于记录 Flink 应用在运行过程中&#xff0c;算子的中间计算结果或者元数据信息。运行中的 Flink 应用如果需要上次计算结果进行处理的&#xff0c;则需要使用状态存储中间计算结果。如 Join、窗口聚合场景。 Flink 应用运行中会保存状态信息到 …

IDEA加载阿里Java规范插件

IDEA加载阿里巴巴Java开发手册插件&#xff0c;在写代码的时候会自动扫描代码规范。 1、打开Settings 2、打开Plugins 3、搜索Alibaba Java Code Guidelines&#xff08;XenoAmess TPM&#xff09;插件&#xff0c;点击Install进行安装&#xff0c;然后重启IDE生效。 4、鼠标右…

测试新手百科:Postman简介、安装、入门使用方法详细攻略!

一、Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的&#xff0c;用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网…

显存优化 Trick(gradient_accumulation、gradient_checkpointing、xformers)

目录 Out of MemoryGradient AccumulationGradient CheckpointingXformersDiffusers的显存优化 Out of Memory 先来说下OOM问题&#xff0c;其实也是日常会遇到的情况。模型申请的显存超过了设备实际显存大小&#xff0c;则会报错Out of Memory。一般情况下&#xff0c;batch …