当前位置: 首页 > news >正文

Git 快速上手

这个文档适用于需要快速上手 Git 的用户,本文尽可能的做到简单易懂 ❤️❤️❤️

git 的详细讲解请看这篇博客 Git 详解(原理、使用)

1. 什么是 Git

Git 是目前最主流的一个版本控制器,并且是分布式版本控制系统,可以控制电脑上所有格式的文档

版本控制器:记录每次修改以及版本迭代的管理系统

  • 对于文本文件,可以记录每次对这个文件的内容进行了怎样的修改

  • 对于二进制文件,具体内容进行了怎样的修改,他没法管理,但可以知道文件大小等方面的变化

2. 安装

  • 查看当前安装的 git 版本
git --version
  • Cent OS 安装
yum install git -y
  • Ubuntu 安装
apt-get install git -y
  • windows 安装

    下载安装包直接安装即可,在这里下载

    安装过程中除了安装路径需要修改之外,其他都用默认的即可

3. 使用

windows 系统,通常都是使用 git 的命令行客户端来进行相关操作

在任何文件资源管理器中鼠标右击,都会有 Open Git GUI hereOpen Git Bash here 两个选项

请添加图片描述

  • Open Git GUI here

    这是 Git 自带的图像化工具,俺没用过💩

  • Open Git Bash here

    这是命令行客户端,建议使用命令行,下面的关于 Git 的介绍也是使用命令行客户端来进行的😎

Git 是一个分布式版本控制系统,能够做到多人多机协同开发,将代码托管在远程服务器上,各个开发者在自己的电脑上基于本地仓库代码进行开发,一个功能开发完成之后上传到远程服务器即可

请添加图片描述

3.1 远程仓库创建

目前主流的托管平台是 Gitee 和 GitHub

  • Gitee:是国内公司打造的,由于正常情况下访问 GitHub 比较慢,国内用户较多
  • GitHub:目前最大的开源社区

这两个的使用方式都差不多,要用哪个自己决定就好

下面以 Gitee 为例来创建仓库

请添加图片描述

填写完上述表单之后即可成功创建远程仓库

请添加图片描述

3.2 克隆远程仓库到本地

点击右上角的克隆/下载按钮,可以看到多种克隆方式的链接以及下载代码压缩包的功能

请添加图片描述

复制 HTTPS 方式的链接,在本地要存放本地仓库的地方打开 git 命令行进行克隆,执行以下命令即可进行克隆

git clone 仓库链接

如果是私有仓库,在克隆以及提交代码的时候,需要输入 git 邮箱和密码进行验证

3.3 本地开发

克隆完成之后,即可在本地仓库中进行开发,开发完成之后,要将自己的修改推送到远程服务器,需要以下三部操作

在本地修改文件之后,对于文件的修改并未添加到本地仓库中,需要进行预添加操作以及提交操作

对本地文件的修改不只是文件内容的修改,还包括文件的创建和删除

  1. 预添加

    将本地的修改预添加到本地仓库

    git add .
    
  2. 提交

    git commit -m '填写本次修改文件的备注信息,这个信息请认真填写,在追溯代码的过程中很重要'
    

    在 commit 命令执行之后才算真正意义上将本地修改添加到了本地仓库

3.4 本地修改推送至远程仓库

将代码推送至远程仓库

git push

到这里本次修改就同步到了远程仓库

可以进行多次 add 以及 commit 操作之后再进行一次 push 操作,这三个操作不是必须同时连续执行的,这样的话,虽然没有 push,单多个版本的代码已经被 Git 管理起来了

3.5 从远程仓库拉取代码到本地

在自己开发过程中,其他开发者也会推送代码,要查看到别人的代码,就需要将远程仓库的代码拉去到本地

git pull

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 下半年交火点:智驾全国都能开,智舱多模态大模型
  • gen_circle_contour_xld 创建XLD轮廓对应于圆或圆弧。
  • 【机器学习】机器学习与自然语言处理的融合应用与性能优化新探索
  • iOS 应用内存超过多少会收到系统内存警告 ?
  • Linux服务监控自动巡检脚本--推送钉钉告警
  • Python 插入、替换、提取、或删除Excel中的图片
  • 【初阶数据结构】深入解析队列:探索底层逻辑
  • 3Python的Pandas:数据选取
  • React 19 竞态问题解决
  • 从入门到精通:网络基础详解
  • 在Pycharm中把jupyter notebook转换成md格式
  • java入门-java方法实现+案例
  • 软件架构之计算机网络
  • 【鸿蒙学习笔记】使用动画
  • Vue3框架搭建:vue+vite+pina+typescript
  • Mac转Windows的拯救指南
  • Zsh 开发指南(第十四篇 文件读写)
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 力扣(LeetCode)56
  • ​MySQL主从复制一致性检测
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #HarmonyOS:基础语法
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1)(1.13) SiK无线电高级配置(五)
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (ZT)薛涌:谈贫说富
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (三)终结任务
  • (四)汇编语言——简单程序
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 未来三学期想要修的课 (日記)
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .Net的DataSet直接与SQL2005交互
  • .NET运行机制
  • .net专家(张羿专栏)
  • :=
  • @EnableWebSecurity 注解的用途及适用场景
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [001-03-007].第07节:Redis中的事务
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [Apio2012]dispatching 左偏树
  • [Assignment] C++1
  • [C#]winform基于深度学习算法MVANet部署高精度二分类图像分割onnx模型高精度图像二值化
  • [CTF夺旗赛] CTFshow Web1-12 详细过程保姆级教程~
  • [IE编程] WebBrowser控件中设置页面的缩放
  • [IE编程] 多页面基于IE内核浏览器的代码示例
  • [IE技巧] 让IE 以全屏模式启动
  • [java基础揉碎]文件IO流
  • [Leetcode 128][Medium] 最长连续序列
  • [Mac软件]Boxy SVG 4.20.0 矢量图形编辑器
  • [NAND Flash 7.1] 闪存系统性能优化方向集锦?AC timing? Cache? 多路并发?
  • [Oh My C++ Diary]内联函数