git新手使用教程

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.mzph.cn/diannao/60283.shtml

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

相关文章

【GPTs】Email Responder Pro:高效生成专业回复邮件

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;Email Responder Pro主要功能适用场景优点缺点 &#x1f4af;小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; Email Craft 是一款专门用于…

2024下半年软考系统架构师案例分析题试题与答案--ROS机器人操作系统

一、知识点回顾 ROS(Robot Operating System)是一个用于编写机器人软件的框架。它提供了一系列的工具和库,帮助开发者创建复杂的、可以在多种操作系统上运行的机器人应用程序。 ROS的主要特点包括: 分布式计算能力:ROS提供了一种方式让多个计算机或设备协同工作,通过…

探索Copier:Python项目模板的革命者

文章目录 **探索Copier&#xff1a;Python项目模板的革命者**1. 背景介绍&#xff1a;为何Copier成为新宠&#xff1f;2. Copier是什么&#xff1f;3. 如何安装Copier&#xff1f;4. 简单库函数使用方法4.1 创建模板4.2 从Git URL创建项目4.3 使用快捷方式4.4 动态替换文本4.5 …

密码学知识点整理二:常见的加密算法

常用的加密算法包括对称加密算法、非对称加密算法和散列算法。 对称加密算法 AES&#xff1a;高级加密标准&#xff0c;是目前使用最广泛的对称加密算法之一&#xff0c;支持多种密钥长度&#xff08;128位、192位、256位&#xff09;&#xff0c;安全性高&#xff0c;加密效率…

大模型就业收入高吗?大模型入门到精通,收藏这篇就够了

目前&#xff0c;已经可以说人工智能&#xff08;AI&#xff09;是推动社会进步和产业升级的重要力量。 其中&#xff0c;AI大模型作为人工智能领域的核心技术之一&#xff0c;正引领着新一轮的技术革命。 2024年&#xff0c;AI大模型开发工程师无疑成为了IT行业中最炙手可热…

Kubebot:一款Google云平台下的Slackbot安全测试工具

Kubebot 今天给大家介绍的是一款名叫Kubebot的安全测试Slackbot&#xff0c;该工具基于Google 云平台搭建&#xff0c;并且提供了Kubernetes后端。 项目架构 数据流 1.API请求由Slackbot发起&#xff0c;发送至API服务器&#xff0c;API服务器以Kubernetes(K8s)集群中的Docke…

openai Realtime API (实时语音)

https://openai.com/index/introducing-the-realtime-api/ 官方demo https://github.com/openai/openai-realtime-console 官方demo使用到的插件 https://github.com/openai/openai-realtime-api-beta?tabreadme-ov-file 装包配置 修改yarn.lock 这个包是从github下载的 &q…

【IC】DTCO

DTCO本质上是DSE。。。 文章A Novel Framework for DTCO: Fast and Automatic Routability Assessment with Machine Learning for Sub-3nm Technology Options中提到&#xff1a; std cell尺寸缩小不一定会在block模块级获得面积收益。。。得综合考虑&#xff0c;综合了设计…

SpringBoot配置Rabbit中的MessageConverter对象

SpringAMQP默认使用SimpleMessageConverter组件对消息内容进行转换 SimpleMessageConverter&#xff1a; only supports String, byte[] and Serializable payloads仅仅支持String、Byte[]和Serializable对象Jackson2JsonMessageConverter&#xff1a;was expecting (JSON Str…

Python毕业设计选题:基于django+vue的医院挂号系统设计与实现

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 病人管理 科室类型管理 医生管理 公告咨询管理 挂号预约管理 科室信息管理 摘要 医…

arm 汇编技巧

汇编标号&#xff1a;f表示forward&#xff0c; b表示backward&#xff1a; Here is an example: 1: branch 1f 2: branch 1b 1: branch 2f 2: branch 1b Which is the equivalent of: label_1: branch label_3 label_2: branch label_1 label_3: branch label_4 label_4: bra…

Java异步编程CompletableFuture(串行,并行,批量执行)

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

Redis 缓存击穿

目录 缓存击穿 什么是缓存击穿&#xff1f; 有哪些解决办法&#xff1f; 缓存穿透和缓存击穿有什么区别&#xff1f; 缓存雪崩 什么是缓存雪崩&#xff1f; 有哪些解决办法&#xff1f; 缓存预热如何实现&#xff1f; 缓存雪崩和缓存击穿有什么区别&#xff1f; 如何保…

电脑不显示wifi列表怎么办?电脑不显示WiF列表的解决办法

有用户会遇到电脑总是不显示wifi列表的问题&#xff0c;但是不知道要怎么解决。随着无线网络的普及和使用&#xff0c;电脑无法显示WiFi列表的问题有时会让人感到困扰。电脑不显示WiFi列表是很常见的问题&#xff0c;但这并不意味着你无法连接到网络。不用担心&#xff0c;这个…

知识图谱,语义分析,全文检索,neo4j,elaticsearch,知识库平台(java,vue)

一、项目介绍 一款全源码&#xff0c;可二开&#xff0c;可基于云部署、私有部署的企业级知识库云平台&#xff0c;一款让企业知识变为实打实的数字财富的系统&#xff0c;应用在需要进行文档整理、分类、归集、检索、分析的场景。 为什么建立知识库平台&#xff1f; 助力企业…

Java项目实战II基于Spring Boot的问卷调查系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导 一、前言 在当今信息爆炸的时代&#xff0c;问卷调查…

博客摘录「 java三年工作经验面试题整理《精华》」2023年6月12日

JDK 和 JRE 有什么区别&#xff1f;JDK&#xff1a;java 开发工具包&#xff0c;提供了 java 的开发环境和运行环境。JRE&#xff1a;java 运行环境&#xff0c;为 java 的运行提供了所需环境。JDK 其实包含了 JRE&#xff0c;同时还包含了编译 java 源码的编译器 javac&#x…

二叉树搜索树(上)

二叉树搜索树&#xff08;上&#xff09; 概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的二叉树: • 若它的左子树不为空&#xff0c;则左子树上所有结点的值都⼩于等于根结点的值 • 若它的右子树不为空&#xff0c;则右子树…

解读Nature:Larger and more instructable language models become less reliable

目录 Larger and more instructable language models become less reliable 核心描述 核心原理 创新点 举例说明 大模型训练,微调建议 Larger and more instructable language models become less reliable 这篇论文的核心在于对大型语言模型(LLMs)的可靠性进行了深入…

在Linux上部署(MySQL Redis Elasticsearch等)各类软件

实战章节&#xff1a;在Linux上部署各类软件 前言 为什么学习各类软件在Linux上的部署 在前面&#xff0c;我们学习了许多的Linux命令和高级技巧&#xff0c;这些知识点比较零散&#xff0c;同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用&#xff0c…