GIT学习笔记

一、git简介

GIT是一个开源的分布式版本控制系统,用于敏捷高效的处理任何大小项目的版本管理

  • 项目的版本管理
  • 团队协同开发

二、 GIT下载及安装

2.1 下载Git

下载地址:https://git-scm.com/

2.2 安装Git

除了安装位置,其他点下一步下一步即可

2.3 检查安装

打开cmd 输入 git --version 查看

三、 GIT架构

在这里插入图片描述

四、GIt的基本使用

4.1 创建版本库

  • 在工作空间的目录中,右键“git bash here”打开git终端
  • 在git终端中输入 git init命令,创建版本库(就是一个.git目录)
  • 在这里插入图片描述

4.2 查看版本库状态

git status

4.3 将工作空间的修改添加到暂存区

git add . ##将工作空间中所有添加的文件添加到暂存区
git add a.txt ## 将工作空间中a.txt文件添加到暂存区

注意:如果add文件后想要查看暂存区内容,可以使用git status 命令查看
如果想将暂存区内容回退,可以使用git reset 命令撤销

     git status // 先看一下add 中的文件 
     git reset HEAD // 如果后面什么都不跟的话,就是上一次 add 里面的内容全部撤销
     git reset HEAD XXX/XXX/XXX.java // 就是对某个文件进行撤销

4.4 将暂存区内容提交到版本库(仓库)

git commit -m ‘提交说明’

注意:

  1. 提交本地版本库后,如果想要修改本次提交说明,可以使用命令:
    git commit --amend
    这时候会进入vim编辑器,修改完成你要的注释后保存即可
  2. 提交本地版本库后,如果想撤销本次提交,可以使用命令:
    git reset --soft HEAD^
    这样就成功撤销了commit,如果想要连着add也撤销的话,–soft改为–hard(将删除工作空间的改动代码)
    HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
    如果进行两次的commit,想要都撤回,可以使用HEAD~2

4.5 查看版本库中的历史版本

git log --oneline ##每个版本信息只显示一行
git log ## 显示每个版本的详细信息

4.6 设置用户信息

因为暂存区内容提交到本地仓库时,会记录当前版本的用户信息,所以在版本提交前,需要先绑定用户信息
git config --global user.name ‘具体的用户名’
git config --global user.email ‘具体的邮箱地址’

4.7 同步历史版本到工作空间

git log --online ## 查看版本日志,找到版本对应版本号
git checkout 版本号 ## 将版本号对应版本同步到工作空间

五、 远程仓库

远程仓库实现版本库的远程存储,实现协同开发

5.1 远程仓库概述

远程仓库图示
在这里插入图片描述

5.2 获取远程仓库

  1. 使用GitLab搭建私服
  2. 远程仓库提供商
    GITHub:https://github.com
    Gitee(码云):https://gitee.com
    Coding

5.3 创建远程仓库(码云)

  • 注册账号
  • 创建远程仓库
  • 添加开发人员
    在这里插入图片描述

六、远程仓库操作

6.1 准备工作

  1. .初始化本地仓库
git init
  1. 将工作空间添加到暂存区
git add .
  1. 将暂存区文件提交到本地版本库
git commint -m '首次提交'
  1. 在gitee中为当前项目创建一个远程仓库

6.2 本地仓库关联远程仓库

  • 建立本地仓库与远程仓库的关联,命令中origin为远程仓库别名
git remote add origin hppts://gitee.com/***/***.git # hppts://gitee.com/***/***.git为远程仓库的地址
  • 查看远程仓库状态
git remote -v
  • 将本地仓库push到远程仓库
git push origin master

注意:push过程中会要求输入gitee的账号密码,该账号密码会保存到windows凭证中,后续登录无需重新输入,如果需要更新账号登录,则需要先在控制面板->用户账户->管理windows凭据中删除账号密码

6.3其他开发者拉取远程仓库代码到本地

  1. 方法1:建立本地仓库,并拉取远程仓库代码
  • git init
  • git pull 远程仓库地址 master (通过远程仓库地址获取代码)
  • git pull origin master (通过别名获取远程仓库代码)
  1. 方法2:直接clone远程仓库
  • git clone 远程仓库地址

区别:

  1. 克隆不需要当前文件夹为仓库
  2. 克隆时如果远端已有分支,则本地可直接切换分支并进行push,而pull 本地仓库只有一个分支,不同步远程分支
    即:
    从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone
    从远程服务器获取到一个branch分支的更新到本地,并更新本地库,叫做pull

6.4 解决协同开发冲突

当两个开发者同时修改同一文件的同一位置时,后push的开发者会由于文件冲突而push失败

git pull origin master
#对冲突文件进行编辑
git add .
git commit -m ''
git push orgin master

七、分支管理

同一项目可以有多个分支,供不同开发者开发不同项目功能使用,当功能完善后,将分支合并到项目主干,起到保护项目不受临时开发特性影响

7.1 分支特性

  • 创建一个新的版本库,默认创建一个主分支-master分支
  • 每个分支都可以进行单独管理(常规分支、保护分支、只读分支)
  • 分支可以合并

7.2 命令操作分支

  • 查看分支
git branch
  • 创建分支
git branch branch-name #使用当前所在分支的版本创建分支名为branch_name 的分支
git checkout 当前分支任意版本号 -b brachName2 #使用当前所在分支的指定版本号创建分支名为branchName2的分支,并切换分支到branchName2
  • 切换分支
git checkout branch-name #切换分支到名为branch-name的分支
  • 合并分支
#将branch-name合并到当前所在分支
git merge branch-name 

注意:合并分支时如果主干从创建分支到合并分支时没有改变,则快速合并,如果主干从创建分支到合并分支时有提交内容或其他改变,则三方合并。及创建分支时版本 和 分支版本 和 创建分支后版本 三方合并!

八、IDEA集成GIT

8.1 IDEA关联GIT

在这里插入图片描述

8.2 IDEA中Git使用

8.2.1 创建本地版本库

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

8.2.2 设置忽略文件

在项目中一些文件是不需要记录到版本库中,可以通过配置忽略文件.gitignore来实现

  • 在工作空间的更目录中创建一个名为.gitignore文件
  • 在.gitignore 文件中配置忽略过滤条件
.idea
target
*.iml

8.2.3 将工作空间中的文件添加到暂存区

  • 选择项目/某个文件右键git->add
  • 添加到暂存区的操作可以设置默认添加
    在这里插入图片描述

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

  • 选择项目/文件 右键->git->commit

8.2.5 IDEA中Git分支管理

  • 创建新分支
    在这里插入图片描述
  • 切换分支
    在这里插入图片描述
  • 合并分支
  1. 切换到master分支
  2. 点击需要合并的分支右面的箭,在展开的菜单中选择合并到当前分支

8.2.6 IDEA中使用Git进行团队协同开发

将本地仓库push到远程仓库

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

从远程仓库给本地仓库创建分支
在这里插入图片描述

push本地分支到远程仓库,给远程仓库同步同名分支

在这里插入图片描述

在码云上设置master分支为保护分支

在这里插入图片描述

8.2.7 IDEA使用别人的远程仓库

8.2.7 IDEA中Git解决冲突

git pull 时出现版本冲突时,可以选择别人的版本覆盖自己的版本,也可以选择自己版本覆盖别人的版本,或者整合冲突
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷啦啦诶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值