版本控制工具 - git的安装与使用

news2024/11/27 2:22:17


版本控制工具 - git的安装与使用

  • 一、介绍
  • 二、git的下载与安装
    • 2.1 下载
    • 2.2 安装
  • 三、git基本使用
    • 3.1 初始化git本地仓库
    • 3.2 把文件添加到版本库
    • 3.3 连接远程仓库
  • 三、IntelliJ idea 中使用Git的配置
    • 3.1 配置git
    • 3.2 IDEA中 将本地项目提交到本地仓库和远程仓库(github)
    • 3.3 在 IntelliJ IDEA 中配置 GitLab
      • 3.3.1 克隆代码库 - 在IDEA上拉取gitlab上的项目到本地

一、介绍

  Git 是一个免费和开源 的分布式版本控制系统,旨在以速度和效率处理从小型到大型项目的所有内容。Git易于学习 占用空间小,性能快如闪电. 它优于 SCM 工具,如 Subversion, CVS, Perforce, 和 ClearCase 具有 廉价的本地分支, 方便的暂存区域和多个工作流等功能。

  1. git记录的是什么?
    1
  2. git核心框架 - 三棵树
    1
  • 工作区域(Working Directory):平时存放项目代码的地方。
  • 暂存区域(Stage): 用于临时存放你的改动,事实上它只是一个文件,保存即将提交的文件列表信息。
  • Git 仓库(Repository):就是安全存放数据的位置,这里边有你提交的所有版本的数据。其中,HEAD 指向最新放入仓库的版本(这第三棵树,确切的说,应该是 Git 仓库中 HEAD 指向的版本)。
  1. Git 的工作流程
    (1)在工作目录中添加、修改文件;
    (2)将需要进行版本管理的文件放入暂存区域;
    (3)将暂存区域的文件提交到 Git 仓库。
    因此,Git 管理的文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed),依次对应上边的每一个流程。

回到目录

二、git的下载与安装

2.1 下载

  1. 进入网站https://git-scm.com/下载
    1
    1

2.2 安装

windows安装步骤如下:

  1. 双击应用程序,按照提示默认安装,选择安装的目录,过程如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
  2. 安装完成,点击”launch git bash“
    1
    或者在开始菜单打开git–>git bash,点击后弹出一个类似于cmd命令窗口的窗口就说明安装成功了。
  3. 安装完成后,还需要配置,在git 命令行输入命令:
> git config --global user.name "你的名称"
> git config --global user.email "你的邮箱"
#检查信息是否写入成功
> git config --list 

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
这两条命令分别是配置个人的用户名称和电子邮箱地址。用户名和电子邮箱这两个在git每次提交是都会引用这两条信息,标明是谁提交更新的。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

1

回到目录

三、git基本使用

3.1 初始化git本地仓库

  要使用Git对我们的代码进行版本控制,首先需要获得本地仓库;本地仓库可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

  1. 在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库。如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init
  4. 如果创建成功后可在文件夹下看到.git目录。如果你没有看到.git目录,那是因为这个目录默认是隐藏的。
    1
    瞬间Git就把仓库建好了,而且如果是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

3.2 把文件添加到版本库

  首先明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
  Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,前面我们举的例子只是为了演示,如果要真正使用版本控制系统,就要以纯文本方式编写文件。
  因为文本是有编码的,比如中文有常用的GBK编码,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。
  使用Windows要特别注意:千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。
下面示例一下添加到git版本库的过程:

  1. 在git本地仓库目录新建一个文档:test.txt
    1
  2. 在目录空白处右键,在弹出的框中选择”Git Bash Here“,弹出命令框
  3. 把文件添加到仓库,在命令框中执行命令:
# 支持一次添加多个
 git add fi1  f2   fn
 # 示例
  git add  test.txt

1

执行上面的命令,没有任何显示,“没有消息就是好消息”,说明添加成功。

  1. 把文件提交到仓库,在命令框中执行命令:
# -m后面输入的是本次提交的说明,这样你就能从历史记录里方便地找到改动记录
git commit -m "xxx"
# 示例
git commit -m "添加一个测试文件"

1

3.3 连接远程仓库

  GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
  当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

GitHub添加ssh Key的步骤如下:

  1. 创建SSH Key:
     在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有 id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key,执行命令:
ssh-keygen -t rsa -C "你的邮箱"
# 示例
ssh-keygen -t rsa -C "197561212@qq.com"

1
成功后,在提示的目录位置看到.ssh目录,里面有SSH Key的秘钥对,id_rsa是私钥,不能泄露出去和id_rsa.pub是公钥,可以放心地告诉任何人。
1
2. 登陆 GitHub官网,先确定有一个github的账号,没有的话先注册。
1
1
3. 打开“Account settings”,“SSH Keys”页面:
1
然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
2
添加成功后,这里能看到添加的ssh key :
3

三、IntelliJ idea 中使用Git的配置

3.1 配置git

  1. 进入配置界面
    1

注:如果打开IDEA直接进入到工程界面,可以依次点击File——>Settings——>Appearance & Behavior——>System Settings,不勾选Reopen projects on startup,然后重启IDEA即可。
1

  1. 配置git.exe:
    2
  2. 最后点击Test测试一下,出现版本号表示配置成功,点击OK。
    1

3.2 IDEA中 将本地项目提交到本地仓库和远程仓库(github)

  IDEA中 如何将本地项目提交到本地仓库和远程仓库(github),下面是想详细的操作步骤:

  1. 打开设置面板(Ctrl+Alt+S),点击左边功能面板列表中的Version Control(版本控制),选择github:
    1
    server一栏填写github 的地址: github.com
    在 Login 一栏填写你的github 账号,
    Password 一栏填写密码
    填写完成后点击 login in按钮,此时 IDEA 会根据你填写的内容远程访问github社区,如果账号和密码输入正确会提示你链接成功

3.3 在 IntelliJ IDEA 中配置 GitLab

在 IntelliJ IDEA 中配置 GitLab 的代码拉取(pull)和提交(push)操作,按照以下步骤进行配置:
(1)安装 Git 工具:确保您的计算机上已经安装了 Git。如果未安装,请先下载并安装 Git。
(2)打开 IntelliJ IDEA:启动 IntelliJ IDEA,并打开您要使用的项目。
(3)配置 GitLab 信息

3.3.1 克隆代码库 - 在IDEA上拉取gitlab上的项目到本地

  1. 复制GitLab 代码库上url如下所示:
    1
  2. 在 IntelliJ IDEA 的顶部菜单栏中,选择 “File”(文件)-> “New”(新建)-> “Project from Version Control”(从版本控制创建)-> “Git”。
    1
  3. 在弹出的窗口中,将 GitLab 上的代码库 URL 粘贴到 “URL” 输入框中。
    可选择指定本地存储位置 “Directory”,项目拉下来之后会存放在这个目录下面,如果这个目录不存在,idea会自动帮你创建。
    点击 “Clone”(克隆)按钮进行代码库的克隆。
    3
  4. 在弹出的提示框中,输入gitlab的用户名和密码即可
  5. git配置:
    1

参考链接:【https://blog.csdn.net/qq_36636154/article/details/95476652】(https://blog.csdn.net/qq_36636154/article/details/95476652)

回到目录

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

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

相关文章

算法----2 的幂

题目 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n 1 输出&#x…

算法与数据结构(二)--【2】链表进阶

一.循环链表 1.单循环链表/循环链表 【1】概念:在单链表中,将终端结点的指针域NULL改为指向第一个结点,就使整个链表形成一个环,这种首尾详解的链表成为循环链表。 【2】特点:从表中任一结点出发均可找到表中其他结点…

排序算法笔记-归并排序

归并排序 简介 通过找到中间值,然后递归分别从左区间和右区间找中间值,最终将所给的值划分为单个块,然后进行一步一步回溯,分块由两个单个分区排序后合成一个,以此类推,最后实现有序排序 时间复杂度 最…

小红书如何推广 方法总结

大家好,我是权知星球,今天来跟大家分享一下小红书如何推广,方法总结。 一、小红书介绍 小红书成立于2013年6月6日,最初的核心业务是社区内容分享。最初分享的主要是美妆和个人护理方面的内容。之后,平台扩展了分享内…

选择「程序员」职业的8个理由

软件开发人员是具有创建软件程序的创意和技术技能的专业人员,是一个具有高回报和挑战性的职业选择。如今,软件开发人员几乎在每个行业工作。随着世界变得越来越数字化,越来越需要具有技术背景的人来创建特定的软件应用程序。 如果您考虑做一…

opencv基础:环境配置

最近人工智能很火,所以蹭个热度,聊一个跨平台计算机视觉库----Opencv。 定义 先看一下其定义: OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、…

js手动画平滑曲线,贝塞尔曲线拟合

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"…

qt完整教程

各个组件的意思(功能介绍) Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—3)-腾讯云开发者社区-腾讯云 qt 如何设计好布局和漂亮的界面。_qt界面_花狗Fdog的博客-CSDN博客 样式表(美化关键)/*灰色*/ Q/*灰色*/ QWidget {background-color: rgb(255, 182, …

驱动第六次作业

应用test.t #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h>int main(int argc, char const *argv[]) {int number;int fd o…

Redis 从入门到精通【进阶篇】之redis主从复制详解

文章目录 0. 前言&#xff08;1&#xff09;概述&#xff08;2&#xff09; 主从复制设计的目的&#xff1a; 1. 原理解析1.1 全量复制1.2 增量复制 2. 主从节点配置3. 常见问题3.1. 当主服务器不进行持久化时复制的安全性3.2. 为什么主从全量复制使用RDB而不使用AOF&#xff1…

selenium自动化设计框架之 page object设计模式介绍

目录 PageObject 简介 PageObject 使用 PageObject 六大原则 基于钉钉打卡的 PO 实战案例 实战代码 总结&#xff1a; pageobject设计思想出自于马丁福勒&#xff08;Martin Flower&#xff0c;对&#xff0c;没错&#xff0c;就是软件教父&#xff09;官网的一篇文章&am…

使用selenium模拟登录解决滑块验证问题

目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻&#xff0c;本来最开始是模拟请求的&#xff0c;但是某一天突然发现&#xff0c;部分账号需要经过滑块验证才能正常登录&#x…

给大家演示 InsCode Stable Diffusion 美图活动一期

给大家演示 使用 InsCode Stable Diffusion 今天有点无聊&#xff0c;难得领导出差的出差&#xff0c;请假的请假&#xff0c;开会的开会。 心想&#xff0c;此时不摸鱼更待何时。 下面给大家随便验收一番Diffusion &#xff0c;在这之前也使用了很多&#xff0c;讲真&#xf…

谈谈VPN是什么、类型、使用场景、工作原理

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 前言 本文将讲解VPN是什么、以及它的类型、使用场景、工作原理。 目录 一、VPN是什么&#xff1f; 二、VPN的类型 1、站点对站点VPN 2、…

单片机第一季:零基础6——定时器和计时器

目录 1&#xff0c;单片机定时器原理 2&#xff0c;51单片机定时器/计数器结构 3&#xff0c;定时器配置 4&#xff0c;示例代码-通过定时器控制LED灯间隔1s闪烁 51 单片机有两组定时器/计数器&#xff0c;因为既可以定时&#xff0c;又可以计数&#xff0c;故称之为定时…

【R语言】机器学习-手撕逻辑回归

【R语言】机器学习-手撕逻辑回归 算法原理 逻辑回归是一种常用的分类算法&#xff0c;它在机器学习领域有着广泛的应用。在介绍具体的实现细节之前&#xff0c;我们先来了解一下逻辑回归的算法原理。 sigmoid函数 逻辑回归使用sigmoid函数&#xff08;也称为逻辑函数&#…

《TCP IP网络编程》第四章

第 4 章 基于 TCP 的服务端/客户端&#xff08;1&#xff09; 根据数据传输方式的不同&#xff0c;基于网络协议的套接字一般分为 TCP 套接字和 UDP 套接字。因为 TCP 套接字是面向连接的&#xff0c;因此又被称为基于流&#xff08;stream&#xff09;的套接字。 TCP …

烧屏现象对OLED屏幕质量的影响:如何保持画面清晰度?

OLED&#xff08;Organic Light Emitting Diode&#xff09;屏幕作为一种高品质、高对比度和鲜艳色彩的显示技术&#xff0c;越来越受到消费者的青睐。然而&#xff0c;一些用户可能会担心OLED屏幕烧屏的问题。本文将探讨OLED屏幕烧屏的原因、如何预防烧屏以及如何进行正确的维…

一个完整的项目是怎么做性能测试?资深8年测试总结...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 突然有一天&#…

解决问题:解除HUE下载10万行的限制

解决问题&#xff1a;解除HUE下载10万行的限制 这个目录下的 vim /opt/cloudera/parcels/CDH/lib/hue/apps/beeswax/src/beeswax/conf.py可以调整数量 也可以更改为-1&#xff08;表示不限制&#xff09;