程序员基本功之git的使用

阿里网盘-资料链接

文章目录

  • git分布式版本控制工具
    • git的基本概念
          • 开发过程中的问题
          • 常见的版本控制工具
          • git分布式版本控制工具特点
          • git系统所定制的若干目标
          • git的工作流程图
    • GIT的安装和常用命令
      • **创建本地git仓库步骤**
      • **本地git仓库的使用**
          • git log详解

git分布式版本控制工具

git的基本概念

开发过程中的问题
  1. 备份
  2. 代码还原
  3. 协同开发
  4. 追溯问题代码的编写人和编写时间
常见的版本控制工具

SVM:各个客户端在服务器上提交所有的版本信息

CVS:和SVM类似

缺点:如果服务器坏了,或者服务器磁盘受损会永久地失去这些信息

git分布式版本控制工具特点

没有中央服务器每一个人的电脑上都有一个完整的版本库。可以相互推代码了。

记住:git有一个远程仓库和一个本地仓库

image-20240615130612182

git系统所定制的若干目标
  1. 速度
  2. 简单的设计
  3. 对线性开发模式的强力支持(允许成千上万个并行开发分支)
  4. 完全分布式
  5. 有能力高效管理类似Linux一样的超大规模项目(速度和数据量)
git的工作流程图

GIT的安装和常用命令

在Git Base中演示常用命令:

  • ls/ll 查看当前目录
  • cat 查看文件内容
  • touch 创建文件
  • vi vi编辑器

安装步骤

  1. 下载git:官网获取下载的exe文件

  2. 为git配置用户信息

    • git config --global user.name “icyler”
    • git config --global user.email “nono@qq.com”
  3. 为常用指令配置别名

# 用于输出git提交日志
alias git-log='git log --pretty=online --all --graph --abbrev-commit'
# 用于输出当前目录所有文件及基本信息
alias ll='ls -al'
  1. 解决GITBASH输入中文乱码问题(可选)

git config --global core.quotepath false

在git安装目录的/etc/bash.bashrc文件的末尾添加以下两行

export LANG=“zh_CN.UTF-8”

export LC_ALL=“zh_CN.UTF-8”

创建本地git仓库步骤

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

  1. 在电脑的任意位置创建一个空目录(例如:test)作为我们的git本地仓库。
  2. 在这个目录中点击右键,打开git bash窗口
  3. 执行命令git init
  4. 如果创建成功后可以在文件夹下看到隐藏的.git目录

本地git仓库的使用

  1. 查看当前目录中的文件状态

git status

  1. 将当前目录所有文件从工作区存到暂存区

git commit -m"add file01"

  1. 查看仓库的使用历史情况

git log

  1. 对上一个文件进行修改
    • 修改本地仓库中已有的文件
    • git add .
    • git commit -m"update file01"
    • git log # 此时的log应该从下往上看映射从之前的修改到现在的修改
  2. 版本回退

git reset --hard [标识码]

  1. 在版本上传时忽略一些文件
    • 在git本地仓库创建一个.gitignore文件
    • 在文件中添加*.tet(或者直接添加文件名字:模糊匹配)
git log详解

作用:查看提交记录

命令形式:git log [option]

option:

  • –all 显示所有分支
  • –pretty=online将提交信息显示为一行
  • –abbrev-commit 使输出的commit更简洁
  • –graph 以图的形式显示

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

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

相关文章

SpringCloud跨服务远程调用

随着项目的使用者越来越多,项目承担的压力也会越来越大,为了让我们的项目能服务更多的使用者,我们不得不需要把我们的单体项目拆分成多个微服务,就比如把一个商城系统拆分成用户系统,商品系统,订单系统&…

MQTT TCP HTTP 协议对比

目录 1. 类型与用途 2. 通信模式与特性 3. 优缺点 4. 使用场景 MQTT、TCP和HTTP在类型、用途、通信模式、特性以及使用场景等方面存在显著的区别,以下是详细的阐述: 1. 类型与用途 MQTT:MQTT是一种消息传输协议,主要适用于物…

增加软件投入的重要性:提升自动化程度与用户界面设计的价值

一、引言 在许多项目中,硬件系统通常占据了大量预算,而对软件的投入相对较少。这种不平衡往往导致软件自动化程度低、操作不便、界面简陋,过多的人工干预不仅降低了工作效率,还影响了用户体验。特别是对于一些国家项目&#xff0…

matlab:数字信号处理过程(趋势+峰值+包络+滤波+FFT)仿真

数字信号处理 消除趋势找峰值求包络平滑fftclc;clear;close all; figure(1);clf; Fs = 200;%采样频率 T = 1/Fs; %采样周期 N = 300;

「C系列」C 结构体

文章目录 一、C 结构体1. 定义结构体2. 声明结构体变量3. 初始化结构体变量4. 访问结构体成员5. 结构体数组6. 结构体指针7. 结构体嵌套 二、C 如何使用结构体1. 定义结构体类型2. 声明结构体变量3. 初始化结构体变量4. 访问结构体成员5. 结构体指针6. 在函数中使用结构体7. 注…

docker run的复杂使用

sudo docker run -dit --namenmediacross1.x -v $HOME:$HOME -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/dri:/dev/dri --privileged --networkhost -e DISPLAYunix$DISPLAY -w $HOME nova:nmediacross1.x这个Docker命令相当复杂,包含了许多选项和参数,…

记录一次CTF图片拼图安装工具montage+gaps成功步骤以及踩坑全过程

安装图片拼接工具montage: 1.安装 使用pip install montage无法安装montage工具的师傅可以尝试下面的方法 #Debian apt-get install graphicsmagick-imagemagick-compat#Ubuntu apt-get install graphicsmagick-imagemagick-compat#Alpine apk add imagemagick6#…

安全相关的一些基础知识(持续更新)

目录 1. TRNG真随机数生成 2. 对称加密和非对称加密及其区别 3. Hash算法(摘要算法) 4. HTTPS、TLS、SSL、HTTP区别和关系 HTTPS的基本原理 5. PSS 1. TRNG真随机数生成 True Random Number Generator 在真随机数的生成里,把随机数的生…

编译rk3568 Android,rk3568_r-user和rk3568_r-userdebug的区别

在 Android 开发环境中,lunch 命令用于选择编译目标设备和构建类型。选择不同的构建类型(如 user 和 userdebug)会影响编译结果的特性和用途。以下是 rk3568_r-user 和 rk3568_r-userdebug 之间的主要区别: user 构建类型 (rk3568_r-user): 目标用户:最终用户(消费者)。…

undetected_chromedriver驱动浏览器结束报错OSError: [WinError 6] 句柄无效

undetected_chromedriver驱动浏览器结束报错OSError: [WinError 6] 句柄无效 问题背景 使用undetected_chromedriver包驱动浏览器结束后报错句柄无效 Exception ignored in: <function Chrome.del at 0x000001DD50F07A60> Traceback (most recent call last): File “D:…

大数据实训项目(小麦种子)-01、VirtualBox安装与Centos7系统安装

文章目录 前言项目介绍项目任务目标一、VirtualBox安装1.1、认识VirtualBox1.2、VirtualBox的下载安装 二、VirtualBox安装Centos7系统2.1、VirtualBox安装Centos72.2、Centos7配置静态IP地址2.3、Centos7环境基础配置 三、Windows安装FinalShell及连接Centos73.1、FinalShell下…

父亲节马上到了-和我一起用Python写父亲节的祝福吧

前言 让我们一起用Python写一段父亲节的祝福吧 &#x1f4dd;个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列&#xff1a; ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 话不多说先上代码 import tkinter as tk from doctest imp…

TS:元组

问: 解释下什么是元组 回答: 元组&#xff08;Tuple&#xff09;是一种数据结构&#xff0c;类似于数组&#xff0c;但与数组不同的是&#xff0c;元组中的元素类型可以各不相同&#xff0c;且元组的长度是固定的。元组在许多编程语言中都有实现&#xff0c;包括 TypeScript…

软设之系统设计之模块设计

模块设计原则概述: 保持模块的大小适中 深度&#xff0c;宽度适中 扇入&#xff0c;扇出系数要合理 模块的作用域应该在模块之内 功能应该是可预测的 高内聚&#xff0c;低耦合 内聚性: 按照从高到低&#xff0c;从强到弱性能排序 功能内聚&#xff0c;顺序内聚&#…

设计模式-享元模式Flyweight(结构型)

享元模式(Flyweight) 享元模式是一种结构型模式&#xff0c;它主要用于减少创建对象的数量&#xff0c;减少内存占用。通过重用现有对象的方式&#xff0c;如果未找到匹配对象则新建对象。线程池、数据库连接池、常量池等池化的思想就是享元模式的一种应用。 图解 角色 享元工…

centos中安装并设置vsftpd

vsftpd是一个可安装在linux上的ftp服务器软件。 一、安装 安装前保证服务器能上互联网。如果不能上网&#xff0c;看看能不能设法利用局域网代理上网。 sudo yum -y install vsftpd二、配置 1、修改配置文件 cd /etc/vsftpd #修改之前记得备份&#xff01;&#xff01;&am…

远程桌面失败:你的凭据不工作

远程桌面失败&#xff1a;你的凭据不工作 远程桌面失败&#xff1a;你的凭据不工作_您的凭据不工作-CSDN博客https://blog.csdn.net/weixin_38004638/article/details/82290796

面试官:前端使用 JavaScript 如何判断变量类型?

你知道吗&#xff0c;在 JavaScript 中&#xff0c;变量的类型是动态的&#xff0c;这意味着同一个变量可以存储不同类型的值。这种动态类型的特性既是优势&#xff0c;也可能带来一些意想不到的问题。 这几天我在做项目时&#xff0c;遇到了一个从方法返回的值问题。这个值由…

Python3 笔记:字符串的 isspace()、istitle()、isdecimal()

1、isspace() 方法检测字符串是否只由空白字符组成。 语法&#xff1a;str.isspace() 如果字符串中只包含空格&#xff0c;则返回 True&#xff0c;否则返回 False。 str1 str2 hello print(str1.isspace()) # 运行结果&#xff1a;True print(str2.isspace()) # 运…

LoginGUI.java

LoginGUI.java 完成效果如下图&#xff1a; CODE Summary: This code sets up a login GUI using Swing. It defines a LoginGUI class extending JFrame. The constructor initializes the GUI components and sets up event listeners. The event_login method handles…