git入门教程

git入门教程

  • 一、工作流程
  • 二、获取本地仓库
  • 三、Git常用指令
    • 1、查看文件状态
    • 2、查看提交日志
    • 3、版本回退
    • 4、添加文件至忽略列表
  • 三、分支
    • 1、查看本地分支
    • 2、创建分支
    • 3、切换分支
    • 4、合并分支
    • 5、删除分支
    • 6、解决冲突
  • 四、Git远程仓库
    • 1、常用的托管服务[远程仓库]
    • 2、注册码云
    • 3、创建远程仓库
    • 4、配置ssh公钥
    • 5、操作远程仓库
      • 1、添加远程仓库
      • 2、查看远程仓库是否添加
      • 3、推送到远程仓库
      • 4、从远程仓库克隆
      • 5、从远程仓库中抓取和拉取

一、工作流程

在这里插入图片描述

二、获取本地仓库

要想使用Git对我们的代码进行版本控制,首先需要获得本地仓库
(1)在电脑的任意位置创建空目录,例如git_test作为我们的本地git仓库
(2)进入到这个目录,右键打开git bash窗口
(3)执行命令git init
(4)创建成功后即可在目录里看到.git目录
在这里插入图片描述

三、Git常用指令

在这里插入图片描述

1、查看文件状态

在这里插入图片描述
可以查看到它是属于上图中未跟踪的状态,我们需要添加至暂存区,并且提交到本地仓库,git add .表示将当前目录下所有的修改都加入暂存区

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git add .Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git status
On branch master
No commits yet
Changes to be committed:(use "git rm --cached <file>..." to unstage)new file:   file01.txtLenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git commit -m "add file01"
[master (root-commit) 4357b44] add file011 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 file01.txtLenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git status
On branch master
nothing to commit, working tree clean

可以看到工作区没有内容,证明创建的文件已经提交至本地仓库了

2、查看提交日志

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git log
commit 4357b44d7605e37ea471798d0ea388472af3b4d4 (HEAD -> master)
Author: liyu <ly246824ly@163.com>
Date:   Wed Apr 20 16:31:39 2022 +0800add file01

我们对上述的file01文件做一次修改,再add,再commit,之后看它的提交日志,可以看到有两次提交

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git log
commit 0e85a804b48774a756806a68704840850268f9a6 (HEAD -> master)
Author: liyu <ly246824ly@163.com>
Date:   Wed Apr 20 16:38:05 2022 +0800update file01commit 4357b44d7605e37ea471798d0ea388472af3b4d4
Author: liyu <ly246824ly@163.com>
Date:   Wed Apr 20 16:31:39 2022 +0800add file01

3、版本回退

作用及其使用的命令:

作用:用于版本切换
命令:git reset --hard commitID
commitID可以使用git log指令查看

在这里插入图片描述

4、添加文件至忽略列表

直接将文件添加至.gitignore这个文件即可。

三、分支

几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行重大bug的修改,在你自己的分支上开发新的功能,以免影响开发主线。

1、查看本地分支

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git branch
* master

2、创建分支

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git branch dev01Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git branchdev01
* master

3、切换分支

$ git branchdev01
* masterLenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git checkout dev01
Switched to branch 'dev01'Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (dev01)
$ git branch
* dev01master

创建并切换到一个不存在的分支里

$ git checkout -b dev02
Switched to a new branch 'dev02'Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (dev02)
$ git branchdev01
* dev02master

4、合并分支

将一个分支上的提交,合并到另一个分支上,以dev01合并到master上为例,必须先切换到master分支里

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ git merge dev01
Updating 4357b44..d704055
Fast-forwardfile02.txt | 01 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 file02.txt

效果图如下:
在这里插入图片描述

5、删除分支

$ git branch -d dev02
Deleted branch dev02 (was 4357b44).删除不了的话可以强制删除,-D

6、解决冲突

何为冲突?

当两个分支上对同一个文件的同一行内容进行的不同的修改,就会发生冲突。会把两个分支修改的内容全部显示出来,效果图如下:
在这里插入图片描述

如何解决?

这时需要我们指定好file01里的内容,使得count=5,然后进行add,commit等操作,再查看就是我们修改好的内容了。

Lenovo@LAPTOP-9AP25JNG MINGW64 ~/Desktop/git_test (master)
$ cat file01.txt
update count=5

四、Git远程仓库

1、常用的托管服务[远程仓库]

Git中存在两种仓库,即本地仓库和远程仓库。那我们如何搭建远程仓库呢?比较常用的有github,码云,gitlab等。
工作中用的比较多的是gitlab,因为码云和github都是把代码放在别人那边,不太安全,而gitlab是自己搭建的,较为安全。

三个远程仓库有什么区别?

1、github是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管。
2、码云是国内的一个代码托管平台,由于服务器在国内,所以相比github,码云速度会更快
3、gitlab是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业,学校等内部网络搭建的git私服。

2、注册码云

要想使用码云的相关服务,需要注册账号(https://gitee.com/signup)

3、创建远程仓库

注册好之后,就新建仓库,直接点击创建,效果如下:
在这里插入图片描述

4、配置ssh公钥

要想将本地仓库的代码推到远程仓库上,就必须两者建立联系,可以用用户名等登录,但是最常用的就是配置ssh公私钥对。
生成ssh公钥

ssh-keygen -t rsa
不断回车,如果公钥已存在,会自动覆盖

查看公钥

cat ~/.ssh/id_rsa.pub

在码云的设置里,添加公钥即可
在这里插入图片描述
验证是否配置成功
在这里插入图片描述

5、操作远程仓库

1、添加远程仓库

在本地告诉本地仓库,你所对应的远程仓库是哪一个?
先查看远程仓库的地址
在这里插入图片描述
然后在本地操作:

git remote add 远端名称  仓库路径
远端名称:默认是origin,取决于远端服务器设置
仓库路径:从远端服务器获取此URL
$ git remote add origin git@gitee.com:ly24/git_test.git

2、查看远程仓库是否添加

$ git remote
origin

3、推送到远程仓库

git push 远端名称   本地分支名  
$ git push origin master

4、从远程仓库克隆

我们将自己的仓库推送到远端了,另外一个同学也想用我们的这个仓库,那他可以把远端仓库克隆到他本地
在这里插入图片描述
我们可以看到上述命令就是将远程仓库克隆到本地,本地文件夹名称为hello-git,两个文件夹的文件是一致的。

5、从远程仓库中抓取和拉取

抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

git fetch [remote name]  [branch name]
如果不指定远端名称和分支名,则抓取所有分支

拉取命令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

git pull [remote name]  [branch name]
如果不指定远端名称和分支名,则抓取所有并更新当前分支

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

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

相关文章

gcc/linux下的c++异常实现

概述 本文不一定具有很好的说教性&#xff0c;仅作为自我学习的笔记。不妨可参阅国外大神博文C exceptions under the hood链接中包含了大量的例子。 偶有在对ELF做分析的时候看到如下图一些注释&#xff0c;部分关键字看不懂&#xff0c;比如什么FDE, unwind , __gxx_perso…

万字长文解析AQS抽象同步器核心原理(深入阅读AQS源码)

AQS抽象同步器核心原理 在争用激烈的场景下使用基于CAS自旋实现的轻量级锁有两个大的问题&#xff1a; CAS恶性空自旋会浪费大量的CPU资源。在SMP架构的CPU上会导致“总线风暴”。 解决CAS恶性空自旋的有效方式之一是以空间换时间&#xff0c;较为常见的方案有两种&#xff…

哔哩哔哩 B站 bilibili 视频倍速设置 视频倍速可自定义

目录 一、复制如下代码 二、在B站视频播放页面进入控制台 三、将复制的代码粘贴到下方输入框&#xff0c;并 回车Enter 即可 四、然后就可以了 一、复制如下代码 &#xff08;该代码用于设置倍速为3&#xff0c;最后的数值是多少就是多少倍速&#xff0c;可以带小数点&#…

Kafka为什么这么快?

Kafka 是一个基于发布-订阅模式的消息系统&#xff0c;它可以在多个生产者和消费者之间传递大量的数据。Kafka 的一个显著特点是它的高吞吐率&#xff0c;即每秒可以处理百万级别的消息。那么 Kafka 是如何实现这样高得性能呢&#xff1f;本文将从七个方面来分析 Kafka 的速度优…

PCI控制器扫描PCI总线过程解析

1、PCI的三种地址空间介绍 地址空间描述命令说明I/O空间供给设备驱动程序使用I/O操作命令对设备对应的I/O地址空间进行访问&#xff0c;此类访问不可预取存储空间供给设备驱动程序使用memory操作命令对设备的Memory空间进行访问&#xff0c;其中Memory操作命令又可分为Prefech…

从PC传输文件到ipad

首先从PC上进入iTunes。剩下步骤如图所示。

【iPhone和iPad设备管理和文件传输工具】iMazing 2.9.9 for Mac

文章来源于&#xff1a;风云社区 iMazing 2.9.9 for Mac iMazing- 管理你的iPhone。获取可信赖的软件来传输和保存您的音乐&#xff0c;消息&#xff0c;文件和数据。安全备份任何iPhone&#xff0c;iPad或iPod touch。iMazing功能强大且用户友好&#xff0c;是Mac和PC的最佳…

ipad如何投屏到xbmc_询问操作技巧:在iPad上设置文件传输拖放区,XBMC,并使用控制台模拟器享受复古游戏...

ipad如何投屏到xbmc Once a week we round up some of the reader questions we’ve answered and share them with everyone; this week we’re taking a look at setting up file transfer drop zones, installing XBMC on the iPad, and setting up a console emulator. 每周…

iOS系统与Windows电脑如何做到无线传输文件?

iOS系统与Windows电脑传输文件&#xff0c;大多数人可能会选择使用微信或QQ的 “文件传输助手”&#xff0c;今天我教大家一种一分钟设置&#xff0c;便可永久传输的简单方法。快点赞收藏起来吧&#xff01;&#xff01; &#xff08;此处用iPad 第8代 2020为例子&#xff09;…

Nginx详解 第三部分:Nginx高级配置(附配置实例)

Part 3 一、网页的状态页二、Nginx第三方模块2.1 echo 模块 三、变量3.1 内置变量3.1.1 常用内置变量3.1.2 举个例子 3.2 自定义变量 四、自定义访问日志 (优化)4.1 自定义访问日志的格式4.2 自定义json 格式日志 五、Nginx压缩功能&#xff08;重要&#xff09;六、HTTPS 功能…

Java“牵手”天猫商品历史价格信息API接口数据,天猫API接口申请指南

天猫平台商品历史价格接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、最低价、当前价格、价格信息等详细信息 。 获取商品历史价格接口API是一种用于获取电商平台…

美国慌了,满世界找稀土替代却找不到,最终还是得求中国

中国先后对稀土、镓、锗等稀有金属材料的出口采取限制措施&#xff0c;美国一开始并不慌&#xff0c;毕竟全球还有美国自己、澳大利亚、蒙古等国家拥有稀土矿藏&#xff0c;因此美国以为可以迅速找到替代&#xff0c;然而如今却发现事情并不简单。 中国占有的稀土矿藏确实不算最…

家用计算机音效部件图示,唱吧新版自定义音效设置方法(附上最佳音效设置参数图)...

新版唱吧发布后&#xff0c;觉得唱吧设计的音效越来越专业 真的很爱这个版本 愿研发GG们继续研发更多更牛的音效&#xff01;我们这些唱粉也跟着一起进步。 除了界面大改版之外&#xff0c;录音功能也有大的改进喔&#xff01; 一眼望去&#xff0c;以前的音效又增加了若干固定…

Java的异常与错误

对比 Exception 和 Error&#xff0c;另外&#xff0c;运行时异常与一般异常有什么区别&#xff1f; Exception 和 Error 都是继承了 Throwable 类&#xff0c;在 Java 中只有 Throwable 类型的实例才可以被抛出&#xff08;throw&#xff09;或者捕获&#xff08;catch&#x…

渗透测试工具ZAP入门教程(1)-安装和快速开始

介绍 ZAP Zed Attack Proxy&#xff08;ZAP&#xff09;是一个免费的开源渗透测试工具&#xff0c;在 软件安全项目 &#xff08;SSP&#xff09;。ZAP 专为测试 Web 应用程序而设计&#xff0c;既灵活又可扩展。 ZAP的核心是所谓的“中间人代理”。它位于测试人员的浏览器和…

叁腾科技更新招股书:营收、净利双降,创始人鲁永祥有股权被冻结

日前&#xff0c;上海叁腾科技有限公司&#xff08;Sentage Holdings Inc.&#xff0c;下称“叁腾科技”&#xff09;向美国证券交易委员会&#xff08;SEC&#xff09;递交了更新后的招股书。招股书显示&#xff0c;叁腾科技拟在纳斯达克上市。 根据招股书&#xff0c;叁腾科…

任意系统升Windows10(microsoft官网)

打开https://www.microsoft.com/zh-cn/software-download/windows10 点击“立即下载工具” 下载好后点击“保留” 单击“MediaCreationTool20H2.exe”

竞逐新能源汽车续航,背靠广汽的巨湾技研能否打好“技术牌”?

续航、安全性能包括充电速度一直都是新能源汽车行业发展掣肘。 2020年以来&#xff0c;国内外主力电动乘用车续航普遍突破600公里&#xff0c;消费者续航焦虑逐步化解&#xff0c;但随之而来的是&#xff0c;需求侧对充电便捷性的考量&#xff0c;能否像传统车加油一样实现快速…

GD32E230C8T6_OTA升级

GD32E230C8T6_OTA升级 运行环境简介程序的起始地址进行分区总体流程图Bootloader 程序Bootloader 编译设置APP 分区部分APP 编译设置重点步骤 运行环境 1.Windows10 2. Keil5(MDK5) Version 5.27.0.0 3. MCU GD32E230C8T6 简介 本例程主要分析在线升级(OTA)的实现过程, 主要…

个人配置电脑清单 (windows+黑苹果)

自配第一套,3A游戏入门套 AMD锐龙 R5 3500X盒装微星B450 迫击炮 Max主板套装 1218元 酷兽DDR4 8G 3200MHz内存条 2条 301元 耕升1660 super 6g 炫光 1487元 爱国者极光风扇 4个 110元 航嘉 金牌500W WD500K电源 265元 先马&#xff08;SAMA&#xff09;鲁班1 机箱 179元 …