简介

Git 是目前全球最流行的分布式版本控制系统(Distributed Version Control System, DVCS),核心作用是追踪文件修改历史、支持多人协同开发,并能高效管理代码(或任何文本类文件)的版本迭代。它由 Linux 内核创始人 Linus Torvalds 于 2005 年为解决 Linux 内核开发中的协作问题而设计,如今已成为软件开发(尤其是团队开发)的标配工具。

Git 本身是命令行工具,需配合远程仓库使用,目前主流的托管平台有:

  • GitHub:全球最大的开源项目托管平台,支持 Git 仓库管理、PR 协作、CI/CD 等功能。
  • GitLab:支持私有仓库(适合企业内部项目),功能全面,可自行部署私有 GitLab 服务器。
  • Gitee(码云):国内的 Git 托管平台,访问速度快,适合国内团队或对隐私有要求的项目。

第一步下载安装程序:

(我这里选择的是官网链接下载)

官网下载链接:Git

国内镜像源下载链接:CNPM Binaries Mirror

第二步:安装配置对应Git程序

在下载文件中找到对应安装程序,点击安装

第三部:创建远程仓库(我这里使用的码云)

注册码云(国内):工作台 - Gitee.com

注册GitHub(国外):GitHub · Build and ship software on a single, collaborative platform · GitHub

注册成功之后创建仓库

点击导航栏的加号新建仓库

根据自己的设置自己选择,一定要记住名称和地址

仓库地址后面远程链接会用到

创建成功后会出现如下界面,这是一个教程页面

建议截屏或是将上面命令进行保存

部:打开Git应用程序

在桌面点击右键,创建git程序

输入对应命令

输入全局配置

# 全局配置(所有仓库生效)

git config --global user.name "你的用户名"

git config --global user.email "你的邮箱"

# 查看配置

git config --list

进初始化

git init

(我这里是已经生成过了才会出现信息)

添加对上传文件

git add README.md

git add 文件名或文件夹或压缩包

进行提交

git commit -m "first commit"

增加数据仓库地址

git remote add origin https://gitee.com/zhang-jinlei101/123.git

进行上传

git push -u origin "master"

这就成功了

第五部:进行码云仓库查看

即可找到刚才上传的文件

附录Git命令大全

Git 是一款分布式版本控制系统,广泛用于代码管理和团队协作。以下是一份 Git 基础使用教程,涵盖从安装到常用操作的核心内容:

一、Git 安装

Windows:下载 Git for (Windowshttps://git-scm.com/download/win),安装时默认选项即可(建议勾选 "Git Bash Here" 方便右键启动命令行)。

macOS:使用 Homebrew 安装:brew install git,或下载 官方安装包(https://git-scm.com/download/mac)。

Linux:Ubuntu/Debian:sudo apt install git;CentOS:sudo yum install git。

验证安装:终端输入 git --version,显示版本号即成功。

二、初始配置

安装后需配置用户名和邮箱(与代码提交关联):

bash

# 全局配置(所有仓库生效)

git config --global user.name "你的用户名"

git config --global user.email "你的邮箱"

# 查看配置

git config --list

三、基本操作流程

1. 创建 / 初始化仓库

新建仓库:

在项目文件夹中初始化 Git 仓库:

mkdir myproject  # 创建项目文件夹

cd myproject     # 进入文件夹

git init         # 初始化仓库(生成 .git 隐藏文件夹)

克隆远程仓库:

从 GitHub/Gitee 等平台复制仓库到本地:

git clone https://github.com/用户名/仓库名.git

2. 文件状态与提交

Git 中文件有 3 种状态:

工作区(Working Directory):本地可见的文件目录

暂存区(Staging Area):临时存储待提交的修改

版本库(Repository):已提交的历史版本

常用命令:

# 查看文件状态(红色:未跟踪;绿色:已暂存;蓝色:已修改)

git status

# 将文件添加到暂存区(. 表示所有文件)

git add 文件名       # 添加单个文件

git add 文件夹/      # 添加文件夹

git add .           # 添加所有修改

# 提交暂存区文件到版本库(-m 后跟提交说明,必填)

git commit -m "提交说明:如新增登录功能"

# 简化操作:跳过暂存区直接提交已跟踪文件的修改

git commit -am "提交说明"

3. 查看历史记录

bash

# 查看完整提交历史(按 q 退出)

git log

# 简洁显示历史(一行一条)

git log --oneline

# 查看分支合并图

git log --graph --oneline

四、分支操作

分支用于并行开发(如功能开发、修复 bug),不影响主分支。

# 查看所有分支(* 表示当前分支)

git branch

# 创建新分支(基于当前分支)

git branch 分支名   # 仅创建

git checkout 分支名 # 切换到分支

# 简写:创建并切换分支

git checkout -b 分支名

# 合并分支(如将 feature 分支合并到 main 分支)

git checkout main       # 切换到目标分支

git merge feature       # 合并 feature 到 main

# 删除分支(合并后可删除)

git branch -d 分支名    # 已合并的分支

git branch -D 分支名    # 强制删除未合并的分支

五、远程仓库交互

# 关联远程仓库(首次使用)

git remote add origin 远程仓库地址  # origin 是远程仓库的别名

# 查看远程仓库信息

git remote -v

# 推送本地分支到远程(-u 关联分支,后续可直接 git push)

git push -u origin 分支名   # 如 git push -u origin main

# 拉取远程最新代码(合并到本地)

git pull origin 分支名

# 拉取远程分支但不合并(需手动合并)

git fetch origin 分支名

六、解决冲突

合并分支或拉取代码时可能出现冲突(同一文件同一位置被修改):

终端会提示冲突文件,打开文件,搜索 <<<<<<< HEAD 标记的冲突区域。

手动编辑保留需要的代码,删除冲突标记(<<<<<<<、=======、>>>>>>>)。

重新提交:git add 冲突文件 → git commit -m "解决冲突"。

七、实用技巧

撤销工作区修改:

git checkout -- 文件名  # 恢复到最近一次提交的状态

撤销暂存区修改:

git reset HEAD 文件名  # 将文件从暂存区移回工作区

忽略文件:

在项目根目录创建 .gitignore 文件,写入无需跟踪的文件 / 目录,例如:

# 忽略所有 .log 文件*.log

# 忽略 node_modules 目录node_modules/

# 忽略本地配置文件

config.local.json

版本回退:

git reset --hard 提交ID  # 回退到指定版本(提交ID可通过 git log 查看)

常用命令速查表

功能 命令

初始化仓库 git init

克隆仓库 git clone 远程地址

添加文件到暂存区 git add 文件名或git add .

提交到版本库 git commit -m "说明"

查看状态 git status

查看历史 git log或git log --oneline

切换分支 git checkout 分支名或git switch 分支名

创建分支 git checkout -b 分支名

合并分支 git merge 分支名

推送到远程 git push origin 分支名

拉取远程代码 git pull origin 分支名

通过以上操作,可满足日常开发中的版本控制需求。深入学习可了解 Git 钩子(hooks)、变基(rebase)等高级功能。

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

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

相关文章

Linux安装RTL8821CE无线网卡驱动

1. 查看网卡芯片$ lspci | grep Net 01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter2. 预备配套sudo apt install -y dkms git3. 下载驱动并安装git clone https://github.com/tomaspinho/rtl8821ce.git cd r…

vue3存储/获取本地或会话存储,封装存储工具,结合pina使用存储

目录 一、基本用法&#xff08;原生 API&#xff09; 1. 存储数据 2. 获取数据 3. 删除数据 二、Vue3 中封装成工具函数&#xff08;推荐&#xff09; 三、以上工具函数在 Vue3 组件中使用 1. 在选项式 API 中使用 2. 在组合式 API&#xff08;setup 语法糖&#xff09;…

【Flink】DataStream API:基本转换算子、聚合算子

目录基本转换算子映射&#xff08;map&#xff09;过滤&#xff08;filter&#xff09;扁平映射聚合算子按键分区&#xff08;keyBy&#xff09;简单聚合&#xff08;sum/min/max/minBy/maxBy&#xff09;规约聚合&#xff08;reduce&#xff09;基本转换算子 有如下POJO类用来…

从淘宝推荐到微信搜索:查找算法如何支撑亿级用户——动画可视化

本篇技术博文摘要 &#x1f31f; 本文通过动画可视化深入解析数据结构中的核心查找算法&#xff0c;从基础概念到高阶应用&#xff0c;全面覆盖顺序查找、折半查找、分块查找、B树/B树及散列查找的核心原理与实现细节。文章以动态演示为核心工具&#xff0c;直观展现算法执行过…

图像正向扭曲反向扭曲

在图像处理领域&#xff0c;正向扭曲&#xff08;Forward Warping&#xff09;和反向扭曲&#xff08;Backward Warping&#xff09;是两种核心的图像坐标映射与像素重采样技术&#xff0c;核心区别在于“像素映射的方向”——是从“原始图像”到“目标图像”&#xff0c;还是从…

【C语言】 第三课 函数与栈帧机制详解

1 函数的基本概念 在C语言中&#xff0c;函数是程序的基本执行单元。一个函数的定义包括返回类型、函数名、参数列表和函数体。例如&#xff1a; int add(int x, int y) { // 函数定义int z x y;return z; }在使用函数前&#xff0c;通常需要声明&#xff08; declaration&am…

多个大体积PDF文件怎么按数量批量拆分成多个单独文件

在现代社会中&#xff0c;电子文档在我们的身边无所不在&#xff0c;而PDF文件时我们日常接触非常多的文档类型之一。PDF由于格式稳定、兼容性好&#xff0c;因此经常被用于各行各业。但是&#xff0c;我们平时在制作或搜集PDF文件时&#xff0c;文件太大&#xff0c;传输和分享…

ansible-角色

角色 一、利用角色构造ansible playbook 随着开发更多的playbook&#xff0c;会发现有很多机会重复利用以前编写的playbook中的代码。或许&#xff0c;一个用于为某一应用配置MySQL数据库的play可以改变用途。通过利用不同的主机名、密码和用户来为另一个应用配置MySQL数据库。…

git命令行打patch

在 Git 里打 patch&#xff08;补丁&#xff09;其实就是把某些提交的改动导出来&#xff0c;生成一个 .patch 文件&#xff0c;方便别人用 git apply 或 git am 打进代码里。&#x1f539; 常用方式1. 基于提交导出 patch导出最近一次提交&#xff1a;git format-patch -1 HEA…

文华财经多空提示指标公式 变色K线多空明确指标 文华wh6赢顺多空买卖提示指标

XX:240C;YY:MA(C,1);A1:POW(XX,2)/360-POW(YY,2)/260;A5:EMA2(EMA2(A1,20),5),LINETHICK2;A6:A5*0.9999,COLORSTICK;A20:EMA2(EMA2(A5,20),5),LINETHICK2;A60:EMA2(EMA2(A20,20),5),LINETHICK2;支撑:HHV(A5,30),COLORRED;天数:BARSSINCE(A5HHV(A5,0));YL:REF(A5,1)2.79-天数*0.…

记录一个防重Toast

当我们已经对某个按钮做了防暴力点击&#xff0c;但是依然在业务上有些复杂交互的情况&#xff0c;需要我们封装一个防重Toast。针对这类情况&#xff0c;可以直接使用下面的showDebouncedToastdata class ToastInfo(val id: Any? null,val command: MediaCommandDebouncer.M…

在线测评系统---第n天

主要完成了退出登录前后的代码的实现&#xff0c;以及题目列表的查询1.退出登录前端引入了全局前置守卫&#xff0c;如果cookie里面没有token则直接跳转到login页面&#xff1b;有则直接跳转到layout页面&#xff0c;无需重新登录后端接收到退出登录&#xff0c;将token置为无效…

机器学习从入门到精通 - 卷积神经网络(CNN)实战:图像识别模型搭建指南

机器学习从入门到精通 - 卷积神经网络(CNN)实战&#xff1a;图像识别模型搭建指南 各位&#xff0c;是不是觉得那些能认出照片里是猫还是狗、是停车标志还是绿灯的AI酷毙了&#xff1f;今天咱们就撸起袖子&#xff0c;亲手搭建一个这样的图像识别模型&#xff01;别担心不需要你…

python sqlalchemy模型的建立

SQLAlchemy 是一个功能强大的 Python SQL 工具包和对象关系映射&#xff08;ORM&#xff09;库&#xff0c;用于管理和操作关系数据库。它为 Python 开发者提供了一种用 Python 对象来运行和管理 SQL 数据库的方式。 目录 SQLAlchemy 的两个核心组成部分 SQLAlchemy 的主要功…

Rust中使用RocksDB索引进行高效范围查询的实践指南

在当今海量数据处理场景下,高效的范围查询能力成为许多系统的关键需求。RocksDB作为一款高性能的嵌入式键值存储引擎,其独特的LSM树结构和索引设计为范围查询提供了底层支持。本文将深入探讨如何在Rust中利用RocksDB的特性来实现高效范围查询,从键的设计原则到迭代器的工程实…

怎么做到这一点:让 Agent 可以像人类一样 边听边想、边说,而不是“等一句话 → 一次性返回”

要实现“边听边想、边说”&#xff0c;核心是把整条链路做成全双工、分片流式、可中断的流水线&#xff1a; ASR 连续吐字 →&#xff08;短缓冲&#xff09;→ LLM 连续出 token&#xff08;可抢断&#xff09;→ TTS 连续合成并播放&#xff08;可打断/续播&#xff09;。 下…

Ubuntu 22.04 网络服务安装配置

Ubuntu 22.04 网络服务安装配置 一键安装所有服务 # 更新系统 sudo apt update# 安装所有服务 sudo apt install -y openssh-server vsftpd telnetd inetutils-inetd ftp telnet# 启动所有服务 sudo systemctl start ssh vsftpd inetutils-inetd sudo systemctl enable ssh vsf…

【Unity知识分享】Unity实现全局监听键鼠调用

1、实现该功能前&#xff0c;优先学习Unity接入dll调用Window系统接口教程 【Unity知识分享】Unity接入dll调用Window系统接口 2、初始化动态连接库后&#xff0c;进行脚本功能实现 2.1 创建脚本KeyBoardHook.h和KeyBoardHook.cpp&#xff0c;实现功能如下 KeyBoardHook.h …

深度学习篇---MNIST:手写数字数据集

下面我将详细介绍使用 PyTorch 处理 MNIST 手写数字数据集的完整流程&#xff0c;包括数据加载、模型定义、训练和评估&#xff0c;并解释每一行代码的含义和注意事项。整个流程可以分为五个主要步骤&#xff1a;准备工作、数据加载与预处理、模型定义、模型训练和模型评估。# …

k8s集群搭建(二)-------- 集群搭建

安装 containerd 需要在集群内的每个节点上都安装容器运行时&#xff08;containerd runtime&#xff09;&#xff0c;这个软件是负责运行容器的软件。 1. 启动 ipv4 数据包转发 # 设置所需的 sysctl 参数&#xff0c;参数在重新启动后保持不变 cat <<EOF | sudo tee …