• Git学习笔记


    目录

    我的理解

    创建本地目录:

    Git仓库初始化

    输入用户名邮箱:

    将文件加入暂存区(git add)

    取消加入暂存区

    提交变更(版本更新)

    版本回退

    查看日志

    使用clone指令克隆线上仓库到本地

    在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库)

    git clone和git pull的区别联系

    分支


    我的理解

    git是一个版本控制工具,意思它就是一个软件,版本控制有两个作用,一是记录每次修改完的项目,方便出问题时回到原本的状态;二是多人协同开发。git是和github进行联动使用的。我们开发的时候可能会很多人协同开发,在使用git的时候输入用户名邮箱可以让Git记住你,比如你用你输入的用户名进行了项目更新,他就会有一个类似日志的东西,记录每一次更改和进行操作的人。

    大致工作流程就是你在本地写完代码以后add到你在本地创造的目录中,等你觉得差不多完活了在把它push到github的仓库里。 在每天工作的第一件事就是先git pull拉取线上最新的版本;每天下班前要做的是git push,将本地代码提交到线上仓库。

    注意在使用的时候路径尽量不要有中文。

    创建本地目录:

    1. mkdir pro_git
    2. cd pro_git

    Git仓库初始化

    执行之后会在项目目录下创建“.git”的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容。它所在的文件夹就是仓库,会记录你所做的变更。

    git init
    之后再使用git status命令,可以查看当前仓库信息。

    输入用户名邮箱:

    1. git config --global user.name "MUNG29" //这俩最好和github的保持同步
    2. git config --global user.email "735587142@qq.com"

    将文件加入暂存区(git add)

    1. 查看当前状态:git status
    2. 添加到缓存区:git add 文件名
    3. 说明:git add指令,可以添加一个文件,也可以同时添加多个文件。
    4. 语法1:git add 文件名
    5. 语法2:git add 文件名1 文件名2 文件名3
    6. 语法3:git add . 将所有文件加入暂存区

    加入暂存区效果展示:

    它绿了

    取消加入暂存区

    如果你add了一个文件,但是发现不该add它的,可以使用此命令来把它去掉

    git reset <filename>

    这样绿色的文件就重新变红了

    提交变更(版本更新)

    git commit -m "注释"

    效果:

    版本回退

    如果你觉得新版本不如某次版本好,可以通过git reset <hash> --<模式>, 回到某次状态(hash值可以通过日志看到)

    1. git reset <hash> --<模式>
    2. hash值很长,但是一般前7位就可以锁定是哪个版本了,所以输入前7位就好
    3. 模式有三种:
    4. --hard:不保存所有变更,一切都回到你回退到的hash版本的状态
    5. --soft:保留变更且变更内容处于Staged(绿)
    6. --mixed:保留变更且变更内容处于Mdifiled(红)

    那如果你又后悔了,怎么回到刚刚的新版本呢?

    这个时候git log的日志已经去掉你回到的这个版本以后的记录了,比如上面有6次提交,你回到了第五次,那git log就看不到第六次的内容了

    这个时候你就可以通过 git reflog 来查看所有记录

    git reflog

    然后找到你想回到的版本hash值,再次git reset <hash>

    查看日志

    通过 git log, 我们可以知道什么人在什么时间提交了什么样的commit, 每个commit会生成一个唯一的哈希值

    可以通过查看日志确定自己是否已经进行提交了

    使用clone指令克隆线上仓库到本地

    语法:git clone 线上仓库地址

    在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库

    在首次往线上仓库shop提交内容的时候出现了403的致命错误,原因是不是任何人都可以往线上仓库提交内容,必须需鉴权。 (如果不加可以的话那就不加) 需要修改“.git/config”文件内容:

    1. 提交到线上仓库:git push
    2. 拉取线上仓库:git pull

    git clone和git pull的区别联系

    git clone就是将一个库复制到本地,是一个本地从无到有的过程。包括里面的日志信息,git项目里的分支,你也可以直接切换、使用里面的分支等等。

    git pull 作用是,取回远程主机某个分支的更新,再与本地的指定分支合并

    类比一下,前者相当于你下载了一个游戏,后者相当于游戏更新。因为多人协同合作,线上仓库经常更新,就像游戏更新,你总不能每次都重新下载最新版本的游戏吧,肯定是选择更新。

    分支

    在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

    掌握分支以后,如果你想回到某个版本,就可以直接切换分支,而不用再查找hashID了

    1. 分支相关指令:
    2. 查看所有分支:git branch (绿色的代表当前所处的分支)
    3. 创建分支:git branch 分支名   git checkout -b <分支名> <以谁为模板,可省>
    4. 切换分支: git checkout 分支名
    5. 删除分支:git branch -d 分支名
    6. 合并分支:git merge 被合并的分支名 (通常要解决冲突)
    7. 对比查看远程仓库信息:git fetch
    8. git pull=git fetch+git merge

    通常我们把master作为主分支

  • 相关阅读:
    Electron 两个线程
    Ubuntu(WSL) 安装最新版本的 GCC
    kml或kmz文件用什么软件打开
    Java.lang.Class类 isAnonymousClass()方法有什么功能呢?
    51单片机基础篇系列-8个步骤入门51单片机
    面试系列 - Java常见算法(一)
    vue3+element-plus国际化
    【PAT甲级 - C++题解】1008 Elevator
    Excel导入和导出
    基础课-排列组合
  • 原文地址:https://blog.csdn.net/qq_61778128/article/details/125450658