Git命令版(powernode)

news2024/11/15 8:45:10

Git命令版(powernode)

目录

  • Git命令版(powernode)
    • 1.添加文件
      • 相关命令
      • 案例实操
      • 小结:
    • 2.工作区和暂存区
      • 2.1 名词解释。
        • 2.1.1 工作区(Working Directory)
        • 2.1.2 版本库(Repository)
      • 2.2小结
    • 3.版本本回退
      • 相关命令
      • 案例实操
    • 4.删除文件
      • 相关命令
      • 案例实操
    • 5.分支的相关操作
      • 相关命令
      • 案例实操
      • 合并的冲突问题
    • 6.远程仓库的使用
      • 6.1下载线上项目
      • 6.2 上传本地项目到远程仓库(https的方式)
        • 6.2.1 初始化本地仓库
        • 6.2.2 在本地仓库添加文件
        • 6.2.3 将文件添加到暂存区
        • 6.2.4 将文件提交到本地仓库
        • 6.2.5 在gitee上创建一个项目
      • 6.3 SSH方式访问远程仓库
        • 6.3.1 配置SSH秘钥
        • 6.3.2 在本地生成SSH认证证书
        • 6.3.3 在gitee平台配置公钥
        • 6.3.4 初始化本地仓库
        • 6.3.5 在本地仓库添加文件
        • 6.3.6 将文件添加到暂存区
        • 6.3.7 将文件提交到本地仓库
    • 7.修改电脑上默认gitee账号密码
    • 8.IDEA中使用Git
      • 如何创建远程仓库
      • 创建分支
      • 删除分支

1.添加文件

相关命令

git add readme.txt        添加一个文件,用来提交  提交后的文件就相当于真的交给git仓库 
git add file2.txt file3.txt   添加多个文件
git add -A              将当前目录所有的文件都添加   
git commit -m "提交文件的注释信息"   提交文件到版本库
git status   查看当前库的状态
git diff  查看修改的内容

案例实操

进入你本地的工作空间所在的目录
在这里插入图片描述
输入cmd
在这里插入图片描述
创建一个文件夹
并进入这个文件夹
git init 初始化的空Git存储库在这里插入图片描述
双击Git Bash
进入你之前创建的文件夹的目录
创建一个test.txt文件 文件内容为aaaaaaaaa
在这里插入图片描述

在这里插入图片描述
查看test.txt文件的内容
在这里插入图片描述
将text.txt从本地工作空间add新增到本地索引
再从本地索引commit提交到本地仓库上
在这里插入图片描述

git status

git status 命令用于查看在你上次提交之后是否有对文件进行再次修改。
文件,文件夹在工作区,暂存区的状态

没有什么提交的,工作树干净
在这里插入图片描述
创建一个test2.txt文件 文件内容为bbbbbbbbbbbb

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

再次使用git status命令
在主分支上,
未跟踪的红色文件:
使用"git add <file>…"来包含将要提交的内容
test2.txt
没有添加到提交中,但存在未跟踪的文件(使用“git add”到跟踪)

在这里插入图片描述

git add test2.txt
警告:在“test2.txt”的工作副本中,下次Git接触LF时,LF将被CRLF替换
git status
在主分支
要提交的更改:
(使用“git-restore --staged<file>...”来取消分页)
新文件:test2.txt

在这里插入图片描述

#查看test2.txt修改的内容
git diff test2.txt
#再次编辑test2.txt的内容,增加一行cccccccccccc
vim test2.txt
#查看test2.txt的内容
cat test2.txt
#再次查看test2.txt修改的内容
git diff test2.txt
警告:在“test2.txt”的工作副本中,下次Git接触LF时,LF将被CRLF替换
diff --git a/test2.txt b/test2.txt
index 7b1ede4..b33146b 100644
--- a/test2.txt
+++ b/test2.txt
@@ -1 +1,2 @@
 bbbbbbbbbbbbbbbbbbb
+ccccccccccccccccccc

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

小结:

Git init 初始化git仓库
Git add 添加指定文件
Git commit 提交添加的所有文件
Git status 查看当前git仓库的状态

2.工作区和暂存区

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。

2.1 名词解释。

2.1.1 工作区(Working Directory)

就是你在电脑里能看到的目录,比如我的repostiory文件夹就是一个工作区:
在这里插入图片描述
working-dir

2.1.2 版本库(Repository)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
在这里插入图片描述
分支和HEAD的概念我们以后再讲。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
俗话说,实践出真知。现在,我们再练习一遍,先对readme.txt做个修改,比如加上一行内容:
锄禾日当午;
汗滴禾下土;
谁知盘中餐;
粒粒皆辛苦;
然后,在工作区新增一个LICENSE文本文件(内容随便写)。
在这里插入图片描述
先用git status查看一下状态:

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   readme.txt
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        LICENSE.txt
no changes added to commit (use "git add" and/or "git commit -a")

Git非常清楚地告诉我们,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked。
现在,使用两次命令git add,把readme.txt和LICENSE.txt都添加后,用git status再查看一下:

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        new file:   LICENSE.txt
        modified:   readme.txt

现在,暂存区的状态就变成这样了:
在这里插入图片描述
所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。

$ git commit -m "添加 粒粒皆辛苦和LICENCE.txt"
[master f8eb8ab] 添加 粒粒皆辛苦和LICENCE.txt
 2 files changed, 3 insertions(+), 1 deletion(-)
 create mode 100644 LICENSE.txt

一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:

$ git status
On branch master
nothing to commit, working tree clean

现在版本库变成了这样,暂存区就没有任何内容了:
在这里插入图片描述

2.2小结

暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。
没弄明白暂存区是怎么回事的童鞋,请向上滚动页面,再看一次。
创建文件 在工作区
添加文件 到暂存区
提交文件 到版本库分支
在这里插入图片描述

3.版本本回退

注意:版本:指的是我们提交到分支中每一个内容
原理:我们每一次将指定文件提交到分支中,这个文件的内容都分配了一个id

相关命令

git log #查看当前分支的版本提交记录
git log --pretty=oneline #一个行显示
git reset --hard HEAD^    #回退到上一个版本
git reset --hard cb5f63     #回退到指定的版本号

案例实操

git reset --hard cb5f63     #回退到指定的版本号

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

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

git reset --hard HEAD^    #回退到上一个版本

在这里插入图片描述

4.删除文件

相关命令

先删除
git rm -rf 文件名
再提交 
Git commit -m 备注

案例实操

在这里插入图片描述

5.分支的相关操作

相关命令

git branch  #查看所有分支
git branch dev  #创建一个叫dev的分支,不切换
git checkout dev  #切换到一个叫dev的分支
git checkout -b dev  #创建dev分支并切换到dev分支
git branch -d issue001  #删除issue001分支
git merge dev  #合并分支  

如把dev合并到master那么要在master分支上执行合并的命令

案例实操

在这里插入图片描述

合并的冲突问题

当两个分支中有同名称但是不同内容的文件时,就会发生合并冲突
Git的处理方式:
1.提示信息:告诉我们合并冲突了
2.将两个文件的内容都保留到同一个文件中,并且使用特点的字符标识出来,那一部分内容属于哪一个分支
作为程序员只能手动的处理
在这里插入图片描述

先合并,再手动解决冲突,再添加 再提交
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模拟普通合并
在这里插入图片描述

在这里插入图片描述
HEAD指向的是当前分支
在这里插入图片描述
手动合并
在这里插入图片描述
在这里插入图片描述

6.远程仓库的使用

6.1下载线上项目

clone 克隆命令 下载项目
示例

git clone https连接地址

6.2 上传本地项目到远程仓库(https的方式)

步骤
1,让本地项目被git管理
2,提交项目到本地的版本库
3,把本地的版本库和中央版本库进行关联

git init
git add -A
git commit -m "提交项目的信息" 

6.2.1 初始化本地仓库

git init 初始化本地仓库

6.2.2 在本地仓库添加文件

创建或者拷贝文件

6.2.3 将文件添加到暂存区

git add 文件名称

6.2.4 将文件提交到本地仓库

git commit 文件名称

在这里插入图片描述

6.2.5 在gitee上创建一个项目

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

在这里插入图片描述

git remote add origin Gitee远程仓库的地址
git remote
git push -u origin "master"

在这里插入图片描述

6.3 SSH方式访问远程仓库

https的方式连接远程仓库 VS SSH方式连接远程仓库
如果选择使用https的方式连接远程仓库,则必须输入用户名与密码
如果选择使用ssh方式连接远程仓库,则不需要输入用户名与密码

那么ssh连接的方式是如何保证安全的?
答案:在pc端生成一个密文,将这个密文配置到gitee中。那么每次使用当前电脑连接gitee仓库时,gitee就自动校验这台电脑保存的密文是否合法,如果合法则认为这台电脑是受信任的,就可以访问了

6.3.1 配置SSH秘钥

6.3.2 在本地生成SSH认证证书

ssh-keygen -t rsa -C "12140777+FBIHackerHarryHao@user.noreply.gitee.com"

注意:
邮箱一般使用平台注册邮箱

按三下回车
在这里插入图片描述

在这里插入图片描述
用文本编辑器打开id_rsa.pub
复制公钥
在这里插入图片描述

6.3.3 在gitee平台配置公钥

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

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

git init
git add -A
git commit -m "提交项目的信息" 

6.3.4 初始化本地仓库

git init 初始化本地仓库

6.3.5 在本地仓库添加文件

创建或者拷贝文件

6.3.6 将文件添加到暂存区

git add 文件名称

6.3.7 将文件提交到本地仓库

git commit 文件名称

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

7.修改电脑上默认gitee账号密码

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

8.IDEA中使用Git

File->Settings
在这里插入图片描述
点击Version Control->点击Git->在Path to Git executable中选择Git的安装路径下的bin目录下的git.exe文件
在这里插入图片描述
新建一个Hello2类,->点击Add,添加到暂存区
在这里插入图片描述
在这里插入图片描述
鼠标右击项目
点击Git->Commit Directory
在这里插入图片描述
输入提交的信息->点击Commit 提交在这里插入图片描述
鼠标右击项目->点击Git->点击Repository->点击Push
在这里插入图片描述
这里可以选择访问远程仓库的形式。
origin是以https的方式,origin2是 以SSH的方式,访问远程仓库。
这里选择 origin2 以SSH的方式,访问远程仓库。
点击Push
在这里插入图片描述

如何创建远程仓库

================================================================
鼠标右击项目->Git->Repository->Remotes
在这里插入图片描述

在这里插入图片描述

================================================================

创建分支

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

删除分支

在这里插入图片描述

在这里插入图片描述
远程仓库的分支
在这里插入图片描述

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

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

相关文章

数据结构之双向链表

双向链表与单向链表较为类似&#xff0c;单向链表有一个指针域&#xff0c;用来指向后继结点&#xff0c;而双向链表有两个指针域&#xff0c;分别用来指向前驱结点和后继结点。玩双向链表时一定要从单向链表的思维中跳出来&#xff0c;否则在操作双向链表时就会出现各种问题。…

【Python百日进阶-数据分析】Day144 - plotly箱线图:go.box()实例

文章目录4.2 go.Box 箱线图4.2.1 基本箱线图4.2.2 基本水平箱线图4.2.3 显示基础数据的箱线图4.2.4 修改计算四分位数的算法4.2.5 带有预先计算的四分位数的箱线图4.2.6 彩色箱线图4.2.7 箱线图样式均值和标准差4.2.8 造型异常值4.2.9 分组箱线图4.2.10 分组水平箱线图4.2.11 彩…

一起学习用Verilog在FPGA上实现CNN----(四)池化层设计

1 池化层设计 自顶而下分析池化层的设计过程 1.1 Average Pool Multi Layer 图为该项目的平均池化层&#xff0c;其包含一个AvgPoolSingle单元&#xff0c;模块的输入为图像特征矩阵&#xff0c;输出为池化后的特征矩阵 图片来自附带的技术文档《Hardware Documentation》 …

Java开发学习(三十六)----SpringBoot三种配置文件解析

一、 配置文件格式 我们现在启动服务器默认的端口号是 8080&#xff0c;访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80&#xff0c;这样在访问的时候就可以不写端口号了&#xff0c;如下 http://localhost/books/1 而 SpringB…

电脑屏录软件,这3款良心软件,分享给你

现在很多人会使用电脑屏录软件&#xff0c;有些用来记录游戏中的精彩操作&#xff0c;有些用来记录在线教学课程&#xff0c;有些用来记录在线视频会议。现在有各种各样的电脑屏录软件。选择一个好的电脑屏录软件是非常重要的。电脑屏录软件哪个好&#xff1f;下面小编分享3款良…

前端基础(四)_数据类型的强制转换

数据类型的强制转换就是通过js提供的函数进行数据转换。常见的就是将其他类型的数据转换成number类型和string类型。 一、其他类型转 number 类型 1.Number Number 方法将其他类型的数据转换为Number类型&#xff0c;返回一个新的数值&#xff0c;不会改变变量本身。 例1&…

【Linux】Linux编辑器-vim的使用以及指令集

推荐先将vim配置好后再使用会方便一些&#xff0c;就是将Linux下vim打造成C IDE的样子。自动配置vim vim1.vim的基本概念2.vim的基本操作2.1进入vim编辑界面2.2 如何在vim编辑代码2.3 退出vim并保存代码2.4一张图总结基本操作3.vim正常模式命令集3.1 进入插入模式和退出插入模式…

自己电脑中安装黑群辉NAS

前期准备&#xff1a;一个品牌U盘(制作后就是启动盘需一直插电脑上)、一台安装群辉的电脑&#xff08;可以没有硬盘&#xff09;、一台可正常开机的电脑 资源下载&#xff1a; 百度网盘链接&#xff1a;链接: https://pan.baidu.com/s/1t_yVON16Pt8H1ytpvf0J-A?pwdxe7m 提取…

Little Snitch 5 - Mac 老牌防火墙安全工具软件小飞贼,监控和组织特定软件的网络连接

Little Snitch 5 - Mac 老牌防火墙安全工具软件小飞贼&#xff0c;监控和组织特定软件的网络连接 一旦连接到Internet&#xff0c;应用程序就可以随时随地发送它们想要的任何东西。通常情况下&#xff0c;他们是为你做的。但有时&#xff0c;例如在跟踪软件、木马或其他恶意软件…

ICLR2022 | ViT-VQGAN+:Vector-quantized Image Modeling with Improved VQGAN

论文链接&#xff1a;https://openreview.net/forum?idpfNyExj7z2 | https://arxiv.53yu.com/abs/2110.04627原文标题&#xff1a;Vector-quantized Image Modeling with Improved VQGAN一、问题提出Natural language processing (NLP) has recently experienced dramatic imp…

程序结构你都懂了吗

上一篇&#xff1a;Python中基本输入和输出 昨天有粉丝问我&#xff0c;在看别人代码时总感觉脑子很混乱&#xff0c;不知道代码到哪步是停止&#xff0c;哪步又是开始&#xff0c;这是怎么回事呢&#xff1f; 其实很简单&#xff0c;因为还没有明白程序的基本执行流程&#x…

空间滤波基础

空间滤波是一种图像处理技术&#xff0c;它通过对每个像素周围的像素进行加权平均来平滑图像。这个过程的基本思想是&#xff0c;将每个像素的灰度值与它周围像素的灰度值进行加权平均&#xff0c;然后用平均值来替换原来的像素值。空间滤波器的大小和形状决定了每个像素的加权…

如何用 Redis 统计用户访问量?

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/Tyson0314/Java-…

DCN v1 可变形卷积v1解析(修正篇)

在两年前的这篇文章Deformable Convolution&#xff08;可变形卷积&#xff09;代码解析&#xff08;有错误&#xff0c;修改中&#xff09;中&#xff0c;当时对可变形卷积进行了代码解读&#xff0c;后来被网友指出其中的解释是错的&#xff0c;里面引用的keras版本的代码实现…

002、捕鱼和分鱼问题

002、【题目】捕鱼和分鱼问题 捕鱼和分鱼&#xff1a;A、B、C、D、E 五个人在某天夜里合伙去捕鱼&#xff0c; 到第二天凌晨时都疲惫不堪&#xff0c;于是各自找地方睡觉。 日上三杆&#xff0c;A第一个醒来&#xff0c;他将鱼分为五份&#xff0c;把多余的一条鱼 扔掉&…

C语言-数据的存储-整形的存储(8.1)

目录 思维导图&#xff1a; 1.数据类型的基本归类 1.1类型的意义 1.2整形家族 1.3浮点数家族 1.4构造类型 1.5指针类型 1.6空类型 2. 整形在内存中的存储 2.1 原码、反码、补码 2.2 大小端介绍 2.3 练习、巩固、提高 写在最后&#xff1a; 思维导图&#xff1a; 1…

视觉slam中的相机类型

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 顾名思义&#xff0c;视觉 SLAM&#xff08;又称 vSLAM&#xff09;使用从相机和其他图像传感器采集的图像。视觉 SLAM 可以使用普通相机&#xff08;广角…

【UnLua】深入理解 UnLua

【UnLua】深入理解 UnLua 从 UnLua 框架层面讨论真正值得关注的关键点 UnLua 架构UnLua 内存管理UnLua 性能 大纲 UnLua 静态导出UnLua 架构UnLua 内存管理UnLua 性能 静态导出 静态导出&#xff0c;这是标准的 Lua 用法&#xff0c;已经非常完善了&#xff0c;就一种标准…

qemu virtio设备模拟与初始化流程

文章目录VirtIO设备模拟及初始化流程Virtio设备的创建参数解析virtio 设备初始化流程pci_bus_matchpci_match_devicepci_device_probevirtio_pci_proberegister_virtio_devicevirtio_dev_matchvirtio_dev_probe参考VirtIO设备模拟及初始化流程 qemu设备虚拟机化的路线可以概括…

C++之智能指针

文章目录一、为什么需要智能指针&#xff1f;二、智能指针的使用及原理1. RAII2.智能指针的原理3. auto_ptr4. unique_ptr5. shared_ptr6. weak_ptr7.删除器一、为什么需要智能指针&#xff1f; 如果在 div() 输入的 b 0&#xff0c;那么就会抛出一个异常&#xff0c;被 main…