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

Git安装教程

简介

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.xdnf.cn/news/19607.html

相关文章:

  • AI瘦身狂魔!微软推出原生1-bit大模型,性能不减,内存仅需同行零头!
  • 基于大数据的京东手机销售数据 可视化分析设计与开发03446原创的定制程序,java、PHP、python、C#小程序、文案全套、毕设程序定制、成品等
  • 华清远见25072班I/O学习day2
  • 继承体系中的隐藏机制解析(继承中的作用域)
  • MongoDB主从切换实战:如何让指定从库“精准”升级为主库?保姆级教程!
  • 基于单片机智能家居语音控制系统
  • 如何在VS Code远程连接Xshell使用
  • Linux - Redis离线安装(安装包的方式安装Redis)
  • 从Redisson分布式锁看锁的设计思路
  • IPC 进程间通信 interprocess communicate
  • 企业微信AI落地:如何选择企业微信服务商?
  • Axios拦截器:前端通信的交通警察[特殊字符]
  • 搭载AX650N高能效比智能视觉芯片——AX2050系列边缘计算盒,可应用在智慧安防交通仓储教育,人脸识别,明厨亮灶,安全生产,智能机器人等
  • table表格字段明细展示
  • 不透明指针
  • 【iOS】折叠cell
  • 《青衣剑客 · Claude》连载
  • 总线矩阵的原理
  • 如何将多个Excel报表合并为一个汇总文件?
  • N32G43x Bootloader 中 ENV 区的管理与实现
  • 前缀和(优化算法)
  • ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效
  • 面试 TOP101 动态规划专题题解汇总Java版(BM62 —— BM82)
  • 二、SVN基础命令速查表
  • leetcode 1792. 最大平均通过率 中等
  • 通过 select into outfile / load data infile 进行数据导入导出学习笔记
  • 开源项目_金融分析工具TradingAgents
  • 01数据结构-红黑树
  • python 数据类型【python进阶一】
  • java设计模式一、单例模式