[git] git基础知识

这篇具有很好参考价值的文章主要介绍了[git] git基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目

git易于学习,性能极快

什么是版本控制?

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况,可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换(版本控制本质就是用git管理文件夹,是为了保留之前所有的版本,以便回滚和修改)

Git的常用命令

查看git的版本号

git --version

想要让git对一个目录进行版本控制需要以下步骤:

1.进入要管理的文件夹

2.执行初始化命令(初始化本地库

git init

git init 命令会把这个目录变成git可以管理的仓库

该命令执行完后会在当前目录生成一个 .git 目录,所有 git 所需要的数据和资源都存放在这个目录中

3.管理目录下的文件状态(查看本地库当前的状态,显示有变更的文件)

git status

4.管理指定文件(添加文件到暂存区)

git add 文件名
git add .

5.设置用户签名:用户名称、电子邮箱地址【配置一次即可】 

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

提示Tips

1.签名的作用是区分不同操作者身份,用户的签名信息在每一个版本的提交信息中都能够看到,以此确认本次提交是谁做的。git首次安装必须设置一下用户签名,否则无法提交代码

2.注意这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系

3.输入 git config user.name 可查看设置的用户名

   输入 git config user.email 可查看设置的用户邮箱

   输入 git config --list 可查看配置清单

6.生成版本(将暂存区内容添加到本地库中)

git commit -m "描述信息"

简单解释一下git commit的命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然输入的内容最好是有意义的,这样我们就能从历史记录里方便地找到改动的记录

修改文件后重新添加到本地库中

查看状态(检测到工作区有文件被修改)

git status

提示Tips:如果 git status 告诉你有文件被修改过,我们可以使用 git diff 查看修改的内容

将修改的文件再次添加到暂存区

git add .

查看状态(工作区的修改添加到了暂存区)

git status

提交到本地库

git commit -m "描述信息"

版本穿梭(回滚)

查看历史提交记录

git log

git log该命令显示了从最新提交到最早提交的所有提交信息,包括提交的作者、提交日期和提交信息等  

git reflog

git reflog该命令也可以查看历史记录  

git reflog  查看版本信息

git log  查看版本详细信息

回滚至之前的版本

git log
git reset --hard 版本号

回滚至之后的版本

git reflog
git reset --hard 版本号

git分支操作

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN

[git] git基础知识,Git,git

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过在某个时间点,两个平行宇宙合并了,结果你既学会了git又学会了SVN 

在版本控制过程中,同时推进多个任务,我们可以为每个任务单独的创建分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。分支可以简单理解为副本,一个分支就是一个单独的副本

使用分支的好处

1.同时并行推进多个功能开发,提高开发效率

2.各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可

查看分支

git branch
git branch -v

创建分支

git branch 分支名称

切换分支

git checkout 分支名称
git switch 分支名称

创建+切换分支

git checkout -b 分支名称
git switch -c 分支名称

合并分支(把指定的分支合并到当前分支上)

git merge 需要进行合并的分支名称

提示Tips

1.合并分支有时也会产生冲突 ,产生冲突的原因是合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,git无法替我们决定使用哪一个,必须人为决定新代码内容

2.当Git无法自动合并分支时,就必须首先解决冲突,解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,然后再提交

删除分支

git branch -d 需要删除的分支名称

实际应用案例:基于分支紧急修复线上bug

当你接到修复一个代号001的bug的任务时,很自然地,我们可以创建一个分支bug-001来修复它,但是当前正在dev分支上进行的工作还没有提交,我们可以使用git提供的git stash功能,可以把当前工作现场"储藏"起来,等以后恢复现场后继续工作

在dev分支上使用如下git指令

git stash

首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支

查看分支

git branch -v

切换回master分支

git checkout master

创建并切换到bug-001分支

git checkout -b bug-001

查看现在所处的分支是否为bug分支

git branch -v

③ 在bug-001分支上进行修复出错的代码后,进行提交

git add .
git commit -m "bug修复完成"

提交完成后,切换回master分支,进行分支合并,最后删除bug分支 

git checkout master
git merge bug-001
git branch -d bug-001

现在bug-001修复完成,是时候接着回到dev分支进行干活了 

git checkout dev
git stash pop

提示Tips

修复bug时,我们会通过创建新的bug分支进行修复,然后进行合并,最后进行删除
当手头工作没有完成时,先把工作现场 git stash 一下,然后去修复bug,修复完bug之后,再使用 git stash pop 恢复工作现场

代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库

GitLab、GitHub、Gitee码云

局域网

    √  GitLab

互联网

    √  GitHub(外网)

    √  Gitee码云(国内网站)

创建(关联)远程库

git remote add 别名 远程库地址

关联一个远程库时必须给远程库指定一个名字(别名),origin是默认习惯命名

要关联一个远程库,使用如下命令

git remote add origin git@server-name:path/repo-name.git

查看当前所有远程地址别名

git remote -v

推送本地库分支到远程库 

git push 别名 分支

关联后,使用命令 git push -u origin master 第一次推送master分支的所有内容

此后,每次本地提交后,就可以直接使用命令 git push origin master 推送最新修改

拉取远程库到本地库 

git pull 别名 分支

克隆远程库到本地库

git clone 需要克隆的远程库地址

要克隆一个仓库,首先必须知道仓库的地址,然后使用 git clone 命令克隆

克隆clone会帮我们进行拉取代码、初始化本地仓库以及创建别名

删除远程库

如果创建(关联)远程库的时候地址写错了或者就是想删除远程库,可以用如下命令

git remote rm <name>

使用前,建议先用 git remote -v 查看远程库信息,然后删除指定的远程地址别名name

注意此处的"删除"其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库,远程库本身并没有任何改动

Git常用命令速查表

[git] git基础知识,Git,git文章来源地址https://www.toymoban.com/news/detail-717826.html

到了这里,关于[git] git基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 基础知识--stash 存储、reset 回退及恢复

    简介 Git 提供了 stash 存储的功能,即当你在工作到一半突然需要切换到另一个分支上,但又不想提交时,可将当前做出的修改通过 git stash 命令存储起来,之后再从其中重新读取之前的状态。 注意事项 若修改的文件没有执行 git add 即未被跟踪,则该文件不会被 git stash 存储,

    2023年04月10日
    浏览(46)
  • 【STM32】基础知识 第五课 C 语言基础知识

    stdint.h 是从 C99 中引进的一个标准 C 库的文件. 路径: “D:MDK5.34ARMARMCCinclude” 运算符 含义 运算符 含义 按位与 ~ 按位取反 | 按位或 左移 ^ 按位异或 右移 按位与: num1 运算符 num2 结果 0 0 0 1 0 0 0 1 0 1 1 1 按位或: num1 运算符 num2 结果 0 | 0 0 1 | 0 1 0 | 1 1 1 | 1 1 按位异或: num1 运算符

    2024年02月13日
    浏览(69)
  • 数字电路基础知识系列(六)之LC滤波器的基础知识

    LC滤波器,是指将电感(L)与电容器 ©进行组合设计构成的滤波电路,可去除或通过特定频率的无源器件。电容器具有隔直流通交流,且交流频率越高越容易通过的特性。而电感则具有隔交流通直流,且交流频率越高越不易通过的特性。因此,电容器和电感是特性完全相反的被

    2024年02月03日
    浏览(87)
  • Unity | Shader基础知识(第九集:shader常用单词基础知识速成)

    目录 一、顶点(Vertex)和法线(Normal) 二、UV信息 三、 基础数据种类 1 基础数据种类 2 基础数据数组 3 基础数据数组的赋值 4 对数据数组的调用 四、 基础矩阵 1 基础矩阵种类  2 对矩阵数组的调用 2.1对一个数据的调用  2.2对多个数据的调用  2.3对数据的赋值 五、基础纹理种

    2024年02月01日
    浏览(69)
  • Opengl入门基础-基础知识

    通过之前的教程,我们已经拥有了开发环境,但是在真正开发程序之前,我们首先了解下Opengl的基本概念。 Opengl是什么? 通常网上会说Opengl是一种规范,一种接口,但是这种说法有点抽象,我们不妨先看看下面这个简单的gl流程 代码中可能有人对GLFW_OPENGL_PROFILE这类参数感到

    2024年02月11日
    浏览(45)
  • YOLOv5基础知识入门(2)— YOLOv5核心基础知识讲解

    前言: Hello大家好,我是小哥谈。 YOLOV4出现之后不久,YOLOv5横空出世。YOLOv5在YOLOv4算法的基础上做了进一步的改进,使检测性能得到更进一步的提升。YOLOv5算法作为目前工业界使用的最普遍的检测算法,存在着很多可以学习的地方。本文将对YOLOv5检测算法的核心基础知识进行

    2024年02月14日
    浏览(50)
  • Unity中的热更新的基础知识,Xlua与ILRuntime基础知识

    热更新是指在不需要重新编译打包游戏的情况下,在线更新游戏中的一些非核心代码和资源,比如活动运营和打补丁。热更新分为资源热更新和代码热更新两种,代码热更新实际上也是把代码当成资源的一种热更新,但通常所说的热更新一般是指代码热更新。资源热更新主要

    2023年04月09日
    浏览(86)
  • eclipse基础操作+基础知识(一)

    🖊作者 : D. Star. 📘专栏 :JAVA 😆今日分享 : 电影版–花千骨 背景:eclipse已经安装完成。 eclipse版本:2020.06 tomcat版本:8.5 file–new–project… 查看创建好后的视图 在src下建一个包:右击src–new–package 在包下建一个 .java 文件:右击包–new–class 建完之后就可以在 .java 文件下敲

    2024年01月24日
    浏览(62)
  • 电路分析基础笔记(一)基础知识

    基本概念、定律、定理、基本分析方法 目录 前言 一、电路分析概述 二、电路与电路模型 三、电路元件  四、基尔霍夫定律 五、两类约束和电路方程 前言      电路分析基础要求全面掌握电路分析基本概念、基本定理和定律,具有灵活运用电路分析理论和方法分析问题和解

    2024年02月05日
    浏览(76)
  • Windows安全基础:认证基础知识

    目录 Windows凭据 Windows访问控制模型 访问令牌: 安全标识符(SID): 安全描述符: 令牌安全防御 1、禁止域管理员异机登录 2、开启“审核进程创建”策略 SSPI(Security Support Provider Interface ,安全支持提供程序接口):是windows操作系统中用于执行各种安全相关操作的公用API,

    2024年02月02日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包