Git

什么是Git

版本控制器 - 控制的对象是开发的项目代码

代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本库1 > 版本库2 

Git与SVN区别

  • SVN

服务版与用户版分离

服务版宕机后,开发进度停滞,修复后,整合代码也存在一定的风险问题

  • Git

服务版与用户版整合在一起,任何机器上都安装了两个版本

git本地与远程代码交互,客户端不参与,是两个服务端进行交互,版本库与版本库进行交互

服务器宕机,可以将任何一个开发者的版本库作为公用版本库,继续开发

 由于上面的特点,git可以做集群,可以同时又多个服务端

Git使用

安装

下载对应版本:https://git-scm.com/download

安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项

Git操作流程

基础指令

  • 初始化本地Git仓库

方式一: 将已有文件夹初始化为仓库
    >: cd 目标文件夹内部
    >: git init
方式二: 在指定目录下创建仓库
    >: cd 目标目录
    >: git init 仓库名

案例: 将Git_test文件夹初始化为Git仓库

将目标文件夹初始化为Git仓库后,该文件夹内会有一个.git隐藏文件夹,其内容有:

此时,Git_test文件夹内的内容都会被.git文件夹管理

  • 创建用户

方式一: 设置全局用户
    >: git config --global user.name '用户名'
    >: git config --global user.email '用户邮箱'   
注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用

方式二: 设置局部用户
    >: git config user.name '用户名'
    >: git config user.email '用户邮箱'
注:在当前仓库下的config新建用户信息,只能在当前仓库下使用
注:一个仓库有局部用户,优先使用局部用户,没有配置再找全局用户

  • 查看仓库状态

当仓库中有文件增加、删除、修改,都可以在仓库状态中查看

>: git status  
    -- 查看仓库状态
>: git status -s  
    -- 查看仓库状态的简约显示

案例: 在Git_test文件夹内创建一个1.txt文件

  • 工作区内容提交到暂存区

方式一: 提交项目中所有文件
>: git add .  
方式二: 提交指定文件 
>: git add 文件名  

案例: 将1.txt文件提交到暂存区

  • 暂存内容撤销至工作区

方式一: 撤销所有暂存区的提交
>: git reset HEAD .
方式二: 撤销某一文件的暂存区提交 
>: git reset 文件名

案例: 将暂存区的1.txt文件回滚到工作区

  • 提交暂存区内容到版本库

git commit -m "版本描述信息"

案例: 将1.txt文件提交到本地仓库

补充: 提交至仓库时,若出现 Please tell me who you are. ,则需要先创建用户

  • 工作区回滚操作

方式一: 回滚所有的文件
>: git checkout .
方式二: 回滚指定的文件 
>: git checkout 文件名

注意: 
只有提交到版本库的文件被改动了才能被checkout回滚
在工作区新增加的文件不会被checkout回滚,因为还没有被仓库管理
checkout不能将暂存区的文件回滚至工作区

案例: 修改1.txt文件的内容,再在Git_test文件夹内新增加2.txt文件,用checkout 回滚

  • 查看日志

1.查看历史版本:
        >: git log
        >: git reflog
2.查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
3.查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name

案例:

  • 回滚到指定版本

回滚到上一个版本:
            >: git reset --hard HEAD^
            >: git reset --hard HEAD~1
回滚到上三个版本:
            >: git reset --hard HEAD^^^
            >: git reset --hard HEAD~3
回滚到指定版本号的版本:
            >: git reset --hard 版本号
            eg: git reset --hard 35cb292 

案例:

过滤文件

在仓库根目录下创建 .gitignore 文件,在该文件内编写要过滤的文件夹或文件

注意: 开发中,将项目文件夹初始化为仓库后就要创建过滤文件

过滤式:

  • 文件的绝对路径: 代表所有目录下的同名文件或文件夹都被过滤
  • /文件或文件夹名: 代表仓库根目录下的文件或文件夹被过滤
案例:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤

过滤模板:

.DS_Store
node_modules
/dist

# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor directories and files
.idea
scripts
db.sqlite3

*.pyc
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

 

本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值