首页 > 其他分享 >Git概述

Git概述

时间:2022-11-15 21:22:17浏览次数:143  
标签:git 仓库 Git 概述 本地 远程 分支

一、Git概述

1、公司开发是团队开发?个人开发?

  • 团队开发
    • 交换代码
  • 项目开发
    • 版本迭代
      • mybatis 3.5.5

2、版本控制工具

  • SVN:集中式版本控制工具【问题:单点故障】
    • 有一台服务器,各个程序员把代码提交到服务器。
    • 如果需要最新代码,则从服务器下载
  • Git:分布式版本控制工具
    • 有多个仓库【本地仓库,远程仓库】
    • 避免单点故障

二、Git作用

  • 软件开发
    • 控制和管理软件的版本信息
      • 谁做什么
      • 什么时候做的
      • 联系方式是什么
  • 细化功能
  • 代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本
  • 版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换
  • 多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调
  • 远程备份:Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取

三、下载与安装

1、下载

2、安装

  • 闭着眼睛下一步【安装路径:纯英文】
  • 安装成功的检查标准
桌面鼠标右击,能够看到如下两个菜单
1658797586545
  • 今天所有的命令都是基于Git Bash Here来完成的

3、初始化操作

  • 只执行一遍
git config --global user.name "ghy"
git config --global user.email "[email protected]"
Git Bash Here
1658798029224
  • 查看是否配置成功
git config --list
  • git本地配置文件:C:\Users\admin\.gitconfig

四、Git工作原理

工作原理
1658798452545
  • 远程仓库:远程服务器上的Git仓库
  • 本地仓库:本地的Git仓库【仓库其实就是一个文件夹】

五、Git代码托管服务

1、常用的Git代码托管服务

Git中存在两种类型的仓库,即本地仓库远程仓库。那么我们如何搭建Git远程仓库呢?

我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

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

2、注册码云账户

注册时,用户名不能是中文
1658799997102

3、码云的基本操作

3.1 创建仓库

  • 仓库名称不能是中文
创建仓库
1658800338685
仓库地址
1658800402576

3.2 分配开发人员

分配开发人员
1658800529877
1658800691904

六、获取仓库

1、两种方式

1.1 从远程仓库克隆

git clone 远程仓库地址

从远程仓库克隆
1658801521035

1.2 本地初始化仓库

git init

进入文件夹里面,打开 Git Bash Here
1658801667041

2、相关概念

  • 本地版本库:.git目录就是本地版本库【严禁修改】
本地版本库
1658801989216
  • 工作区:跟.git文件夹所在同目录下的区域
工作区
1658801818224
  • 暂存区:是本地版本库中一个名为index的文件
暂存区
1658801949660

七、本地操作

  • git status 查看文件状态
  • git add 将文件的修改加入暂存区 (掌握)
  • git reset 将暂存区的文件取消暂存或者是切换到指定版本
  • git commit 将暂存区的文件修改提交到版本库 (掌握)
  • git log 查看日志 (掌握)

1、git status

  • 查看文件状态
git status
  • 文件的状态
  • Untracked files :文件没有受到Git的管理

  • tracked :文件受到Git的管理

    ​ 1)Unmodified 未修改状态

    ​ 2)Modified 已修改状态

    ​ 3)Staged 已暂存状态

参数 -s:查看状态的简要信息

git status [-s]
1658804111941

2、git add

  • 将文件加入暂存区
git add 文件名
git add *

*:是通配符,表示所有内容

3、git commit

  • 将暂存区的文件提交到版本库
git commit -m '提交的日志信息必须精准'
git add 和 git commit
1658804580647

4、git log

  • 查看日志
git log: 查看详细日志
git log --oneline : 查看简要日志
git log
1658804894766
git log --oneline
1658804959929

5、git reset【了解】

  • 回退版本
git reset --hard 版本号
回退版本
1658805165679

八、远程操作

1、git clone

  • 克隆远程仓库到本地【在本地没有仓库时操作,一般只操作一次】
git clone 远程仓库地址

2、git remote

  • 查看本地仓库关联的远程仓库
    • 克隆下来的仓库自动会关联远程仓库
git remote : 表示只查看远程仓库的别名
git remote -v: 查看详细信息表示只查看远程仓库的别名
git remote [-v]
1658817913697

3、git remote add

  • 关联远程仓库
    • 克隆下来的仓库自动会关联远程仓库
git remote add 远程仓库别名 远程仓库地址

远程仓库别名一般叫origin,也可以叫别的名字
git remote add
1658818085451

4、git push

  • 推送本地仓库到远程
git push 远程仓库别名 分支名
git push
1658818287012

5、git pull

  • 拉取远程仓库到本地【只拉取不同的部分】
git pull 远程仓库别名 分支名

注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )

解决此问题可以在git pull命令后加入参数--allow-unrelated-histories

git pull
1658818762843
git pull origin master --allow-unrelated-histories
1658819209681

操作后,会弹出一个信息框,信息框是因为合并需要记录日志。

i,进入插入模式,输入信息

esc,进入查看模式

:wq,表示保存并退出

九、分支操作

1、分支介绍

  • 概念:分支是记录Git提交记录的时间线。分支之间是相互独立的,互不影响

  • 作用:并行开发

    • 譬如
      • 张三开发检查项模块,就可以为其创建一个分支,它就负责开发检查项功能
      • 李四开发检查组模块,就可以为其也创建一个分支,它就负责开发检查组功能
      • 以此类推....

    当所有人都开发完成后,就可以把各个分支合并到一个主分支,主分支上面就具备了所有的模块功能。

  • 默认情况下,本地仓库一旦初始化且有了提交记录后,就会自动创建一个名为master的分支,叫做主分支,实际上就是一个普通分支

分支原理
1658823056873

2、git branch

  • 查看分支
git branch : 查看本地仓库分支
git branch -r : 查看远程仓库分支
git branch -a : 查看所有分支
git branch
1658826314853

3、git branch 分支名

  • 创建分支
git branch 分支名
1658826422506

4、git checkout 分支名

  • 切换分支
git checkout 分支名
1658826469893

5、git merge 分支名

  • 合并分支

    注意:合并分支时,需要在合并分支方去操作

    • 譬如:A分支合并B分支,那么需要在A分支去执行合并分支命名
master分支合并张三分支
1658826639227

5.1 冲突问题

  • 冲突的产生
    • 当合并分支时,在同一个文件的同一个位置发现内容不一样时,就会产生冲突
冲突的产生
1658826877550
  • 解决冲突
    • 必须手动编辑冲突的文件 --> 添加暂存区 --> 提交到本地【提交日志比较特殊】
解决冲突
1658826994957

十、标签操作

  • 标签:一般指的是项目开发过程中,出现了里程碑意义的版本

1、git tag

  • 查看标签
git tag
1658825851150

2、git tag 标签名

  • 创建标签
git tag 标签名
1658825868165

3、git push 远程仓库别名 标签名

  • 将标签推送至远程仓库
    • 只有推送本地仓库到远程后,才能看到标签
git push 远程仓库别名 标签名
1658825913373

4、git checkout -b 分支名 标签名

  • 检出指定分支的标签
git checkout -b 分支名 标签名
1658825937497

十一、IDEA使用Git

  • 注意:底层还是使用git命令完成的。所以必须在外部安装好Git

1、IDEA集成Git

  • 默认情况下,会自动集成
IDEA集成Git
1658828071230

2、获取Git仓库

2.1 本地初始化

  1. 创建一个Maven项目
  2. 创建一个.gitignore文件,忽略不想要提交的文件【该操作一定要在git add之前】
  3. 初始化仓库
  • 克隆远程仓库【一般情况下,远程仓库名称本地仓库名称保持一致】
使用插件自成生成.gitignore文件
1658828349305
1658828419659
初始化仓库
1658828552388
1658828625477

忽略文件的解释

  • 在真实开发中,因为每个人的开发环境都不相同,所以为了避免产生不必要的冲突。一般会把一些内容忽略掉,不提交到本地仓库
  • 譬如:项目中idea目录,xxx.iml文件,target目录等
  • 指定忽略内容是由一个名为.gitignore文件来完成的,在该文件中可以指定要忽略的内容
可以使用idea插件,自动生成该文件
1658828283207

2.2 克隆远程仓库到本地

克隆远程仓库到本地
1658829385160

3、本地操作

3.1 增加到暂存区

增加到暂存区
1658831244050

3.2 提交到本地仓库

提交到本地仓库
1658830867046
1658831009523
1658831026082
查看日志
1658831202418

4、远程操作

4.1 关联远程仓库

1658831436152
1658831461062

4.2 推送到远程仓库

推送到远程仓库
1658831531986

4.3 拉取远程仓库代码本地

拉取远程仓库代码本地
1658831735751

5、分支操作

查看分支
1658831977564
创建分支
1658832060411
1658832109651
推送本地分支到远程
1658832257561
远程仓库的分支
1658832277234
切换分支
1658832330818
合并分支
1658832440463
合并时产生的冲突
1658832577104
1658832674593
1658832728055
1658832764846

标签:git,仓库,Git,概述,本地,远程,分支
From: https://www.cnblogs.com/wzztg/p/16893990.html

相关文章

  • 03.git的添加git add、更新git pull、删除git rm 、克隆git clone
    把不同人写的几个的代码模块组合成整体(注意:模块使用的编程环境不同)推荐使用git,git是目前世界上最先进的分布式版本控制]一、安装、远程仓库的绑定1、安装git通过Git安......
  • 成为 Go 高手的 8 个 GitHub 开源项目
    成为Go高手的8个GitHub开源项目polarisxu 2022-11-1518:12 发表于北京大家好,我是polarisxu。想成为Go高手吗?那推荐看看这些开源项目。Go从2009年开始......
  • 本地代码上传github(个人笔记)
    本片作为记录个人学习内容,参考另外两位大咖的内容,由于是只考虑自己了解范围,存在未说明的地方可以查看底部连接查看参考文章。前期准备:1,github上有账号,有仓库,复制仓库地址......
  • 01.删除GitHub仓库里的一个文件夹
    删除GitHub仓库里的一个文件夹1、复制仓库地址2、在本地新建一个空文件夹3、在空文件夹内,右键选择GitBashHere4、弹出GITBash框5、克隆远程仓库6.拉取远程仓库......
  • 一文搞懂docker安装Jenkins,从gitee上面拉取代码.部署到另一台服务器支持版本回退
    1.前言通过docker安装Jenkins,从gitee上面拉取代码.部署到另一台服务器,并用docker启动.达到一键式构建的目标扩展功能.1.支持版本回退.2.限制版本数量,超出自动清理2......
  • GitHub+Typora实现云笔记一键上传
    git实现笔记自动上传功能简介:将更新内容自动上传同步git,无需手动提交,解锁一键式同步。流程大致为,创建新仓库,配置公钥和私钥,安装quicker软件,通过quicker上某脚本完成一键......
  • git rebase
    在上面的过程中,更新代码我使用的是 gitpulloriginB1--rebase 而不是 gitpulloriginB1 这也是平时使用rebase注意的一点,gitpull 这条命令默认使用了 --merg......
  • HTML表单标签-概述
    表单:概念:用于采集用户输入的数据的,用于服务器进行交互form:用于定义表单的,可以定义一个范围,范围代表采集用户数据的范围属性:action:指定提交数据的URLmethod:指定提交方......
  • Git常用命令
    合并分支把commit记录合并成一次,并不提交gitmerge--squash--no-commit<branchname>暂存stash需求修改到一半,要切换到其他分支gitstashsave"message......
  • Tomcat的概述、部署及优化
    一、Tomcat概述1、Tomcat的概念Tomcat是Java语言开发的,服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下......