• 学习Git看这一篇就够了


    Git简单介绍

    官方网址

    https://git-scm.com

    官方书籍Pro Git第二版地址

    https://www.git-scm.com/book/zh/v2

    Git十周岁之际,Linus Torvalds大谈Git开发故事(来自CSDN)

    https://blog.csdn.net/AlvinPanda/article/details/77411157

    Git是什么

    Git是一个免费开源的分布式版本控制系统,可用于高效的处理任何大大小小的项目

    版本控制系统的演化

    那么什么是分布式版本控制呢?

    Git版本控制:https://blog.csdn.net/qq_29917503/article/details/127999471

    Git安装 - Windows版

    下载地址: https://git-scm.com/download/win
    安装步骤: 修改一下安装目录,然后直接一路点击Next,直到安装完成

    在这里插入图片描述

    需要熟悉的几个Linux命令

    cd dirNmae #进入目录(改变目录)
    pwd #显示当前所在目录
    ls  #列出当前目录的文件
    ls -l #显示详细信息
    ls -a#显示隐藏文件
    cat #查看文件内容
    touch#创建文件
    echo + `>> | >` # 向文件输入内容
    mkdir #创建目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Git命令行状态对应目录位置

    .(./): #当前目录
    ..(../): #上一级目录
    ~: #用户主目录
    -: #上一次所在目录
    
    • 1
    • 2
    • 3
    • 4

    Git命令

    1. git init

    作用

    • 让git能够管理本地目录
    • 创建一个本地版本库

    执行完成git init之后,本地目录变化

    • 会在目录下创建一个.git的隐藏目录;

    • 这个.git隐藏目录就相当于本地版本库;

    • 默认创建了一个master分支(主干);

    演示使用过程

    • 创建a目录

    • 进入a目录

    • 执行git init

    在这里插入图片描述

    2. git status

    作用

    查看版本库状态

    红色 - Untracked File:未添加到暂存区的文件

    哪些文件是红色的??

    • 新增加文件

    • 修改已经被git管理过的文件

    • 手动删除的已经被git管理过的文件

    • 手动重命名的已经被git管理过的文件

    执行git add 文件..,可以将红色变成绿色

    绿色:添加到暂存区的文件,没有提交到版本库

    执行git commit -m "提交日志" 文件,将文件添加到本地版本库

    3. git add

    作用

    将文件添加到暂存区

    将单个文件添加到暂存区

    git add 文件

    将所有未添加到暂存区的文件添加到暂存区

    git add .

    git add *

    git add -A

    4. git commit

    作用

    将暂存区的文件提交到本地版本库

    如果后边不加具体文件,表示将暂存区所有文件提交到版本库

    git commit -m “msg” 文件

    可以将修改的版本库文件直接提交到本地版本库

    git commit -am "msg" 文件

    5. git config

    作用

    配置git配置文件

    git的三类配置

    配置级别命令配置文件优先级
    本地版本库git config --local.git/config最高
    用户级别git config --global~/.gitconfig其次
    系统配置git config --system安装目录/etc/gitconfig最低

    添加配置方式1

    git config --local user.name 'et2001'

    git config --local user.email 'et2001@et.com'

    --local可以替换成--global或者--system

    添加配置方式2

    git config --local --add user.name 'etoak'

    注意:如果已经存在了配置,这个命令会追加一条

    查看配置

    git config --local -l

    --local可以替换成--global或者--system

    在这里插入图片描述
    删除配置

    git config --local --unset user.name

    注意:

    ​ 如果有user.name多个值,那么删除的时候一定要加上指定的值

    git config --local --unset user.name 'et'

    修改配置

    git config --local --replace-all user.name 'etoak'

    6. git reset

    作用

    回退到指定版本

    git reset --hard commit

    回退版本库

    回退暂存区

    回退工作区

    git reset --soft commit

    回退版本库

    不回退暂存区

    不回退工作区

    git reset --mixed commit

    回退版本库

    回退暂存区

    不回退工作区

    7. git diff

    作用

    对比文件内容

    git diff --staged index.html

    git diff --cached index.html

    对比暂存区和版本库

    在这里插入图片描述
    git diff index.html

    对比工作区和暂存区文件差异

    在这里插入图片描述
    git diff HEAD index.html

    对比工作区和版本库文件差异

    在这里插入图片描述

    练习 - 创建学生管理系统

    练习提交代码

    1、创建student目录

    在这里插入图片描述

    2、进入student目录

    在这里插入图片描述

    3、执行git init,初始化本地版本库

    在这里插入图片描述

    创建index.html,开发 录入学生 的功能

    DOCTYPE html>
    <html lang="en">
    	<head>
    		<meta charset="UTF-8">
    		<title>Indextitle>
    	head>
    	<body>
    		<ul>
    			<li>录入学生li>
    		ul>
    	body>
    html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    把index.html添加到暂存区

    在这里插入图片描述

    把index.html提交到本地版本库

    在这里插入图片描述

    练习修改代码后提交

    开发查询学生 功能

    修改index.html,增加查询学生功能

    DOCTYPE html>
    <html lang="en">
    	<head>
    		<meta charset="UTF-8">
    		<title>Indextitle>
    	head>
    	<body>
    		<ul>
    			<li>录入学生li>
    			<li>查询学生li>
    		ul>
    	body>
    html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    将index.html直接提交到本地版本库

    在这里插入图片描述

    练习版本回退

    开发聊天功能

    DOCTYPE html>
    <html lang="en">
    	<head>
    		<meta charset="UTF-8">
    		<title>Indextitle>
    	head>
    	<body>
    		<ul>
    			<li>录入学生li>
    			<li>查询学生li>
    			<li>聊天li>
    		ul>
    	body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    将聊天功能提交到本地版本库

    在这里插入图片描述

    客户要求撤销聊天功能

    在这里插入图片描述

    客户要求再加上聊天功能

    在这里插入图片描述

    git分支

    Git分支概念

    ​几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着可以把我们的工作从开发主线上分离开来,以免影响开发主线。 在很多版本控制系统中,这是一个略微低效的过程(常常需要完全创建一个源代码目录的副本,对于大项目来说,这个过程会耗费很多时间)。

    ​Git 处理分支的方式可谓是难以置信的轻量,创建新分支几乎可以在瞬间完成,并且在不同分支之间的切换操作也是十分便捷。 与其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。

    开发

    步骤

    1、先创建dev分支

    2、切换到dev分支

    3、在dev分支开发举手功能,开发到50%,提交版本库

    4、线上代码出现bug,需要紧急修复bug

    5、切回master分支

    6、创建bug分支

    7、切换到bug分支

    8、修复bug

    9、测试完成之后,切换到master,合并bug分支代码

    10、删除bug分支

    11、切回dev分支,继续开发剩余50%

    12、开发完成之后,提交到本地版本库

    13、切回master分支

    14、合并dev分支

    15、删除dev分支

    详细步骤

    1. 在master分支上创建dev分支

    在这里插入图片描述

    1. 切换到dev分支

    在这里插入图片描述

    1. 开发举手功能,开发到50%,提交到本地版本库
    DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Indextitle>
    head>
    <body>
        <ul>
            <li>录入学生li>
            <li>查询学生li>
            <li>聊天li>
            <li>举手 - 50%li>
        ul>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    1. 线上代码出现bug,需要紧急修复bug

    2. 切回master分支

    在这里插入图片描述

    1. 创建bug分支,并切换到bug分支

    在这里插入图片描述

    1. 解决查询学生功能的bug

    2. 将解决的问题后的代码提交到本地版本库

    在这里插入图片描述

    1. 测试完成之后,切换到master,合并bug分支代码

    在这里插入图片描述
    在这里插入图片描述

    1. 删除bug分支

    在这里插入图片描述

    1. 切回dev分支,继续开发剩余50%

    在这里插入图片描述

    1. 开发完成之后,提交到本地版本库

    在这里插入图片描述

    1. 切回master分支

    在这里插入图片描述

    1. 合并dev分支

    有可能会出现冲突

    git merge dev

    1. 删除dev分支

    在这里插入图片描述

    分支相关命令总结

    1. 创建分支

    git branch dev
    
    • 1

    2. 切换分支

    git checkout dev
    
    • 1

    3. 切换到上一个分支

    git checkout -
    
    • 1

    4. 创建dev分支并切换到dev分支

    git checkout -b dev
    
    • 1

    5. 查看本地分支

    git branch -v
    
    • 1

    6. 删除分支

    git branch -d dev
    
    • 1

    7. 合并分支

    git merge dev
    
    • 1

    开始使用github进行两地开发

    在github上创建空仓库

    注册github账号,点击New Repository,创建仓库

    在这里插入图片描述

    填写仓库名称、描述…

    在这里插入图片描述

    将本地仓库代码提交到远程仓库

    按照github提示,将本地仓库代码提交到远程仓库

    在有本地仓库的情况下
    1、关联本地仓库和远程仓库

     git remote add 远程仓库别名 远程仓库地址  
    
    • 1

    2、将本地版本库提交到远程

    git push origin master
    
    • 1

    在github上创建包含文件(README.md和.gitignore)的仓库

    点击New Repository,创建仓库

    在这里插入图片描述

    填写仓库名称、描述…(包含描述文件)

    在这里插入图片描述

    先拉取远程仓库的代码

    先拉取远程仓库的代码

    在这里插入图片描述
    但是拉取的时候报错误: 拒绝合并不相关的历史版本

    解决上面的问题

    git pull(git fetch + git merge)
    git fetch origin master
    git merge --allow-unrelated-histories origin/master
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    将本地版本推送到远程仓库

    合并完成之后,将本地版本推送到远程仓库

    git push origin master
    
    • 1
  • 相关阅读:
    数字化工厂系统有什么现实优势
    2023内蒙古科技大学计算机考研信息汇总
    C++官网 Tutorials C++ Language Basics of C++:Variables and types
    港科夜闻|"香港科大2020十大准独角兽"开思完成2亿元D2,D3轮融资,推进汽后全产业链数字化转型...
    2022国赛C题解析
    校友在美团 Android 岗的四面分享~
    抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。抖音矩阵系统。
    关于plt.scatter()的使用
    机器学习-有监督算法-决策树和支持向量机
    阿里云:云服务器ECS搭建
  • 原文地址:https://blog.csdn.net/qq_29917503/article/details/127791373