Git 的使用以及vscode 下git 的使用(一)

1、git 和svn

Git 和 SVN 都是版本控制系统,它们都用于管理代码的版本,但它们之间有一些显著的区别:

  • 分布式 vs 集中式:Git 是一个分布式版本控制系统,这意味着每个开发者都拥有整个代码库的完整副本,并且可以在本地进行提交、分支和合并操作,不需要连接到中央服务器。SVN 是一个集中式版本控制系统,它依赖于一个中心服务器来存储代码库,开发者需要连接到这个服务器才能进行版本控制操作。
  • 离线工作:由于 Git 是分布式的,开发者可以离线工作,即在没有网络连接的情况下进行提交、分支和合并。SVN 在没有连接到中心服务器时,功能会受到限制。
  • 速度:Git 的速度通常比 SVN 快,尤其是在处理大项目和大量文件时,因为 Git 使用了一种称为“快照”的技术,只记录文件的更改,而不是整个文件的新版本。
  • 分支和合并:Git 对分支和合并的支持非常强大,它允许开发者轻松地创建、合并和删除分支。SVN 的分支和合并功能也可用,但通常被认为不如 Git 直观和高效。
  • 历史记录:Git 的历史记录是分布式的,每个开发者的本地副本都包含了完整的历史。SVN 的历史记录则存储在中心服务器上。
  • 安全性:Git 提供了更多的安全特性,如数字签名和加密。SVN 在这方面的支持相对较弱。
  • 社区和使用:Git 在开源软件开发社区中非常流行,是许多开发者首选的版本控制系统。SVN 也有广泛的使用,尤其是在企业环境中。

选择 Git 还是 SVN 取决于你的具体需求和项目的特点。Git 更适合那些需要分布式协作、频繁分支和合并以及快速版本迭代的项目。SVN 对于那些更依赖于集中式控制、简单的访问管理和不需要离线工作的项目可能更适合。

 

 

2.Git 的安装:

        Git安装_giit安装-CSDN博客。

        linux下git的安装与使用_linux 安装git-CSDN博客。

         

3.Git 的使用和原理

模拟和使用。

  1. 克隆 git clone +地址。
  2把远程代码拉到本地,自动创建了两个东西
    (1).origin 远程仓库名 git remote 查看 。
    (2)本地仓库。 生成了一个主干分支  =>  master 分支。git branch


  3.  git 工作区 :本地仓库的代码目录
      git log 查看当前分支的修改记录

  4. git status 会查看工作区已经修改但是未添加到库里面的代码。

  5. 设置信息:
     git config --global user.name 'wang jingbin'
     git config --global user.email 'wnagjingbin@163.com'

  6.修改代码之后:
    git add . 或者添加指定的文件 如git add 01.cpp 等
    git add:将工作区的代码改动,提交到暂存区里面。
    git commit -m "创建暂存区"
    git 本地仓库: git 工作区  ->git add 暂存区里面去 ->git commit 将本地仓库的改动提交到代码分支上了(master)(注意使用
    git 命令需要在.git 同级目录下才可以) --> git push   origin master:master(本地名称和远程名称一样 可以简写为
    git push origin master)  将本地仓库代码push 到远程代码分支。


  另外一个人可以使用 git pull 可以拉取更新后的代码。
git checkout  分支名 切换分支。

 

                                git 的使用原理图

 


  7.回退操作。

     (1)在添加git add . 之前:使用git checkout -- .  (fileName) 实际就是用本地仓库的代码,把当前工作区的覆盖掉。

     (2)在git add . 之后,已经把工作改动添加到暂存区了,但是在git commit 之前:使用:
      git reset HEAD (全部或者某个文件)
      可以取消暂存区域的修改。
     (3)在远程之前,在git commit -m  "" 之后。使用
       git reset --hard id(commit_id)
      每个 commit 有一个head 指针,移动了head 指针。

      git reflog 查看之前的操作。
    (4)已经通过git push origin master 了。
      方法一:git pull 拉下来最新代码,之后再重新修改更新

      方法二:在本地仓库找到修改之前的(git reset --hard id),修改重新提交。(直接修改不行,只有本地仓库领先于
      远程仓库才可以 git push origin master)。
      需要强制 git push origin master -f

                                                 git 原理图

4.vscode 下使用git

(1)当年打开本地包含.git 的文件时候,vscode git 自动打开。

(2)changes 相当于 git status 操作,查看当前哪些文件做了修改,

 

(3)同时打开会显示两份文件修改亲啊后的对比和区别

 

这里Stage Changes 相当于git add . 操作,把工作区添加到暂存区

 

添添加到本地master 分支上,相当于git commit -m ""。

 点击会让你输入更信息 相当于git commit -m "" 引号内的信息。

 

(4)点击commit

注意此时会有一个问题,导致commit 一直再旋转,加到本地。

打开设置 -》settings -> 搜索 use editor ->找到use editor as commit 取消勾选。即可。

 

 (5) 同步到gitee 或者github 远端仓库

即可 ,当然第一次需要用户名称和密码或者设置了ssh 密令,字节输入一下输入一下就好。

(6) 验证 登录到字节的gitee 或者github 查看文件是否更新。

 

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

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

相关文章

计算机网络 --- 【2】计算机网络的组成、功能

目录 一、计算机网络的组成 1.1 从组成部分看 1.2 从工作方式看 1.3 从逻辑功能看 1.4 总结 二、计算机网络的功能 2.1 数据通信 2.2 资源共享​编辑 2.3 分布式处理 2.4 提高可靠性 2.5 负载均衡 一、计算机网络的组成 1.1 从组成部分看 我们举例分析计算机网络从…

python求两条曲线的边界线

问题描述: 已知两个平面曲线点集,一个取自yx**2-2,x的区间为[-4,4],此点集存在列表X1,Y1中,另外一个取自y-2*x,x的区间为[-5,5],此点集存在列表X2,Y2中,两条曲线将平面分成几个部分,现在要求两…

若依框架登录鉴权详解(动态路由)

若依框架登录鉴权:1.获取token(过期在响应拦截器中实现),2.基于RBAC模型获取用户、角色和权限信息(在路由前置守卫),3.根据用户权限动态生成(从字符串->组件,根据permission添加动…

NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现

0x01 产品简介 NUUO网络视频录像机(Network Video Recorder,简称NVR)是NUUO Inc.生产的一种专业视频监控设备,它广泛应用于零售、交通、教育、政府和银行等多个领域。能够同时管理多个IP摄像头,实现视频录制、存储、回放及远程监控等功能。它采用先进的视频处理技术,提供…

【笔记】408刷题笔记

文章目录 三对角三叉树求最小带权路径UDP报文首部和TCP报文首部IP报文首部TCP报文首部UDP报文首部 刷新和再生的区别地址译码 为了区分队空队满,可以使用三种处理方式 1)牺牲一个单元 队头指针在队尾指针的下一位置作为队满的标志 队满条件:(…

会声会影2024发布了没有? 会声会影2024更新哪些内容?

嘿,亲爱的的朋友们,今天我要跟大家安利一款让我彻底沉迷、不能自拔的神器 —— 会声会影2024!如果你还在为视频编辑头疼,那么准备好迎接你的救星吧! 会声会影2024是一款功能全面的视频编辑软件,它不仅能帮你…

ThreadLocal常见面试题

1.请介绍一下ThreadLocal底层是怎么实现的? 一个线程开始运行的时候,通过set方法会把值放入threadLocals这个变成中,他的类型是ThreadLocalMap对象,里面是Entry数组,每一个Entry是键值对形式,key就是Thread…

Vue 3 + Element Plus 封装单列控制编辑的可编辑表格组件

在Web应用开发中,经常需要提供表格数据的编辑功能。本文将介绍如何使用Vue 3结合Element Plus库来实现一个支持单列控制编辑功能的表格,并通过封装组件的形式提高代码的复用性。通过本教程,你将学会如何构建一个具备单列控制编辑功能的表格组…

NISP 一级 | 3.3 网络安全防护与实践

关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 0x01:虚拟专用网络 VPN 概述 虚拟专用网络(Virtual Private Network,VPN)是在公用网络上建立专用网络的技术。整个 VPN 网络的任意两个节点之间的连…

基于Java+SpringBoot+Vue+MySQL的美容美发管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于SpringBootVue的美容美发管理系统【附源码文档】、前后…

HAProxy--高性能反向代理

文章目录 Web架构负载均衡介绍为什么使用负载均衡负载均衡类型 HAProxy简介应用场景HAProxy是什么HAProxy功能 脚本安装HAProxy基础配置global多进程和线程HAProxy日志配置项 Proxies配置-listen-frontend-backendserver配置 frontendbackend配置实例子配置文件 HAProxy调度算法…

OpenCV findTours函数及其用法

OpenCV的findTours函数的原型如下: 函数参数: Image 输入图像,需8位单通道图像。非零像素被视为1。零像素保持为0,因 此图 像被视为二进制。您可以使用compare、inRange、threshold、adaptiveThreshold、Canny等从灰度或彩色图像…

注册网站怎么注册

网站注册成为我们日常生活中不可或缺的一部分。无论是社交媒体、电子商务平台还是各种在线服务,注册都是参与这些平台的第一步。下面将为您详细介绍一般网站注册的步骤,帮助您轻松完成注册过程。 1. 选择合适的网站 在注册之前,首先要确定您…

MeterSphere的一次越权审计

1 MeterSphere简介 MeterSphere是一个一站式开源持续测试平台,它提供了测试跟踪、接口测试、UI测试和性能测试等功能。它全面兼容JMeter、Selenium等主流开源标准,助力开发和测试团队实现自动化测试,加速软件的高质量交付。MeterSphere 的特点…

python爬虫基础:了解html

编辑器vscode <!DOCTYPE html> <html><head><title>第一个网页</title></head><body><h1>字体</h1><h2>字体</h2><h3>字体</h3><p>Lorem, ipsum dolor sit amet consectetur adipisicing…

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境 <Huawei>system-view Enter system view, return user view with CtrlZ. [Huawei]undo info-center enable Info: Information center is disabled. [Huawei]interface gigabitethernet 0/0/0 [Huawei-Gigabi…

ETL数据集成丨MySQL到MySQL的数据迁移实践

前言 MySQL数据迁移至另一MySQL数据库的过程&#xff0c;不仅是数据复制或移动的操作那么简单&#xff0c;它还涉及到一系列策略性考量和技术优化&#xff0c;旨在实现数据的高效、安全传输&#xff0c;以及确保目标系统的高性能运行。其深远意义在于为企业的数字化转型提供强…

vscode 中使用 yarn 出错

问题 vscode 中使用 yarn 爆红&#xff0c;类似下图的错误&#xff1a; 原因 由于vscode中的集成终端使用的是powershell&#xff0c;所以需要设置下该权限才能正常使用yarn 解决 找到 powershell&#xff0c;以管理身份运行 输入&#xff1a;set-ExecutionPolicy Remot…

【目标检测数据集】铁轨表面缺损检测数据集4789张VOC+YOLO格式

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4789 标注数量(xml文件个数)&#xff1a;4789 标注数量(txt文件个数)&#xff1a;4789 标注…

前端---对MVC MVP MVVM的理解

就需要从前端这些年的从无到有、从有到优的变迁过程讲一下。 1. Web1.0时代 在web1.0时代并没有前端的概念&#xff0c;开发一个web应用多数采用ASP.NET/Java/PHP编写&#xff0c;项目通常用多个aspx/jsp/php文件构成&#xff0c;每个文件中同时包含了HTML、CSS、JavaScript、…