Git分布式版本控制工具

article/2025/9/18 5:34:48

Git分布式版本控制工具

文章目录

  • Git分布式版本控制工具
    • 1、目标
  • 2、概述
    • 2.1、开发中的实际场景
    • 2.2、版本控制器的方式
    • 2.3、Git工作流程图
  • 3、Git安装与常用命令
    • 3.1、Git 环境配置
      • 3.1.1 下载与安装
      • 3.1.2 基本配置
      • 3.1.3 为常用指令配置别名
      • 3.1.4 解决 GitBash 乱码问题
    • 3.2、获取本地仓库
    • 3.3、基础操作命令
    • 3.4、编辑 .gitignore文件
    • 3.5、分支
      • 3.5.1、查看本地分支
      • 3.5.2、创建本地分支
      • 3.5.3、切换分支
      • 3.5.4、合并分支
      • 3.5.5、删除分支
      • 3.5.6、解决冲突
      • 3.5.7、开发中分支使用的原则和流程
  • 4、Git远程仓库
    • 4.1、常见的远程仓库
    • 4.2、注册码云
    • 4.3、创建远程仓库
    • 4.4、配置SSH公钥
    • 4.5、操作远程仓库
      • 4.5.1、添加远程仓库
      • 4.5.2、查看远程仓库
      • 4.5.3、推送到远程仓库
      • 4.5.4、查看本地分支与远程分支的关联关系
      • 4.5.5、从远程仓库克隆
      • 4.5.6、从远程仓库中抓取和拉取
      • 4.5.7、解决合并冲突
  • 5、在 Idea 中使用 Git
    • 5.1、在 Idea 中配置 Git
    • 5.2、操作 Git
      • 5.2.1、创建远程仓库,使用码云
      • 5.2.2、初始化本地仓库
      • 5.2.3、设置远程仓库,或者克隆仓库
      • 5.2.4、Git 的操作
      • 5.2.5、分支操作
      • 5.2.6、解决冲突
    • 5.3、IDEA常用 Git 操作入口
  • 6、注意事项
    • 6.1、window 查看隐藏文件(.bashrc、.gitignore)
    • 6.2、window 下创建.bashrc、.gitignore文件
    • 6.3、IDEA集成 GitBash 作为 Terminal
  • 7、学习资源推荐
    • 6.3、IDEA集成 GitBash 作为 Terminal
  • 7、学习资源推荐

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、注册码云

  • 注册码云账号 https://gitee.com/signup

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、学习资源推荐

  • 菜鸟教程 [菜鸟教程](Git 教程 | 菜鸟教程 (runoob.com))

  • 在线练习网站 [Git](Learn Git Branching (gitee.io))

  • 廖雪峰教程 [Git](Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com))
    ere

  • touch .gitignore

6.3、IDEA集成 GitBash 作为 Terminal

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

7、学习资源推荐

  • 菜鸟教程 [菜鸟教程](Git 教程 | 菜鸟教程 (runoob.com))

  • 在线练习网站 [Git](Learn Git Branching (gitee.io))

  • 廖雪峰教程 [Git](Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com))


http://chatgpt.dhexx.cn/article/M1fh4B6C.shtml

相关文章

关于我在windows使用volatility取证这档事

官网下载地址&#xff1a;https://www.volatilityfoundation.org/releases volatility3的官方文档&#xff1a;https://volatility3.readthedocs.io/en/latest/basics.html 下载 看清有两个版本&#xff0c;用法不一样 第一次我下载了Volatility 2.6 Windows Standalone Exe…

DLNLP学习笔记03(Speech Recognition: LAS模型)

Listen, Attend, and Spell (LAS) [Chorowski. et al., NIPS’15] 论文地址&#xff1a;https://arxiv.org/pdf/1508.01211.pdf 1 模型简介&#xff1a; 2 Listen&#xff1a;其中Encoder可以为RNN&#xff0c;CNN或者RNNCNN。 Listen-down sampling&#xff1a;&#xff08;RN…

On Device Debug!IDA+GDB trace automagic.apk in s1

2019独角兽企业重金招聘Python工程师标准>>> http://forum.xda-developers.com/showthread.php?t2050393 Well... I have attached a debugger to native code, set breakpoints, analyzed registers, memory, etc. It wasnt that easy though. It took me severa…

【Jetson Nano 入门】环境配置汇总

文章目录 前言一、镜像烧写二、PWM风扇自动调速三、使用MicroUSB在电脑打开终端四、VNC实现局域网及网线直连通信五、SSH文件传输六、状态监控软件Jtop七、检查CUDA、OpenCV及cuDNN八、USB摄像头测试软件Camorama九、CSI摄像头测试十、实现Yolov4-tiny的USB摄像头实时检测 前言…

WEB UI自动化测试之AutoMagic自动化测试平台开源

作者介绍&#xff1a; 网名: Ray 介绍&#xff1a;笑起来像个孩子&#xff0c;冷起来是个迷。 博客&#xff1a;http://www.cnblogs.com/tsbc/ 2018年3月29日&#xff0c;Ray说准备把AutoMagic自动化测试管理平台开源了&#xff01;&#xff01;&#xff01; 这是个好消息&…

三星s20 android auto,Automagic一个更简单的方式来自动化您的Android手机 | MOS86

你有没有想过你的智能手机会在你回家的时候开始播放音乐&#xff1f;当你关闭社交网络的时候怎么样&#xff1f;Automagic是一种替代方案&#xff0c;通过使用易于理解的流程图执行许多相同的任务&#xff0c;向用户提供了一种更简单的自动化Android手机的方法。 Automagic如何…

AutoMagic自动化测试平台简介

PS:给想做自动化平台同学一点思路。 AutoMagic 是一个基于WebUI的自动化管理平台。为什么叫AutoMagic呢&#xff1f;因为自动化&#xff08;Automation&#xff09;在执行起来的时候是一个很神奇的事情&#xff0c;它可以无人值守的模拟人的操作&#xff0c;就像魔术&#xff0…

AutoMagic设计思路简介及新增自定义关键字实例

目录 简介 AutoMagic介绍 SeleniumKey介绍 自定义关键字 简介 AutoMagic 是一个基于WebUI的自动化管理平台。为什么叫AutoMagic呢&#xff1f;因为自动化在执行起来的时候是一个很神奇的事情&#xff0c;它可以无人值守的模拟人的操作&#xff0c;就像魔术&#xff08;Magic&am…

AutoMagic-开源自动化平台的容器化构建

github上看到AutoMagic自动化平台开源了&#xff0c;一时手痒&#xff0c;就试着搭了一套环境&#xff0c;现在把思路和大家说一说。 AutoMagic从其工作分工分两部分&#xff1a; 1&#xff1a;Web端管理平台 管理平台基于Python Django框架Mysql开发&#xff0c;主要用来管理自…

Automagic Premium 安卓上的自动化神器

每当我使用手机时&#xff0c;就对各种App的签到领奖非常反感&#xff0c;如果不签好像吃了亏&#xff0c;签一次花的时间自己也觉得不值。这时候我就在想&#xff0c;如果有一个App&#xff0c;能够自动帮我完成这种每天重复执行的任务就好了。之前找到一个叫uiautomator2的py…

[重磅消息]AutoMagic自动化测试平台开源

作者介绍&#xff1a; 网名: Ray 介绍&#xff1a;笑起来像个孩子&#xff0c;冷起来是个迷。 博客&#xff1a;http://www.cnblogs.com/tsbc/ 2018年3月29日&#xff0c;Ray跟我说准备把AutoMagic自动化测试管理平台开源了&#xff01;&#xff01;&#xff01; 这是个好消息&…

AutoMagic使用说明

简介 自动化测试管理平台&#xff0c;可以进行用户、产品、项目、模块、测试用例、测试元素、测试关键字、测试报告的管理等。 Github地址&#xff1a;https://github.com/radiateboy/automagic/ 用户和产品管理 本平台是自动化管理平台&#xff0c;整个平台结构是 用户>产品…

AutoMagic使用说明以及图文操作步骤

一、简介 自动化测试管理平台&#xff0c;可以进行用户、产品、项目、模块、测试用例、测试元素、测试关键字、测试报告的管理等。 二、平台结构设计 三、用例关系 四、用户和产品管理 本平台是自动化管理平台&#xff0c;整个平台结构是 用户>产品>项目>模块>…

automagic 使用_使用Automagic在Android设备上自动化任务

automagic 使用 Automation is always a good thing, and we’ve looked at various ways in which you can automate tasks on your Android. AutoMagic takes a different approach to things, making it possible to create flow charts that are used to trigger actions b…

AutoMagic-开源自动化平台构建思路

最近在github上看到AutoMagic自动化平台开源了&#xff0c;一时手痒&#xff0c;就试着搭了一套环境&#xff0c;现在把思路和大家说一说。 AutoMagic从其工作分工分两部分&#xff1a; 1&#xff1a;Web端管理平台 管理平台基于Python Django框架Mysql开发&#xff0c;主要用来…

VMware中卸载Ubuntu

1、右键>>管理>>从磁盘中删除 2、点击“是”&#xff0c;磁盘路径安装Ubuntu的文件一并删除

Ubuntu系统的卸载与安装

Ubuntu系统的卸载与安装 卸载 如果要重装Ubuntu系统&#xff0c;在重装之前需要先把原来系统进行删除&#xff0c;并且删除引导向 具体步骤参考&#xff1a;https://blog.csdn.net/Spacegene/article/details/86659349 用管理员权限打开记事本&#xff1a;https://zhidao.bai…

Ubuntu 22.04 双系统安装和卸载

前言&#xff1a; 一,为什么选择Ubuntu系统&#xff1f; 1.免费且提供长期系统维护支持&#xff1b;2.是主流的Linux服务器发行版&#xff1b; 3.强大的Shell&#xff1b;4.简洁好看的图形化UI界面&#xff1b;5.丰富的软件支持&#xff1b; 二&#xff0c;如何联系我&…

3种方法来卸载Ubuntu软件

1 使用Synaptic软件包管理器进行卸载 1 打开软件包管理器。Ubuntu自带了一个GUI&#xff08;Graphical User Interface&#xff0c;图形化用户界面&#xff09;软件包管理器&#xff0c;它可以让你在一个可视化窗口中卸载程序。如果你不习惯使用命令行&#xff0c;这一工具将非…

在Win10和Ubuntu双系统下卸载Ubuntu系统的方法

一、清除Ubuntu系统 删除Ubuntu系统使用的几个分区(包括EFI分区)&#xff0c;注意不要删除Windows的EFI分区&#xff1b;如果不确定Ubuntu相关分区&#xff0c;可以通过[WindowsX]选择磁盘管理&#xff0c;通过分区大小进行对比判断。 二、删除开启引导启动项 删除了Ubuntu系…