git快速学习

1.Git概述

(1)简介

git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(java类、xml类、html页面等)在软件开发过程中被广泛使用

git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过git仓库来存储和管理这些文件,git参考分为两种

  • 本地仓库:开发人员自己电脑上的git仓库

  • 远程仓库:远程服务器上的git仓库(每一个远程仓库都对应一个唯一的地址,例如:https://gitee.com/sumualu/hellogit.git)

    • commit:提交,将本地文件和版本信息保存到本地仓库
    • push:推送,将本地仓库文件和版本信息上传到远程仓库
    • pull:拉取,将远程仓库文件和版本信息下载到本地仓库

    在这里插入图片描述

(2)简要使用过程
  • 注:在idea中可以集成git
    在这里插入图片描述

gitignore可以配置git

  • 可以让不同的程序员同时管理代码,可以通过这两个按钮对代码进行提交和导入:
    在这里插入图片描述
  • commit是提交到本地,因为还没有远程仓库,如果有可以点击Commit and Path
  • 提交到本地仓库后可以在网址gitee.coom/project/new登录后,新建项目查看
  • 然后回到idea定义远程仓库(把刚刚新建的远程仓库项目地址复制到这里面)
(3)作用
  • 代码回溯(可以快速回到历史版本)
  • 版本切换(多个版本)
  • 多人协作(多个人进行代码协调管理)
  • 远程备份(本地仓库与远程仓库)
(4)下载与安装
  • 下载地址:https://git-scm.com/download

在这里插入图片描述

  • 下载后得到查看任意鼠标右击和系统环境变量
    在这里插入图片描述
    设置系统环境变量
    在这里插入图片描述
(5)git代码托管服务

如何搭建Git远程仓库,用互联网上提供的一些代码托管来实现

  • gitHub(地址:https://gihub.com/)是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub
  • 码云(地址https://gitee.com/),是国内一个代码托管平台,由于服务器在国内,所以相比于GitHub,马云速度会更快【本章采用此仓库】
  • GitLab(地址:httos://about.github.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
  • BitBucket(地址:https://bitbucket.org/),是一家代码网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

此例子中使用gitee,可以创建多个仓库,邀请多人/添加管理人员达到多人管理这个仓库

2.Git常用命令

(1)git全局管理

当安装Git后首先要设置用户名和email地址;这个非常重要,因为每次提交git都会使用该用户信息

在git中命令行中执行下面命令

(注意,连续两个横杠之后是连着英文单词的)

  • 设置用户信息

    • git config --global user.name “itcast”

    • git config --global user.email “hello@itcast.cn”

  • 查看配置信息

    • git config --list(可以查看到刚刚设置的全局用户)
  • 注意:上面设置的user.name和user.email并不是注册的码云账号,可以任意设置

(2)获取git仓库

要使用Git对代码进行版本控制,首先要获得Git仓库

获得Git仓库有两种方式

  • 在本地初始化一个git仓库(不常用)

  • 从远程仓库克隆(常用)

  • 方式一(在本地创建一个仓库)

在这里插入图片描述

【注意】创建完,记得点击文件的查看–隐藏文件,才看到.git

  • 方式二:把远程仓库克隆到本地

在这里插入图片描述

【注意】提示填写账号密码是在码云的账号密码,注意大小写

(3)工作区、暂存区、版本库概念
  • 版本库:.git隐藏文件夹就是版本库,版本库中存储了许多配置信息、日志信息和文件版本信息等
  • 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
  • 暂存区:.git文件夹中有很多文件,其中一个index文件就是暂存区,可以叫做stage;站存取就是一个临时保存文件修改的地方(当创建文件而且文件有一些修改操作才会出现)

在这里插入图片描述

【注意】此时git在工作区里运行(也就是master分支下)

(5)git工作区中文件的状态

Git工作区中的文件存在两种状态

用git status查看工作区文件状态

  • untracked未跟踪(未被纳入版本控制)
  • tracked已跟踪(被纳入版本控制)(被git管理)
    • Unmodified未修改状态
    • Modified已修改状态
    • Staged已暂存状态

【注意】这些文件的状态会随着我们执行的Git命令发生变化

例子:
在这里插入图片描述

说明:user.java已跟踪,但是还没有暂存

user.xml未跟踪,因为还没有执行git add *命令

执行add命令后:
在这里插入图片描述

(6)git本地仓库常用命令
  • git status:查看文件状态

  • git add:将文件的修改加入暂存区

  • git reset(+文件名):将暂存区的文件取消暂存或者是切换到指定的版本

    • 如果是要回溯则是要加个 --hard 加上历史版本号
  • git commit:将暂存区的文件修改提交到版本库

    • git commit -m “init hello.txt” hello.txt;其中-m表示message,即表示在日志文件中的提示信息

  • git log:查看日志

(7)git远程仓库操作
  • git remote:查看远程仓库
    • git remote -v:可以查看到关联远程仓库的具体地址
    • git remote:可以得到一个值origin表示连接上了远程仓库
  • git remote add:添加远程仓库
    • 克隆后远程仓库与本地仓库连接上了,单独输入git remote,会得到origin,默认是远程仓库的别名
  • git clone(+url):从远程仓库克隆
  • git pull:从远程仓库拉取
    • 远程到本地
    • git pull 别名 分支
  • git push:推送到远程仓库
    • 本地到远程
    • git push 别名 分支[默认创建的分支为master]
  • 【注】若别名为master则说明已经连上远程仓库

注意:添加一个远程仓库git remote add name url

在这里插入图片描述

注意:克隆远程仓库到本地git clone url

在这里插入图片描述

注意:是先提交的本地仓库再提交给远程仓库

  • 小结
工作区–>暂存区暂存区–>版本区本地–>远程
git addgit commitgit push
    • 注意
    • 在这里插入图片描述

itcast:表示你设置的全局用户名

edit text.txt:表示这个是刚刚提交的文件的提示信息(-m)

(8)git分支操作

分支是Git使用过程中非常重要的概念,使用分支意味着可以把工作从开发主线上分离开来,以免影响开发主线;同一个仓库可以有多个分支,各个分支相互独立、互补干扰

通过git init命令创建本地仓库时默认会创建一个master分支

具体的命令如下

  • git branch:查看分支
    • git branch:列出所有本地的分支
    • git branch -r:列出所有远程分支
    • git branch -a:列出所有本地分支和远程分支
  • git branch [name]:创建分支
  • git checkout [name]:切换分支
    • 注意:切换分支后文件目录也会变化,不在此分支下的文件不会显示
  • git push [shorrName] [name]:推送远程仓库分支
    • 只有本地推给远程
    • git push origin xx
  • git merge [name]:合并分支
    • 注意:会出现一个页面,这个时候可以按i继续插入合并命令
    • (通用,git log)也可以按ESC键退出,再输入:wq表示保存日志退出,就可以回到原来的页面
    • 若是在不同分支下修改同名文件,则在合并时会出现【合并冲突】问题,因为文件内容被做了不同修改,此时可以对文件进行手动修改,再add–>commit–>push

【注意】如果提交的时候遇到这种报错可以在末尾加上-i

在这里插入图片描述

(9)git标签操作

Git中的标签(静态的),指的是某个分支(动态的概念)某个特定时间点的状态;通过标签可以很方便的切换到标记时的状态

比较有代表性的人们会使用这个功能来标记发布结点(v1.0,v1.2等),下面是mybatis-plus的标签

在这里插入图片描述

标签操作

  • git tag:列出已有的标签
  • git tag [name]:创建标签
    • 创建时记录的是当前的分支状态
  • git push [shortName] [name]:将标签推送至远程仓库
  • git checkout -b [branch] [name]:检出标签
    • 注意:检出标签时需要新建一个分支来指向某个标签
    • 且新建的分支是新的,标签是“旧的”,而且新分支的内容和标签里的内容相同

3.在IDEA中使用GIT

1.配置Git

使用本地安装的Git软件

setting–version control–git–选择git的安装路径

在这里插入图片描述

2.获取Git仓库

在idea中使用Git有两种方式

  • 本地初始化仓库(相当于git init)
    在这里插入图片描述

  • 从远程仓库克隆(远程克隆到本地开发)

在这里插入图片描述

之后再填写远程仓库地址;或者在idea开始页面也可以直接点击获取远程仓库git(以下是获取的某项目情况)

在这里插入图片描述

克隆完后会出现.git文件,idea操作界面也会出现Git的相关操作

【注意】1..gitignore表示哪些文件不需要git管理,即哪些文件提交和推送的时候忽略

2.创建远程仓库时:
在这里插入图片描述

创建完后会出现.gitignore里面带有目录

3.点compine编译后会出现target目录

4.本地仓库操作
  • 将文件加入暂存区
  • 将暂存区文件提交到版本库
  • 查看日志

【注意】

(1)创建新的文件时,会提示是否加到暂存区,如果没有则会显示红色,也可以弥补,文件右击选择git–Add就可以加到暂存区了

(2)交到版本库,选中文件点击右键Git–Commit directory,再弹出框中添加message再提交;另外一种可以利用快捷按钮。直接提交整个目录

(3)查看日志可以点击快捷菜单里面的在这里插入图片描述
(按钮)

在这里插入图片描述

查看一个文件的日志:History TestController.java

查看所有日志:Log All(可以点击对应记录查看详细记录,以及版本对比)

5.远程仓库操作
  • 查看远程仓库
  • 添加远程仓库
  • 推送远程仓库
  • 从远程仓库拉取

(1)查看此项目与哪个远程仓库关联

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

(2)添加远程仓库

【因为一个本地仓库可以添加多个远程仓库,如果不要当前仓库,可以删除】

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

注意:删除只是断开连接

(3)把当前修改过的项目推送到远程仓库中去(相当于git push)

  • 方式一

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

点击push就可以

  • 方式二

【注意】也有一个快捷方式

直接点击工具栏中的{勾}就可直接提交并推送,在commit按钮中选择commit and push

在这里插入图片描述

(4)拉取远程仓库中的文件

  • 方式一
    在这里插入图片描述
    拉取位置(远程仓库)在这里插入图片描述
  • 方式二

    快捷方式,点击工具栏中里的按钮在这里插入图片描述

6.在idea中使用分支操作
  • 查看分支
  • 创建分支
  • 切换分支
  • 将分支推送到远程仓库
  • 合并分支

(1)查看分支

  • 方式一

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

  • 方式二:显示当前分支在master(在IDEA编程界面右下角)在这里插入图片描述,点击后会出现上图的小窗口

(2)创建分支

在小窗口中点击New Branch
在这里插入图片描述
(方框里打勾表示创建这个分支后会跳转到这个分支)

【注意】如果基于master分创建分支,新分支里面的内容与master一致

(3)切换分支

在这里插入图片描述

点击checkout就可以快速实现切换

(4)推送分支到远程仓库

在这里插入图片描述

点击push后到新的小窗口再点push实现推送

(5)合并分支

在其他分支创建新的类后,点击小窗口里的相应选项实现快速合并

在这里插入图片描述

【注意】合并分支是合并文件,分支间还是互不影响

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值