git入门到精通

Git 从入门到精通:高效管理代码的终极指南 本文详细介绍了Git从入门到精通的各个方面,旨在帮助读者高效管理代码。首先解释了Git的基本概念,包括工作区、暂存区、版本库等核心概念,并通过实例说明如何进行提交和分支管理。接着,文章指导了如何安装和配置Git,以及基础用法如初始化仓库、添加与提交代码、查看状态等操作。进一步,探讨了Git的进阶用法,如远程仓库管理、分支管理、变基、撤销修改及使用stash保存当前工作进度。最后,深入讲解了Git的高级功能,包括标签管理、钩子脚本、cherry-pick挑选提交、子模块、工作区管理、大文件支持(LFS) 阅读详情

一,git简介

    1,git是世界上最先进的分布式版本控制系统。

    2,git特点

          高端大气上档次!

    3,git诞生

          Linux的创建者Linnus花费两周的时间完成的。

    4,git安装(windows)

          4.1,到git官网直接下载安装(网速慢的可以使用国内镜像)

          4.2,安装完成后还需要最后一步设置,在命令行输入: 

git config --global user.name "your name"
git config --global user.email "email@example.com"

    5,创建版本库。

          5.1,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

          5.2,通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

    6,工作区 版本库 暂存区的概念

        6.1,工作区:电脑里能看到的项目目录,git add 实际就是把文件从工作区添加到暂存区。

        6.2,版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

        6.3,暂存区:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。git commit 实际就是把文件从暂存区提交到分支

二,git相关命令

    1,添加文件,把文件添加到暂存区

         1.1,git add file(文件名,可以提交多个文件),

         2.2,git add file1 file2

    2,提交文件,把文件从暂存取提交到分支

        1.1,git commit -m "message"

    3,版本回退 git reset --hard commit_id

        3.1,git log 查看提交历史,确定会退到哪个版本。如 git reset --hard HEAD^ 或 git reset --hard commit_id

        3.2,git reflog 查看命令历史,确定要回到未来的哪个版本

    4,查看状态 git status 

    5,cat file 查看文件内容

    6,git diff HEAD -- file 查看工作区和版本库里面最新版本的区别

    7,撤销修改

        7.1,命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

        一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态

        一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

        总之,就是让这个文件回到最近一次git commit或git add时的状态。

        7.2,再commit之前,通过git reset HEAD flie 可以把暂存区的修改撤销掉,重新放回到工作区。再通过git checkout -- file 撤销工作区的修改。

        7.3,再commit之后 可以通过版本回退解决问题

    8,删除文件

        8.1,删除工作区文件 rm file.之后通过 git rm file 删除暂存区相应文件 或通过git checkout -- file 用版本库的版本替代工作区的版本。无论工作区是修改还是删除都可以“一键还原”。

    9,修改分支名称

        9.1,重命名本地分支

git branch -m old_local_branch_name new_local_branch_name

        9.2,重命名远程分支

        Step1:重命名远程分支对应的本地分支

git branch -m old_local_branch_name new_local_branch_name

        Step2:删除远程分支

git push origin :old_local_branch_name

        Step3:重新推送新命名的本地分支

git push origin new_local_branch_name

        9.3,远程分支删除之后,本地显示仍然存在的方法。

        Step1,显示所有分支

git branch -a

        Step2,只想下面命令查看远程分支与本地分支的对应关系

git remote show origin

        Step3,执行下面命令同步删除

git remote prune origin

        Step4,在查看就没有了

git remote show origin

    10,git fetch  git merge   git pull 区别

        git fetch origin 分支  从远程拉取分支但不合并

        git merge origin 分支 合并分支到当前分支

        git pull origin 分支 从远程分支拉取并合并到当前分支

    11,解决bug方法

        11.1,git stash 保存本地修改

        11.2,git stash pop 恢复本地修改,并删除保存的修改内容

        11.3,git stash apply 恢复本地修改,但不删除保存的修改内容

        11.4,可以多次git stash ,通过 git stash list 查看本地保存的修改。git stash apply/pop stash@{下标},恢复修改

    12,切换分支

        12.1,切换分支 git checkout 分支名

        12.2,切换并创建分支 git checkout -b 分支名

        12.3,删除分支 git branch -d 分支名 -D 强制删除(例如一个没有被合并过的分支)

        12.4,git branch 查看当前分支

        12.5,git branch 分支名 创建分支

        12.6,基于远程某分支创建本地对应分支

git checkout -b dev origin/dev

    13,查看分支合并情况

        13.1,查看分支合并情况 git log

        13.2,查看分支合并图 git log --graph

    14,分支管理

        14.1,git merge 加参数 合并分支并创建一个新的commit --no--ff 表示禁用 first forward(不产生新提交),通过git log     检查。

git merge --no-ff -m "merge with no-ff" dev

     15,查看远程分支

         15.1,查看远程分支  git remote

         15.2,显示更详细信息 git remote -v

    16,推送分支

        16.1,推送本地dev分支 git push origin dev       

    17,设置本地分支与远程分支的链接

git branch --set-upstream-to=origin/dev dev

    18,整理本地提交

        18.1,git rebase 把本地未push的提交历史整理成一条直线。

        


        

Git从入门到精通(全) 目录前言1. Git安装2. 常用命令 前言 免费、开源分布式版本控制系统 快速高效处理从小型到大型的各种项目 易于学习,占地面积小,性能极快 优缺点: 深究其分布式版本 其集中式版本控制工具有缺点也有优点,可看到项目中内容管理,管理员也可管理单一系统也比较容易缺点就是中央服务器的单点故障 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷: 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的) 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全) 工作机制 工作区:通 阅读详情

相关推荐

github从入门到精通(.pdf)

该pdf包括GitHub的简介以及Linux下Git的安装与使用,包括基础的Git命令,向GitHub上提交项目和从GitHub上往本地拉项目的教程,以及Git分支的讲解以及GitHub常用的几种操作,IT大佬整理的专业pdf文档,不容错过,本人由于这份文档加入的开源社区,受益匪浅!!!

Git从入门到精通

Git从入门到精通 Git简介 Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git的特点 分支更快、更容易。 支持离线工作;本地提交可以稍后提交到服务器上。 Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。 Git 中的每个工作树都包含一个具有完整项目历史的仓库。 没有哪一个 Git 仓库会天生比其他仓库更重要。 Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不

qq_2831427504的博客 940

git从入门到精通

git全方位了解,从入门到精通,初学者的圣经宝典

git 微盘_《Git从入门到精通》技术书籍.pdf

Pro Git*ScottChacon2010-03-25*ThisisthePDFfilefortheProGitbookcontents. ItislicensedundertheCreativeCommonsAttribution-NonCommercial-ShareAlike3.0license. Ihopeyouenjoyit,IhopeithelpsyoulearnGit,andIh...

weixin_39869378的博客 1847

GIT从入门到精通2020实战课程

本套课程将会讲解git的使用基础,主要包括:git的安装与配置、深刻理解工作区、暂存区的区别,git分支合并的原理、深入理解git对象的组成,总结来讲就是将基础知识的同时也同时讲解实现原理,带领大家更加深刻地理解git知识 讲解完git常用基础知识后,课程将会以实战为载体,向大家演示日常工作用常遇到的git场景,演示遇到此类场景该如何利用所学知识进行解决,帮助大家理解git使用时的常见问题以及解决方法

Git从入门到进阶,你想要的全在这里.pdf

Git从入门到进阶,你想要的全在这里.pdf

【哈士奇赠书活动 - 19期】-〖Git从入门到精通〗

【哈士奇赠书活动 - 19期】-〖Git从入门到精通〗

易编橙 · 终身成长社群,相遇已是上上签! 3420

Android开发实战:5分钟搞定全屏沉浸式状态栏(附完整代码示例)

本文提供了Android开发中实现全屏沉浸式状态栏的完整实战指南。通过对比主题配置、动态代码设置和Window标志位三种方法,详细讲解了如何隐藏状态栏并处理布局适配。文章还涵盖了刘海屏、手势导航等高级适配场景,并附有可直接使用的工具类代码,帮助开发者快速提升应用视觉体验。

weixin_29197699的博客 359

Git 从入门到精通

Git 从入门到精通摘要 Git是分布式版本控制系统,核心概念包括版本控制、快照记录和三个工作区域(工作目录、暂存区、本地仓库)。基本工作流程涉及修改、暂存和提交文件。分支管理允许并行开发,通过merge或rebase合并代码。远程仓库(如GitHub)支持团队协作,常用协作模式包括功能分支工作流和Gitflow。高级技巧包括撤销更改、储藏临时修改和版本标签管理。关键原则:不要重写已共享的提交历史。

Youngist的博客 930

Delphi 13 Beta初体验:手把手教你安装RAD Studio Ganymede,并实测新条件运算符

本文详细介绍了Delphi 13 Beta(代号Ganymede)的安装步骤和新特性,重点解析了新增的条件运算符语法。通过实测对比,展示了64位IDE的性能提升和新语法在代码简洁性上的优势,为开发者提供了从安装到实战的完整指南。

weixin_30399821的博客 205

Windows 11下ROS2 Humble与PyCharm无缝集成实战(避坑指南+完整配置流程)

本文详细介绍了在Windows 11系统下如何实现ROS2 Humble与PyCharm的无缝集成,包括环境准备、ROS2 Humble安装、PyCharm配置以及C++与Qt5混合开发的实战技巧。通过避坑指南和完整配置流程,帮助开发者高效搭建稳定的机器人开发环境,特别适合Windows平台的ROS2开发者。

weixin_28710999的博客 367

Git入门到精通

Git一. 什么是Git1.1 Git简介1.2 Git的优点二. Git和Svn的区别三. Git下载与安装3.1 下载Git四. Git结构五. Git和代码托管中心5.1 代码托管中心5.2 本地库与远程库5.3 团队内部协作流程5.4 跨团队协作六. Git命令行6.1 创建本地库6.2 设置签名6.2.1 签名概述6.2.2 签名命令6.3 常用命令6.4 永久删除后找回6.5 文件比较七. 本地库和远程库的交互7.1 初始化本地库与远程库建立连接7.2 克隆与远程库建立连接7. 3 切换远程库八

输入技术、输出想法 4710

QGroundControl或者华科尔地面站安装完打不开问题解决

QGroundControl 华科尔 打不开

wv112406的博客 4912

Git 从入门到精通操作流程

Git 从入门到精通操作流程

qq_53063377的博客 1418

网络攻防实验——网络监听

利用CAIN实现ARP监听。

Trieyes_of_feng的博客 3197

Spring AI实现RAG(检索增强生成)详解与实践

支持多种文件格式的文档加载实现高效的向量存储和检索构建智能的问答系统提供可追溯的知识服务RAG技术为AI应用提供了强大的知识增强能力,使得模型能够基于实际文档生成准确、可靠的回答。

beiduofen2011的专栏 1239

全网最详细的Git指南:从入门到精通

Git是一个由Linus Torvalds于2005年创建的分布式版本控制系统,主要用于管理Linux内核开发。它具有分布式架构、高效性能、强大的分支系统和数据完整性等特点。Git的核心概念包括仓库、工作目录、暂存区、提交、分支和远程仓库。Git的安装和配置涉及在不同操作系统上的安装步骤和初始用户信息配置。基础操作包括创建仓库、基本工作流程、查看状态与历史、撤销更改和忽略文件。分支与合并涉及分支的创建、切换、删除、合并与冲突解决、变基和储藏。

wll0417yj的博客 9619

【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)

随着打印技术的快速发展,镭射打印技术也开始得到越来越广泛的应用。这种技术可以被用于在木材、塑料、皮革、织物等各种材料上进行图形打印,并且通常比传统机器更快、更准确和更灵活。

嵌入式技术开发 7200

《GIT从入门到精通》教学PPT

《GIT从入门到精通》教学PPT 【下载地址】GIT从入门到精通教学PPT 《GIT从入门到精通》教学PPT是一份精心制作的81页幻灯片,全面讲解Git版本控制系统的基础与进阶操作。内容从Git的核心概念入手,逐步引导用户掌握常用命令与技巧,辅以清晰的代码示例和图示解析,确保学习过程直观易懂。无论您是Git新手还是希望提...

gitblog_06747的博客 421

Redhawk:toggle rate从哪来?

redhwak中toggle rate的相关设置

m0_61544122的博客 8124

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Git入门到精通:30分钟掌握核心技巧

本文系统介绍Git从基础到实践的完整工作流。核心内容包括:一、基础理论篇,阐述Git分布式特性与版本控制原理;二、实操命令篇,演示分支管理(新建/合并)、远程协作等关键操作;三、可视化工具篇,展示IDEA与Gitee的集成使用;四、安全配置篇,详解SSH密钥与权限控制;五、常见问题篇,提供冲突解决、大文件提交等疑难场景的解决方案。重点突出分布式版本控制的优势,强调团队协作规范(如避免强制提交),对比Rebase与Merge差异,并配有Gitee平台的具体操作示例。全文兼顾理论体系与实际应用,帮助开发者高效管

weixin_61779644的博客 2255

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Git 从入门到精通:一份详细指南

Git 是一款强大而灵活的版本控制系统,广泛用于软件开发和协作项目。本博文将带你从入门到精通 Git,让你能够充分利用它的各种功能来更好地管理你的代码。1. Git 的基础概念1.1 什么是 Git?Git 是一个分布式版本控制系统,它可以追踪文件的变化,协调多人在同一项目上的工作。1.2 Git 的核心概念仓库(Repo...

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 657

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: npm
下一篇: 本地项目上传到GitHub
精灵无悔
博客等级 码龄10年 37粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值