• 几分钟搞懂git常用操作



    前言

    相信很多没有接触过git的小伙伴对这个词并不陌生,但是一直没用过且没机会用就始终不知道是干嘛的,其实git特别简单,只要搞懂了git四个区域之间是如何协作的那么命令啥的也不难记了

    git的四个工作区域是如何的?

    在git本地上是有三个工作区域的,分别是

    本地仓库
    暂存区
    工作区
    当然在gitte或者github有远程仓库,加起来就是四个区域了


    而文件在这四个区域是这样进行移动的
    在这里插入图片描述

    Workspace : 工作区,就是你平时存放项目代码的地方


    Index / Stage : 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息


    Repository: 仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新方入仓库的版本


    Remote : 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换


    而实际上在平时我们在写项目时最常用的就是git add、git commit、git push以及git clone了

    常用场景

    部署项目

    一般来讲当我们在本地项目完成了想部署在服务器上,那么就使用git将项目push到远程仓库中,再在云服务器用git把项目pull下来就行了。
    在本地中的操作步骤就是

    • git init初始化一个git仓库,
    • 设置你的全局个人信息
      git config --global user.email '***'
      git config --global user.name'***'
    • 然后git add .把你的工作台的项目放到暂存器
    • git commit -m '名字' 把暂存区的文件放到本地仓库
    • 在码云中新建仓库,按照他给的步骤连接本地仓库
    • git push 就可以把本地项目放到远程仓库了
    • 然后在云服务器 git clone '远程仓库的url' 拉下来了

    项目的版本管理

    在很多时候我们可能会对项目进行版本迭代,使用git就可以把每个版本都放在仓库里,如果不满意当前版本就可以回滚到之前的版本,如果不使用git就会很麻烦。而在编辑器里一般都支持git使用,就可以直接在编辑器里进行图形化操作

    .gitignore

    很多时候有些文件我们是不愿意被进行移动的,这时候就可以使用.gitignore文件对文件进行一个“锁住”的操作

    *.txt			    #忽略所有.txt结尾的文件
    ! 1ib.txt	    #但1ib.txt除外
    /temp					#仅忽略项目根目录下的TODo文件,不包括其它目录temp
    bui1d/				#忽略bui1d/目录下的所有文件
    doc/* .txt		 #会忽略doc/notes.txt但不包括doc/server/arch.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5

    文件四种状态

    理解了文件的这几种状态又可以对文件的移动操作加深理解


    Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制.通过git add状态变为staged


    Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致.这种类型的文件有两种去处,如果它被修改,而变为Modified.如果使用git
    rm移出版本库,则成为untracked文件


    Modified:文件已修改,仅仅是修改,并没有进行其他的操作.这个文件也有两个去处,通过git
    add可进入暂存staged状态,使用git checkout则丢弃修改过,返回到_unmodify状态,这个git
    checkout即从库中取出文件,覆盖当前修改!


    Staged:暂存状态.执行 git
    commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为unmodify状态.执行git reset HEAD
    filename取消暂存,文件状态为Modified


  • 相关阅读:
    Harmony数据存储工具类
    SpringCloud笔记之入门
    基于HTML5和CSS3搭建一个Web网页(二)
    汽车娱乐系统解决方案,你了解多少?
    基于springboot+vue+mysql的新能源充电系统--前后端分离(内含源码+报告+部署教程)
    WPF 控件专题 ScrollBar控件详解
    yaml&easydict作为参数文件
    ISO认证证书上常见的认可标志
    跨平台使用:第三方美颜SDK在多种操作系统上的应用
    Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录
  • 原文地址:https://blog.csdn.net/qq_51898139/article/details/126302935