Git分布式版本控制工具

Git分布式版本控制工具

git 命令总结

请添加图片描述

1、目标

  • 了解 Git 基本概念

  • 概述 Git 工作流程

  • 使用 Git 常用命令

  • 熟悉 Git 代码托管服务

  • 能够使用 idea 操作 Git

2、概述

2.1、开发中的实际场景

  • 备份,及时进行备份,防止丢失修改

  • 代码还原,可以进行代码还原,记录修改记录

  • 协同开发,创建分支,可以多人协同开发,进行合并

  • 追溯问题代码的编写人和编写时间。可以查看日志,进行问题查看.

2.2、版本控制器的方式

  • 集中式版本控制工具

    集中式版本控制工具,版本库是集中存放在中央服务器中,团队里的成员从中央服务器下载代码,是必须联网才能工作,个人修改后然后提交到中央版本库。

      举例:SVN和CVS

  • 分布式版本控制工具

    分布式版本控制系统没有”中央服务器“,每个人的电脑上都是一个完整的版本库,这样工作的时候,不需要联网。多人协作只需要各自的修改推送给对方,就能相互看到对方的修改了。

2.3、Git工作流程图

在这里插入图片描述

3、Git安装与常用命令

3.1、Git 环境配置

3.1.1 下载与安装

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

安装完成后,在桌面或者是文件夹,点击鼠标右键,可以看到两个图标

  • Git GUI Here: 图形界面工具

  • Git Bash: Git 提供的命令行工具

3.1.2 基本配置

  • 设置用户名称和email地址

    1. 打开Git Bash

    2. 设置用户信息

    git config --global user.name “***”

    git config --global user.email “”

3.1.3 为常用指令配置别名

  1. 打开用户目录,创建 .bashrc 文件

    touch ~/.bashrc

  2. 在 .bashrc文件中输入你想要设置的命令

    一些linux的命令都可以在这里使用
    #用于输出git提交日志
    alias git-log='git log --pretty=online --all --graph --abbrev-commit'
    #用于输出当前目录所有文件和基本信息
    alias ll='ls -al'
    
  3. 打开 gitBash, 执行 source ~/.bashrc

    source ~/.bashrc

3.1.4 解决 GitBash 乱码问题

  1. 打开 GitBash 执行下面命令

    git config --global core.quotepath false

  2. . ${git_home}/etc/bash.bashrc 文件最后加入下面两行

    Linux export 命令用于设置或显示环境变量。

    export LANG="zh_CN.UTF-8"
    export LC_ALL="zh_CN.UTF-8"
    

3.2、获取本地仓库

  1. 选择一个空目录作为我们的本地仓库

  2. 进入这个目录,点击右键打开Git Bash Here窗口

  3. 执行命令 git init, 初始化仓库

  4. 创建成功后出现隐藏目录.git

3.3、基础操作命令

在这里插入图片描述

Git 会对仓库中的文件进行状态记录,每一个文件都会有几个状态

  1. git add (工作区 --> 暂存区)

  2. git commit (暂存区 --> 本地仓库)

  3. git status 查看修改的状态

  4. git add . 使用通配符,将工作区的多个文件的修改添加到暂存区

  5. git commit -m ‘注释内容’

  6. git log [option] 查看提交记录

    • options

      • -all 显示所有分支

      • –pretty=oneline 将提交信息显示为一行

      • –abbrev-commit 输出结果更加简短

      • –graph 以图的形式显示

  7. git reset --hard commmitID 版本回退,进行版本切换

    • commmitID 可以使用 git log 指令查看

    • 如何查看已经删除的记录

      • git reflog

3.4、编辑 .gitignore文件

并不是所有的文件都需要 git 的管理,比如日志文件,还有编译过程中生成的临时文件等。在这种情况下,我们可以创建一个 .gitignore 文件,列出要忽略的文件模式。

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/

### VS Code ###
.vscode/

3.5、分支

几乎所有的版本控制系统都已某种形式支持分支。使用分支意味着你可以把你的工作从主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。

3.5.1、查看本地分支

  • git branch

3.5.2、创建本地分支

  • git branch 分支名

3.5.3、切换分支

  • git checkout 分支名

  • git checkout -b 分支名 (切换到一个不存在的分支,创建并切换)

3.5.4、合并分支

  • git merge 分支名 (合并到当前分支)

3.5.5、删除分支

不能删除当前分支,只能删除其他分支

  • git branch -d 分支名 (删除分支时,需要做各种检查)

  • git branch -D 分支名 (不做任何检查,强制删除)

3.5.6、解决冲突

不同的分支对同一个文件进行修改,在进行合并时,可能会存在冲突,这个时候需要手动解决冲突

  1. 处理文件冲突的地方,进行文件编辑,选择你想要留下的修改

  2. 将文件加入暂存区(add)

  3. 提交到仓库(commit)
    在这里插入图片描述

3.5.7、开发中分支使用的原则和流程

  • master 生产分支

  • develop 开发分支

  • feature/xxxx分支

  • hotfix/xxxx分支

  • test分支

  • pre分支

在这里插入图片描述

4、Git远程仓库

4.1、常见的远程仓库

  • github https://github.com/是一个面向开源及私有软件项目的托管平台,只支持 Git 作为唯一的版本库格式进行托管。服务器在国外,访问不稳定。

  • 码云 https://gitee.com/ 是国内的一个代码托管平台,由于服务器在国内,访问快,稳定。

  • GitLab https://about.gitlab.com/ 是一个用于仓库管理系统的开源项目, 一般用于在企业、学校等内部网络搭建 git 私服。

4.2、注册码云

4.3、创建远程仓库

在这里插入图片描述

仓库创建后可以查看仓库的地址
在这里插入图片描述

4.4、配置SSH公钥

  1. 打开 Git Bash Here ,生成 SSH 公钥

    • ssh-keygen -t rsa

    • 不断回车

      • 如果公钥已经存在,则自动覆盖
  2. Gitee 设置账户公钥

    • 获取公钥

      • cat ~/.ssh/id_rsa.pub
        在这里插入图片描述
  3. 验证是否配置成功

    • ssh -T git@gitee.com

在这里插入图片描述

4.5、操作远程仓库

4.5.1、添加远程仓库

需要先创建一个本地仓库,然后与远程仓库进行连接

  • 命令:git remote add <远端名称> <仓库路径>

    • 远端名称,默认是 origin,取决于远端服务器设置

    • 仓库路径,从远端服务器获取此 URL

    • git remote add origin https://gitee.com/z1397543194/reggie_take_out.git

4.5.2、查看远程仓库

  • 命令:git remote

4.5.3、推送到远程仓库

  • 命令:git push [-f] [–set-upstream] [远端名称 [本地分支名][:远端分支名]]

    • git push origin master 如果远程分支名和本地分支名称统统,则可以只写本地分支

    • -f 表示强制覆盖

    • –set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。

      • git push --set-upstream origin master
    • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名

      • git push 将master分支推送到已关联的远端分支

4.5.4、查看本地分支与远程分支的关联关系

  • 命令:git branch -vv

4.5.5、从远程仓库克隆

  • 命令: git clone <仓库路径> [本地目录]

    • 本地目录可以省略,会自动生成一个目录

4.5.6、从远程仓库中抓取和拉取

  • 抓取命令:git fetch [remote name] [branch name]

    • 将仓库里的更新都抓取到本地,不会进行合并

    • 如果不指定远端名称和分支名,则抓取所有分支

  • 拉取命令:git pull [remote name] [branch name]

    • 将远端仓库的修改拉到本地并自动进行合并,==>fetch + merge

    • 如果不指定远端名称和分支名,则抓取并更新所有分支

4.5.7、解决合并冲突

在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。
A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支,如下图所示。

5、在 Idea 中使用 Git

5.1、在 Idea 中配置 Git

5.2、操作 Git

5.2.1、创建远程仓库,使用码云

5.2.2、初始化本地仓库

  • 在 idea 中创建

  • 在目录中,执行 git init

5.2.3、设置远程仓库,或者克隆仓库

5.2.4、Git 的操作

git pull + merge / git add + commit / git push

  • 更新项目 Ctrl + T

  • 提交 Ctrl + K

  • 推送 Ctrl + Shift + K

5.2.5、分支操作

5.2.6、解决冲突

  1. 修改出现冲突的文件

  2. add

  3. commit

  4. git push

5.3、IDEA常用 Git 操作入口

6、注意事项

  • 切换分支前先提交本地的修改

  • 代码写完后,要及时提交

6.1、window 查看隐藏文件(.bashrc、.gitignore)

6.2、window 下创建.bashrc、.gitignore文件

  • 打开git bash here

  • touch .gitignore

6.3、IDEA集成 GitBash 作为 Terminal

可以作为git 的命令行,直接输入命令进行操作

7、学习资源推荐

6.3、IDEA集成 GitBash 作为 Terminal

可以作为git 的命令行,直接输入命令进行操作

7、学习资源推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值