git新手使用教程

news2024/12/23 13:25:43

git新手使用教程

    • 一、安装和初始化配置
    • 2、新建仓库
    • 3.工作区域和文件状态
    • 4.添加和提交文件
    • 5 git reset回退版本
    • 6 使用git diff查看差异
    • 7 使用git rm删除文件
    • 8 .gitignore忽略文件
    • 9 注册GitHub账号
    • 10 SSH配置和克隆仓库
    • 11 关联本地仓库和远程仓库
    • 12 Gitee的使用

由B站视频教程整理而来。建议配合视频使用。

一、安装和初始化配置

安装教程地址
安装完成后,使用命令git -v查看安装版本
1.配置用户名:
终端输入git config --global user.name "your name",将替换成你的用户名(一般就和gitee上的用户名一致就行)
2.配置邮箱:
终端输入git config --global user.email "your email",将替换成gitee绑定的邮箱
3.保存用户名和密码,这样就不用每次都输入了:
终端输入git config --global credential.helper store
4.查看配置信息:终端输入git config --global --list
在这里插入图片描述

2、新建仓库

git init:将当前目录初始化为一个仓库
git init my-repo在当前目录下初始化一个名为my-repo的仓库
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.工作区域和文件状态

工作区就是自己在电脑上编写代码文件的初始位置,通过git add命令将自己编写的代码文件添加到暂存区,再通过git commit命令将暂存区中的文件提交到本地仓库。
在这里插入图片描述
在这里插入图片描述

4.添加和提交文件

git init:创建仓库
git status:查看仓库的状态
git add:添加到暂存区
git commit:提交
代码示例如下:
在这里插入图片描述
在这里插入图片描述
总结:

git status:查看仓库的状态
git add:添加到暂存区。
                也可以使用通配符,例如:git add *.txt
                也可以使用目录,例如:git add .
git commit: 提交
                 只提交暂存区中的内容,不会提交工作区中的内容
git log查看仓库提交历史记录
git log --oneline查看仓库的简洁提交记录

5 git reset回退版本

为了使得Git Bash样式改为一行显示,进行了如下修改

默认情况下在windows中安装git之后bash界面是这样的,也就是命令输入框会换行显示,看起来非常别扭。
在这里插入图片描述
为了跟linux bash一样,实现同行显示,只需要修改一下配置文件即可,,打开Git Bash,在命令行中输入:

vim ~/.bash_profile

填入以下内容

export PS1="\[\e[37;40m\]\[\e[32;40m\]\u\[\e[37;40m\]@\W\[\e[33;40m\]\$(__git_ps1 ['%s'])\[\e[32;40m\]\$\[\e[0m\] "

保存之后重启(效果如下):
在这里插入图片描述
正文开始:
reset命令用于回退版本,可以退回到之前的某一个提交的状态。
git reset的三种模式,区别在于保留或丢弃工作区和暂存区的内容。
在这里插入图片描述
第一步创建三个文件,进行了三次提交:
在这里插入图片描述
验证软回退:
在这里插入图片描述
验证硬回退:
在这里插入图片描述
验证混合回退:
在这里插入图片描述

6 使用git diff查看差异

在这里插入图片描述
git diff:比较工作区与暂存区
git diff HEAD:比较工作区与版本库
git diff --cached:比较暂存区与版本库
git diff <commit_hash> <commit_hash> /:比较不同版本(提交)之间的差异
git diff HEAD~ HEAD:比较最近两次提交的差异
git diff <branch_name> <branch_diff> /:比较分支之间的差异
在这里插入图片描述
验证效果
在这里插入图片描述

7 使用git rm删除文件

在这里插入图片描述
在这里插入图片描述

8 .gitignore忽略文件

这个文件的作用是可以让我们忽略掉一些不应该被加入到版本库中的文件。
在这里插入图片描述

9 注册GitHub账号

GitHub官网注册即可

10 SSH配置和克隆仓库

第一步,创建远程仓库:
在这里插入图片描述
在这里插入图片描述
第二步,创建SSH密钥:
在这里插入图片描述
第三步,将公钥复制到GitHub中:
在这里插入图片描述
在这里插入图片描述
第四步,克隆项目
在这里插入图片描述Git是一种分布式的版本控制系统,我们的本地仓库和远程仓库是两个仓库,他们之间是相互独立的,我们可以在本地仓库中做任何修改,但是这些修改并不会影响到远程仓库,同样远程仓库的修改也不会影响到我们本地仓库,因此我们需要一种机制来同步本地仓库和远程仓库的修改内容,让他们的状态保持一致,那这个同步的过程就涉及到了Git中两个新的命令,pull和push,一个表示推送 一个表示拉取,push就是把本地仓库的修改推送给远程仓库,pull就是把远程仓库的修改拉取到本地仓库。
在这里插入图片描述
推送成功后,就可以在远程仓库中看到了
在这里插入图片描述
总结

ssh-keygen -t rsa -b 4096:生成SSH Key
                   私钥文件:id_rsa
                   公钥文件:id_rsa.pub
git clone repo-address:克隆仓库
git push <remote> <branch>:推送更新内容
git pull <remote>:拉取更新内容

11 关联本地仓库和远程仓库

如果我们本地已经有了一个仓库的话,怎样才能把它放到远程仓库里面呢?
首先在GitHub上创建一个新的仓库(first-repo)
在这里插入图片描述
操作如下
在这里插入图片描述
最后刷新一下远程仓库,可以看到推送成功了
在这里插入图片描述
同样的,同样地 如果我们在远程仓率修改了一些内容,那么就需要使用oull命令,来把远程仓库的修改拉取到本地。
首先在远程仓库中添加了一个文件README.md
在这里插入图片描述
接下来进行拉取
在这里插入图片描述
执行git pull的时候需要注意的一点就是,在执行完 git pull 之后,Git会自动为我们执行一次合并操作,如果远程仓库中的修改内容和本地仓库中的修改内容没有冲突的话,那么合并操作就会成功。否则合并操作就会由于冲突而失败,这个时候我们就需要手动来解决一下冲突。
从远程仓库获取内容还可以使用fetch命令,它们的区别在于fetch命令只是获取远程仓库的修改。但是并不会自动合并到本地仓库中,而是需要我们手动合并。

12 Gitee的使用

点击“账号设置”,找到SSH公钥位置,配置公钥。
在这里插入图片描述
创建一个仓库并拉取:
在这里插入图片描述在这里插入图片描述

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

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

相关文章

《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端

《TCP/IP网络编程》学习笔记 | Chapter 10&#xff1a;多进程服务器端 《TCP/IP网络编程》学习笔记 | Chapter 10&#xff1a;多进程服务器端进程概念及应用并发服务端的实现方法理解进程进程ID通过调用 fork 函数创建进程 进程和僵尸进程僵尸进程产生僵尸进程的原因销毁僵尸进…

推荐一款DBF文件查看器:DBF Viewer 2000

DBF Viewer 2000是一款强大、简洁且易于使用的 DBF(Clipper、dBase、FoxBase、Foxpro、Visual Foxpro、Visual DBase、VO、DB2K)文件浏览器和编辑器。 软件特点&#xff1a; - 能够快速、有效地浏览和编辑各种类型的 DBF 文件。 - 支持多种文件格式&#xff0c;包括 dBase、V…

基于构件的软件开发、软件维护、区块链技术及湖仓一体架构的应用

目录 试题一 论基于构件的软件开发方法及其应用 试题二 论软件维护方法及其应用 试题三 论区块链技术及应用 试题四 论湖仓一体架构及其应用 相关推荐 试题一 论基于构件的软件开发方法及其应用 基于构件的软件开发(Component-Based Software Development&#xff0c;CBSD…

SCRFD算法解读及环境安装实践

论文地址&#xff1a;https://arxiv.org/abs/2105.04714&#xff0c;accepted by ICLR-2022 工程地址&#xff1a;https://github.com/deepinsight/insightface/tree/master/detection/scrfd 下一篇博客&#xff0c;如何用SCRFD训练自己的数据 文章目录 1、算法解读2、环境安装…

在IntelliJ IDEA中创建带子模块的SpringBoot工程

前言 在项目开发中&#xff0c;一个工程往往有若干子工程或模块&#xff0c;所以主工程一般是一个容器&#xff0c;本文介绍在IntelliJ IDEA中创建带多模块的SpringBoot工程的详细步骤。 1、首先打开IntellJ IDEA&#xff08;以下简称IDEA&#xff09;,创建一个新项目。假定新…

深入剖析输入URL按下回车,浏览器做了什么

DNS 查询 首先,是去寻找页面资源的位置。如果导航到https://example.com, 假设HTML页面被定位到IP地址为93.184.216.34 的服务器。如果以前没有访问过这个网站&#xff0c;就需要进行DNS查询。 浏览器向域名服务器发起DNS查询请求&#xff0c;最终得到一个IP地址。第一次请求…

提升百度排名的有效策略与技巧解析

内容概要 提升百度排名对于网站的成功至关重要。首先&#xff0c;了解百度排名的基本原则&#xff0c;掌握搜索引擎是如何评估网页质量的&#xff0c;是优化过程中不可或缺的一部分。搜索引擎越来越倾向于将用户需求放在首位&#xff0c;因此提供高质量的内容和良好的用户体验…

【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;MJ Prompt Creator主要功能适用场景优点缺点 &#x1f4af; 小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; 任务说明 您是一款为幻灯片工…

机器人领域顶刊TRO十月最新论文一览,覆盖状态估计、任务分配、人机协作等多个领域

No.1 基于可见性的近似追逃方法 论文标题&#xff1a;Approximate Methods for Visibility-Based Pursuit–Evasion 中文标题&#xff1a;基于可见性的近似追逃方法 作者&#xff1a;Emmanuel Antonio; Israel Becerra; Rafael Murrieta-Cid 本文提出了一种基于采样的动态规…

解决编译 fast-lio-lc 算法时遇到的error方法

1.创建工作空间和下载 fast-lio-lc功能包 mkdir -p fast_lio_lc_ws/src cd fast_lio_lc_ws/src/ catkin_init_workspace git clone https://github.com/yanliang-wang/FAST_LIO_LC.git2.进入工作空间,编译 编译 fast-lio-lc遇到的error: 🕐error: fatal error: opencv/cv…

【Qt】Macbook M1下载安装

文章目录 一、下载Xcode命令行工具二、在Cion中配置编译器三、安装Qt四、配置qmake环境五、创建Qt项目 博主已经下载了Clion&#xff0c;所以本文是将qt配置到Clion上 本博客所写的教程有一定的问题&#xff0c;因为我在官网下载后发现有一些所需的包是没有的&#xff0c;不知道…

Python+Pytest+Allure+Git+Jenkins接口自动化框架

一、接口基础 接口测试是对系统和组件之间的接口进行测试&#xff0c;主要是效验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及相互逻辑依赖关系。其中接口协议分为HTTP&#xff0c;RPC&#xff0c;Webservice&#xff0c;Dubbo&#xff0c;RESTful等类型。 接口…

Docker:镜像构建 DockerFile

Docker&#xff1a;镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中&#xff0c;大部分都是基础镜像&#xff0c;他们只提供某个简单的功能&#xff0c;如果想要一个功能更加丰富…

《JavaEE进阶》----20.<基于Spring图书管理系统①(登录+添加图书)>

PS&#xff1a;关于接口定义 接口定义&#xff0c;通常由服务器提供方来定义。 1.路径&#xff1a;自己定义 2.参数&#xff1a;根据需求考虑&#xff0c;我们这个接口功能完成需要哪些信息。 3.返回结果&#xff1a;考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…

【JavaEE】文件io

目录 文件类型 File概述 属性 构造方法 常用方法 Reader Writer InputStream OutputStream 字节流转字符流 通过Scanner读取InputStream 通过PrintWriter转换outputstream 示例 文件类型 从编程的角度看&#xff0c;文件类型主要就是两大类 文本&#xff08;文…

D3入门:概念、主要特点、基本功能、常见应用场景

D3.js&#xff08;Data-Driven Documents&#xff09;是一个JavaScript库&#xff0c;用于基于数据操作文档。它利用了HTML、SVG和CSS等Web标准技术&#xff0c;使得开发者可以创建丰富的交互式图表和数据可视化。D3.js的强大之处在于其灵活的数据绑定机制和对DOM元素的高效操作…

go函数传值是值传递?还是引用传递?slice案例加图解

先说下结论 Go语言中所有的传参都是值传递&#xff08;传值&#xff09;&#xff0c;都是一个副本&#xff0c;一个拷贝。 值语义类型&#xff1a;参数传递的时候&#xff0c;就是值拷贝&#xff0c;这样就在函数中就无法修改原内容数据。 基本类型&#xff1a;byte、int、bool…

tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 本次采用VGG16模型进行预测&#xff0c;准确率达到了98.875&#xff0c;但是修改VGG16网络结构&#xff0c; 准确率达到了0.9969&#xff0c;并且计算量…

攻防世界38-FlatScience-CTFWeb

攻防世界38-FlatScience-Web 点开这个here看到一堆pdf,感觉没用&#xff0c;扫描一下 试试弱口令先 源码里有&#xff1a; 好吧0.0 试试存不存在sql注入 根本没回显&#xff0c;转战login.php先 输入1’,发现sql注入 看到提示 访问后得源码 <?php ob_start(); ?>…

数据分析-44-时间序列预测之深度学习方法TCN

文章目录 1 TCN简介1.1 网络示意图1.2 TCN优点2 模拟应用2.1 模拟数据2.2 预处理创建滞后特征2.3 划分训练集和测试集2.4 创建TCN模型2.5 模型训练2.6 模型预测3 自定义my_TCN模型3.1 my_TCN()函数3.2 训练模型3.3 模型预测3.4 改进4 参考附录1 TCN简介 时间卷积网络(TCN)是…