Git学习笔记【1】---本地操作

2023-11-18

【声明】本教程参考自https://www.bilibili.com/video/BV1Zz4y1C7vg?p=17
在这里插入图片描述

一、Git的安装

官网下载即可。https://git-scm.com/

二、初始化本地仓库

【1】创建一个文件夹

在这里插入图片描述

【2】打开Git终端

在文件夹里,右键 Git Bash Here
在这里插入图片描述
右键选择Options。进入以后先对字体和编码进行设置。
在这里插入图片描述

在这里插入图片描述
在git中命令和Linux是一样的:

(1)查看Git安装版本。

git --version
在这里插入图片描述

(2) 清屏:

clear
在这里插入图片描述
不小心在输入某些命令期间按了回车,出现了大于号,Ctrl+C即可退出。
在这里插入图片描述

(3)设置签名

设置用户名和邮箱
git config --global user.name "albert"
在这里插入图片描述
** git config --global user.email “1561235929@ qq.com” **
在这里插入图片描述

(4) 本地仓库的初始化操作

git init
在这里插入图片描述
在这里插入图片描述
如果git目录是隐藏的:
可以在查看中设置
在这里插入图片描述
或者用命令查看
ll -la
在这里插入图片描述
现在可以直接用命令查看:
ll
注意事项:git目录下的本地库相关的子目录和子文件不要删除,不要胡乱修改。

三、Git常用命令

1、add和commit命令

添加文件:add 提交文件:commit
在这里插入图片描述

【1】先创建一个文件:

可以手动创建,也可以输入
touch Demo.txt
在这里插入图片描述
在这里插入图片描述
如果要查看文件内容,可以输入:
cat 【文件名】
黄色框里的就是文件的内容。
在这里插入图片描述

【2】将文件提交到暂存区

在这里插入图片描述

【3】将暂存区的内容提交到本地库

命令:git commit -m"文档的注释" Demo.txt
Demo.txt可以替换为其他文件名。
在这里插入图片描述
总结一下这一步的过程:
在这里插入图片描述

2、status 命令

查看工作区和暂存区的状态
命令:git status
新建一个文件Demo2.txt
在这里插入图片描述

没有被添加和提交的,会提示。

在这里插入图片描述
然后将Demo2.txt添加到暂存区,查看状态
在这里插入图片描述
利用git commit 命令将文件提交至:本地库
在这里插入图片描述
现在修改Demo2.txt文件中的内容:
在这里插入图片描述
然后查看状态:
在这里插入图片描述

重新添加至:暂存区:

查看状态:
在这里插入图片描述
然后将暂存区的文件提交到本地库:
在这里插入图片描述
查看状态:
在这里插入图片描述
没有东西待提交,文件已经全部更新到本地库了。

3、log命令

git log可以让我们查看提交的,显示从最近到最远的日志
可以先clear一下,然后git log:
在这里插入图片描述
在这里插入图片描述

4、log命令2

创建了10个Demo,add并commit进本地库
在这里插入图片描述
当历史记录过多时,查看日志的时候,有分页的效果,分屏的效果,一页展示不下:
在这里插入图片描述
下一页:空格
上一页:b
到尾页了,显示END
在这里插入图片描述
退出:q
日志展示方式:
【1】方式1:git log --》分页
【2】方式2:git log --pretty=oneline
注意空格

在这里插入图片描述
【3】方式3:git log --oneline

注意空格,log和–有空格,–与oneline没有空格

在这里插入图片描述
【4】方式4:git reflog
多了信息:HEAD@{数字}
这个数字的含义:指针回到当前这个历史版本需要走多少步。
在这里插入图片描述

5、reset命令

reset命令:将某文件前进,或者后退到历史版本

先创建一个test.txt的文件,然后添加和提交到本地库
在这里插入图片描述
然后插入内容aaaa,再次添加和提交
在这里插入图片描述
然后插入内容bbbb,再次添加和提交
在这里插入图片描述
【1】hard参数:
想要回到aaaa版本时,需要
git reset --hard 6ea68f9
其中6ea68f9为版本的索引,通过 git reflog查看
本地库的指针移动的同时,重置暂存区,重置工作区
在这里插入图片描述
在这里插入图片描述
通过查看git reflog,看指针指向哪个版本。
在这里插入图片描述
【2】mixed参数
git reset --mixed 6ea68f9
不常用,形式同hard
本地库的指针移动的时候,重置暂存区,工作区不动。
【3】soft参数
git reset --soft 6ea68f9
也不常用
本地库的指针移动的时候,暂存区,工作区都不懂
总结:以后用的多的就是第一种

6、删除文件/找回本地库删除文件

【1】先新建个test2.txt,并add到暂存区,再commit提交到本地库
在这里插入图片描述

在这里插入图片描述
【2】删除工作区中的test2.txt
命令:rm test2.txt
在这里插入图片描述

【3】将删除操作同步到暂存区
在这里插入图片描述

【4】将删除操作同步到本地库
在这里插入图片描述
【5】查看日志
git reflog
在这里插入图片描述
【6】找回本地库中删除的文件,实际上回退到历史版本
在这里插入图片描述
git reset --hard 版本索引
在这里插入图片描述

7、找回暂存区删除的文件

【1】删除工作区数据
在这里插入图片描述
【2】同步到缓存区
在这里插入图片描述
【3】后悔了,恢复暂存区中的数据

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

8、diff命令

【1】先创建一个文件,添加到暂存区,再提交到本地库

先新建test3.txt
插入内容aaaa
在这里插入图片描述
然后提交到缓存区和本地库
在这里插入图片描述

【2】更改工作区中test3.txt中内容

增加内容:bbb
在这里插入图片描述

导致:工作区 和 暂存区 不一致,需要比对

(1)git diff 【文件】

工作区暂存区中的【文件】进行比较
在这里插入图片描述

在这里插入图片描述

(2)git diff

比较工作区暂存区中所有文件的差异
在这里插入图片描述
在这里插入图片描述

(3)git diff 【历史版本】 【文件】

比较暂存区历史版本和工作区中的差别
修改test3.txt中的内容为a,并添加到暂存区(添加不添加都不影响比较)
在这里插入图片描述
git diff 【历史版本的索引d6f5f1c】 test3.txt
在这里插入图片描述

四、分支

【1】什么是分支

在版本控制过程中,使用多条线同时推进多个任务,这里面说的多条线,就是多个分支。

【2】通过一张图展示分支

在这里插入图片描述

【3】分支的好处

同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率
如果有一个分支功能开发失败,直接删除这个分支就可以了,不会对其他分支产生任何影响。

【4】操作分支

(1)在工作区创建一个test4.txt文件,然后提交到暂存区,提交到本地库:

在这里插入图片描述

在这里插入图片描述

(2)查看分支

命令:git brach -v
在这里插入图片描述

(3)创建分支

命令:git bracn [分支名字]
在这里插入图片描述
再查看:
在这里插入图片描述

(4)切换分支

git checkout branch01
在这里插入图片描述
再查看:
在这里插入图片描述
在这里插入图片描述

(5)合并分支,并解决冲突问题

(1)进入branch01分支,增加内容

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

(2)将分支切换到主分支

在这里插入图片描述
查看状态
在这里插入图片描述
查看文件内容,发现回到了主分支的内容
在这里插入图片描述
增加内容,提交
在这里插入图片描述

在这里插入图片描述

(3)再次切换到branch01分支查看

用cat命令查看文件内容
在这里插入图片描述

(4)将 branch01分支 合并到 主分支
【1】 进入主分支

在这里插入图片描述

【2】将branch01中的内容和主分支内容进行合并:

出现冲突了:
在这里插入图片描述
为什么出现冲突问题?在同一个文件的同一个位置修改
在这里插入图片描述

【3】解决冲突

解决:公司内部商量,或者自己决定留下哪部分,手动保存。在这里插入图片描述

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git学习笔记【1】---本地操作 的相关文章

  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n
  • Git - 创建拉取请求而不分叉

    使用 git 已经有一段时间了 关于 git pull request 有很多教程和解释 其动机是什么等等 我遇到两种情况 1 分叉 git 仓库 我查看了一些公共 git 存储库并决定我想要做出贡献 所以我 通过以下方式创建重复的存储库F
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • 如何使用 AWS Lambda 安装 Git?

    我在代码提交存储库中有代码 我正在编写一个 lambda 函数来为代码提交存储库的每个签入 事件 构建代码 我无法安装 git 因此无法克隆存储库 我该怎么办呢 正如其他人提到的 在 lambda 上安装 git 要么非常困难 要么完全不可
  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • git reflog 和 log 有什么区别?

    手册页说 log 显示提交日志 reflog 管理 reflog 信息 reflog 信息到底是什么 它有哪些日志没有的信息 日志看起来更详细 git log显示当前的 HEAD 及其祖先 也就是说 它打印提交 HEAD 指向的提交 然后打
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • git 2.32 git push -u origin master 没有任何反应

    I ve starting to use git github and I m stucked on how to push my codes to github I m following some tutorials and when
  • 部分共享git仓库

    我是 git 新手 我想知道是否支持以下场景 如果支持的话如何支持 即用于设置和更新的 git 命令 可以从三个不同的地方获取存储库 本地 镜像 和 github mirror 完全镜像 local github 镜像 local 但 受版
  • 有没有一个简单的命令可以将分支转换为标签?

    我即将完成将 哑快照 转换为 git 的繁琐过程 这个过程进展得非常顺利 感谢这个重命名过程 https stackoverflow com questions 6628539 how to tell git that its the sa
  • Git 工作流程:分叉项目并维护本地修改副本,但保持最新

    我正在尝试找出最佳工作流程 用于维护具有自定义功能的 github 托管项目 moodle 的本地副本 同时保持保持副本最新的能力 告诉我我正在考虑做的事情是否完全疯狂 分叉项目 github com moodle moodle gt gi
  • 是否可以检测 http git 远程是智能还是愚蠢?

    我正在我的应用程序中实现一个选项来使用 depth 1制作 git repo 的最小功能克隆 我刚刚意识到愚蠢的 http 传输不支持 depth 我想自动检测 http 远程是愚蠢的还是聪明的 这样我就可以省略 depth与哑 http
  • 具有单个子模块的多个存储库

    我已经找了一段时间但没有找到答案 也许我不知道该看什么 我们有一个主库 它本身就是一个存储库 我们称之为 Lib 它包含我们的大部分模块和子模块 我们还假设它的大小为 2GB 现在我们有很多项目 例如 ProjA ProjB ProjC 每
  • 如何使用 git 比较不​​在存储库中的两个文件

    我想比较两个不在任何 git 存储库中的 css 文件 git中有这样的功能吗 git的 diff 比标准 Unix 更实用diff 我经常想这样做 并且由于这个问题在谷歌上排名很高 所以我希望这个答案出现 这个问题 如何使用git dif
  • 如何更改 GitHub 上的文件模式?

    git add test file git commit m first commit create mode 100644 test file git push git update index add chmod x test file
  • 如何在GIT中构建标签树?

    作为 GIT 的频繁用户 我喜欢git log graph尽我所爱git tag 我负责一个大型 GIT 存储库 其中有太多分支和标签 而且我的处理速度太慢西西弗斯式的 https en wikipedia org wiki Sisyphu

随机推荐

  • bootstrap--栅格系统详解(源码分析)

    目录 1 bootstrap是什么 2 栅格模型设计的精妙之处 3 预备知识 4 栅格系统的框架 4 1bootstrap容器 4 1 1固定容器与流体容器公共样式 4 1 2固定容器样式 4 2 bootstrap行与列 4 2 1行 4
  • js中的navigator对象 用js判断浏览器类型

    navigator对象 window navigator返回一个navigator对象的引用 可以用它来查询一些关于运行当前脚本的应用程序的相关信息 在浏览器打印一下navigator对象 console log navigator MDN
  • 基于Nonconvex规划的配电网重构研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文基于Nonconvex规划的配电网重构
  • FastAPI从入门到实战(8)——一文弄懂Cookie、Session、Token与JWT

    看到标题应该也能看出来本文讲的就是前端鉴权相关的内容了 鉴权也就是身份认证 指验证用户是否有系统的访问权限 只要是web开发 这部分内容就是不可能不学的 很多面试也必问 所以本文就针对此主题详细记录一下其常见的几种方式 HTTP状态 HTT
  • 面试知识点梳理及相关面试题(五)-- 多线程

    1 进程 线程和协程 进程 一个运行的程序就是一个进程 进程是资源分配的最小单位 线程 程序中运行的一个个子任务就是一个线程 线程是操作系统调度执行的最小单位 协程 协程是一种用户态的轻量级线程 协程的调度完全由用户控制 2 创建线程的四种
  • ue4_timeline时间轴

    1 给一个cube添加蓝图 需要修改的是z轴方向移动位置 将z轴传入时间轴 时间轴蓝图如下 z轴时间轴修改为 第一个节点 time 0 value 300 物体的z轴初始位置 第二个节点 time 1 value 600 z轴移动300个单
  • 【python3】3.函数、类、模块

    2022 11 15 本学习内容总结于莫烦python 3 函数 类 模块 https mofanpy com tutorials python basic interactive python function 1 Function 函数
  • IB计算机科学选课,IB体系应如何正确选课?

    原标题 IB体系应如何正确选课 选择国际学校最重要的环节就是选课 这决定了你之后的学习方向和计划 甚至影响到成绩的好坏 目前很多国际学校都是IB体系 IB课程除了重视基础知识教学 还有学生的综合素质培养 教学大纲也是与时俱进5年一换 IB体
  • Vue3 + Vite3 + Element-Plus 管理系统

    Vue3 Vite3 Element Plus 管理系统 介绍 vue diverse admin 基于 Vue3 TypeScript Vite3 Element Plus 开源的一套后台管理模板 项目均使用JS开发 但已经配置TS 可以
  • 【VHDL】随机存储器RAM、只读存储器ROM

    VHDL 随机存储器设置 RAM程序 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY RAM 8 IS PORT CS RD WR IN STD LOGIC CLK IN STD LOGIC
  • Android SDK的安装教程

    Android SDK的安装教程 Android4 1虽说已经发布了好些天 但由于的我手机比较坑 系统依旧保持在2 3 4 0的都是可望不可即的了 就别说4 1 由于资金的问题 没法换手机 只能另想方法 通过在笔记本上装android4 1
  • java实现,如何在当前时间往后推三十天

    Calendar cal Calendar getInstance cal add Calendar Date 30 Date date cal getTime
  • topaz全家桶中文_apache 开源项目全家桶 2020年12月中文介绍

    apache项目全家桶 很多apache开源项目特别好 但是没什么能汇总的文档 我来整一个 不定期更新 big data 50 Project Apache Accumulo star 838 github https github com
  • shell脚本基础4——function函数、expect

    文章目录 一 function函数 1 1 函数的定义使用 1 2 函数参数 1 2 1 脚本内传参 1 2 2 脚本外传参 1 3 引用局部变量 1 3 1 区分局部变量 1 3 2 全局变量在函数外 1 3 3 全局变量在函数体 1 3
  • windows检测文件夹是否更新.bat脚本 windows循环检查文件夹

    最近在写windows脚本 记录一下一个很有用的信息 参考 https zhidao baidu com question 2208474390884363868 html 转载于 https www cnblogs com ChenCha
  • Python3 使用 matplotlib 画折线图

    ChartUtil py import matplotlib pyplot as plt from pylab import mpl def plotLine xData yData xLabel chartTitle mpl rcPara
  • matlab:基本操作与矩阵输入

    学习素材 MATLAB教程 台大郭彦甫 14课 原视频补档 MATLAB教程 台大郭彦甫 14课 原视频补档 哔哩哔哩 bilibili 部分素材使用视频截图 目录 一 基本运算 二 关键字 三 format 四 符号 1 2 colon
  • [ACTF 2020 新生赛] Exec

    Exec ping 127 0 0 1 ls ping 127 0 0 1 nl f
  • ABAP实现粘贴板的操作,复制粘贴_SAP刘梦_新浪博客

    ABAP可以实现复制粘贴的操作 自己玩儿 项目里暂时用不到 在ABAP中的 CLASS CL GUI FRONTEND SERVICES中提供了两个方法来控制与剪贴板内容的导入导出 分别是 CLIPBOARD EXPORT和CLIPBOAR
  • Git学习笔记【1】---本地操作

    声明 本教程参考自https www bilibili com video BV1Zz4y1C7vg p 17 一 Git的安装 官网下载即可 https git scm com 二 初始化本地仓库 1 创建一个文件夹 2 打开Git终端