博主:👍不许代码码上红
欢迎:🐋点赞、收藏、关注、评论。
格言: 大鹏一日同风起,扶摇直上九万里。

文章目录

      • Git代码托管服务概述
      • Git核心概念
      • 主流Git托管平台
      • Git基础配置
      • 仓库创建方式
      • Git文件状态管理
      • 常用本地操作命令
      • 远程仓库操作
      • 分支管理
      • 标签管理
      • IDE集成建议

Git代码托管服务概述

Git是一款分布式版本控制工具,用于管理软件开发中的源代码文件。通过本地和远程仓库协同工作,实现代码的版本控制、协作开发和历史追踪。

Git核心概念

本地仓库与远程仓库

  • 本地仓库:位于开发者本地计算机,用于独立开发和版本管理
  • 远程仓库:存储在服务器上,用于团队协作和代码备份

基本操作概念

  • Commit:将文件修改保存到本地仓库
  • Push:将本地仓库内容上传到远程仓库
  • Pull:从远程仓库获取最新内容到本地
  • Git GUI Here: 打开Git图形界面
  • Git Bash Here: 打开Git命令行

主流Git托管平台

GitHub

  • 全球最大的开源托管平台
  • 支持公开和私有仓库
  • 提供Issue跟踪、Wiki等功能

Gitee(码云)

  • 国内流行的代码托管服务
  • 中文界面,访问速度快
  • 提供企业版等增值服务

GitLab

  • 开源自托管解决方案
  • 可部署在企业内部服务器
  • 提供CI/CD等高级功能

Bitbucket

  • Atlassian旗下代码托管平台
  • 免费支持私有仓库
  • 与Jira等工具深度集成

Git基础配置

用户信息设置

git config --global user.name "YourName"
git config --global user.email "your@email.com"

查看当前配置

git config --list

仓库创建方式

本地初始化

mkdir project
cd project
git init
  • 如果在当前目录看到.git文件夹,说明Git仓库创建成功

克隆远程仓库

git clone [远程仓库地址]

Git文件状态管理

核心区域

  • 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
  • 暂存区:.git文件夹中的index文件夹(或者stage文件夹)。暂存区是一个临时保存修改文件的地方
  • 版本库:.git文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等等

文件状态

  • Untracked(未跟踪):文件未被 Git 管理,通常是新创建的文件或目录。
  • Tracked(已跟踪):文件已被 Git 管理,可以进一步细分为:
    Unmodified(未修改):文件内容与上一次提交一致,未发生任何改动。
    Modified(已修改):文件内容相比上一次提交发生了改动,但尚未暂存。
    Staged(已暂存):文件的改动已被 git add 命令暂存,等待提交。

常用本地操作命令

状态查看

git status

将文件修改加入暂存区

git add

将暂存区的文件修改提交到版本库

git commit

版本回退

git reset

查看历史

git log

远程仓库操作

查看远程仓库

git remote

添加远程仓库

git remote add

从远程仓库克隆

git clone

从远程仓库拉取

git pull

推送到远程仓库

git push

分支管理

分支操作

  • 分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响到开发主线。同一个仓库可以有多个分支,各个分支之间相互独立,互不干扰
  • 通过git init命令创建本地仓库时候会默认创建一个master分支。
  • 分支常见的操作命令如下:
    ① git branch 查看分支
    ② git branch[name] 创建分支
    ③ git checkout [name] 切换分支
    ④ git push [shortName][name] 推送至远程仓库分支
    ⑤ git merge[name] 合并分支

标签管理

创建推送标签

git tag v1.0
git push origin v1.0

检出标签

git checkout -b release v1.0

IDE集成建议

配置Git路径

  • 在IDE设置中指定Git executable路径
  • 配置用户信息与终端一致

常见操作

  • 通过VCS菜单进行commit/push/pull
  • 使用版本控制工具窗口管理变更
  • 右键点击文件进行diff/rollback等操作

分支管理

  • 在右下角分支切换器中操作
  • 支持可视化merge conflict解决

通过掌握这些核心概念和操作命令,可以高效利用Git进行版本控制和团队协作开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/85409.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85409.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/85409.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 网络请求的选择逻辑(Connectivity Modules)

代码分析 ConnectivityManager packages/modules/Connectivity/framework/src/android/net/ConnectivityManager.java 许多APN已经弃用,应用层统一用 requestNetwork() 来请求网络。 [ConnectivityManager] example [ConnectivityManager] requestNetwork() [Connectivi…

C#建立与数据库连接(版本问题的解决方案)踩坑总结

1.如何优雅的建立数据库连接 今天使用这个deepseek写代码,主要就是建立数据库的链接,包括这个建库建表啥的都是他整得,我就是负责执行,然后解决这个里面遇到的一些问题; 其实我学习这个C#不过是短短的4天的时间&…

FastAPI的初步学习(Django用户过来的)

我一直以来是Django重度用户。它有清晰的MVC架构模式、多应用组织结构。它内置用户认证、数据库ORM、数据库迁移、管理后台、日志等功能,还有强大的社区支持。再搭配上Django REST framework (DRF) ,开发起来效率极高。主打功能强大、易于使用。 曾经也…

提升IT运维效率 贝锐向日葵推出自动化企业脚本功能

在企业进行远程IT运维管理的过程中,难免会涉及很多需要批量操作下发指令的场景,包括但不限于下列场景: ● ⼤规模设备部署与初始化、设备配置更新 ● 业务软件安装与系统维护,进行安全加固或执行问题修复命令 ● 远程设备监控与…

最简单的远程桌面连接方法是什么?系统自带内外网访问实现

在众多远程桌面连接方式中,使用 Windows 系统自带的远程桌面连接功能是较为简单的方法之一,无论是在局域网内还是通过公网进行远程连接,都能轻松实现。 一、局域网内连接步骤 1、 开启目标计算机远程桌面功能:在目标计算机&…

JVM(2)——垃圾回收算法

本文将穿透式解析JVM垃圾回收核心算法,涵盖7大基础算法4大现代GC实现3种内存分配策略,通过15张动态示意图GC日志实战分析,带您彻底掌握JVM内存自动管理机制。 一、GC核心概念体系 1.1 对象存亡判定法则 引用计数法致命缺陷: // …

基于Spring Boot+Vue的“暖寓”宿舍管理系统设计与实现(源码及文档)

基于Spring BootVue的“暖寓”宿舍管理系统设计与实现 第 1 章 绪论 1.1 论文研究主要内容 1.1.1 系统概述 1.1.2 系统介绍 1.2 国内外研究现状 第 2 章 关键技术介绍 2.1 关键性开发技术的介绍 2.1.1 Java简介 2.1.2 Spring Boot框架 2.2 其他相关技术 2.2.1 Vue.J…

基于Java的不固定长度字符集在指定宽度和自适应模型下图片绘制生成实战

目录 前言 一、需求介绍 1、指定宽度生成 2、指定列自适应生成 二、Java生成实现 1、公共方法 2、指定宽度生成 3、指定列自适应生成 三、总结 前言 在当今数字化与信息化飞速发展的时代,图像的生成与处理技术正日益成为众多领域关注的焦点。从创意设计到数…

软考 系统架构设计师系列知识点之杂项集萃(93)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(92) 第169题 人工智能技术已成为当前国际科技竞争的核心技术之一,AI芯片是占据人工智能市场的法宝。AI芯片有别于通常处理器芯片,它应具备四种关键特征。&…

Kotlin实现文件下载断点续传(RandomAccessFile全解析)

本文将深入探讨如何使用Kotlin和RandomAccessFile实现高效的断点续传功能,涵盖原理分析、完整代码实现、性能优化及工程实践要点。 一、断点续传核心原理 1.1 HTTP断点续传协议 #mermaid-svg-EfmgPUx3SFkso8Fc {font-family:"trebuchet ms",verdana,aria…

linux-headers-$(uname -r)和kmod是什么?

2025年6月16日,周一清晨 Linux-headers-$(uname -r)与kmod包详解 一、linux-headers-$(uname -r)包 linux-headers-(uname -r)是Linux系统中与当前运行内核版本匹配的内核头文件包,其中(uname -r)会自动替换为当前内核版本号(如5.13.0-19-g…

使用axios及和spirng boot 交互

Axios Axios是一个基于Promise的HTTP库,可以发送get、post等请求,它作用于浏览器和Node.js中。当运行在浏览器时,使用XMLHttpRequest接口发送请求;当运行在Node.js时,使用HTTP对象发送请求。 使用步骤: 第…

布局文件的逐行详细解读

总览 源码 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto&…

VTK 显示大量点云数据及交互(点云拾取、着色、测量等)功能

VTK (Visualization Toolkit) 是一个强大的开源可视化库&#xff0c;非常适合处理点云数据。下面将介绍如何使用 VTK 显示大量点云数据&#xff0c;并实现点云拾取、着色、测量等功能。 基本点云显示 创建一个基本的点云显示程序&#xff1a; cpp #include <vtkSmartPoi…

性能优化 - 高级进阶: 性能优化全方位总结

文章目录 Pre1. 概述&#xff1a;性能优化提纲与使用场景2. 准备阶段2.1 明确优化范围与目标2.2 环境与工具准备 3. 数据收集与指标确认3.1 关键资源维度与指标项3.2 监控体系搭建与初始采集3.3 日志与追踪配置 4. 问题定位思路4.1 从整体到局部的分析流程4.2 常见瓶颈维度检查…

Mybatis之Integer类型字段为0,入库为null

背景&#xff1a; 由于项目某个功能用到优先级字段来判断&#xff0c;需要在mysql表中定义一个字段XX&#xff0c;类型为int&#xff0c;默认为0&#xff0c;具体值由后台配置&#xff0c;正常入库即可 问题&#xff1a; 由于后台配置存量其他类型的数据无需该字段&#xff0c…

上海市计算机学会竞赛平台2022年3月月赛丙组洗牌

题目描述 给定一个整数 nn&#xff0c;表示 nn 张牌&#xff0c;牌的编号为 11 到 nn。 再给定一个洗牌置换 f1,f2,…,fnf1​,f2​,…,fn​&#xff0c;进行一次洗牌操作时&#xff0c;应将第一号位置的牌交换到第 f1f1​ 号位置&#xff0c;将第 ii 号位置的牌交换到第 fifi…

DINO-R1:激励推理能力的视觉基础模型

摘要 近期&#xff0c;人们对大型语言模型&#xff08;如DeepSeek-R1&#xff09;推理能力的关注呈爆炸式增长&#xff0c;通过基于强化学习的微调框架&#xff08;如组相对策略优化&#xff08;Group Relative Policy Optimization&#xff0c;GRPO&#xff09;方法&#xff…

Linux--LVM逻辑卷扩容

Linux–LVM逻辑卷扩容 文章目录 Linux--LVM逻辑卷扩容📚 LVM 常用命令分类及基本格式✅ 1. 物理卷(PV)相关命令✅ 2. 卷组(VG)相关命令✅ 3. 逻辑卷(LV)相关命令🔍 三、查看类命令简写说明使用命令及基本格式:lvm逻辑卷扩容步骤:1.添加硬盘设备2.检测新增硬盘 添加…

C#基础语法与控制台操作

1. 控制台操作基础 控制台程序是学习C#的起点。以下是一些常用的控制台操作方法&#xff1a; 1.1. 清除控制台 Console.Clear(); // 清除控制台内容1.2. 输出字符串 Console.WriteLine("Hello World!"); // 在屏幕的当前位置换行输出字符串 Console.Write("…