Git 版本控制器实战指南

1. 引言

Git 是目前最流行的分布式版本控制系统,广泛应用于软件开发、文档管理和团队协作场景。本文将从 Git 的安装、版本验证、账号注册、项目创建、克隆项目到本地,以及日常开发中最常用的提交与推送操作讲解。

2. 安装 Git

在 CentOS、Red Hat 等使用 yum 包管理器的 Linux 发行版上,可以通过以下命令安装 Git:

bash 复制代码
yum install git

安装过程中如果提示确认,输入 y 并回车即可继续。

3. 验证 Git 版本

以下命令查看 Git 的版本号,以确认安装成功:

bash 复制代码
git --version

如果安装成功会输出类似 git version 2.39.3 的信息,表示 Git 已正常可用。

4. 注册账号并创建新项目

在使用 Git 进行远程协作之前,需要先在代码托管平台(如 GitHub、Gitee、GitLab 等)注册账号 。注册完成后,登录平台并点击「新建仓库 」或「New Repository 」按钮,填写仓库名称、描述等信息,即可创建一个新的远程项目。

5. 下载项目到本地

要将远程项目下载到本地:(url是文件地址)

bash 复制代码
git clone [url]

例如:

bash 复制代码
git clone https://github.com/username/my-project.git

6. 日常开发核心命令

第一步,把修改过的文件加入暂存区:

bash 复制代码
git add [文件名]

其中 [文件名] 可以是单个文件,例如 git add index.html;

也可以使用git add . 一次性添加当前目录下所有修改过的文件。

第二步,提交本地记录并附上说明:

bash 复制代码
git commit -m "XXXX"

"XXXX" 是本次提交的备注信息。备注要写得清晰规范,方便日后回顾。

第三步,把本地提交推送到远程仓库:

bash 复制代码
git push

如果是第一次推送,需要指定远程仓库和分支,例如 git push -u origin master,之后就可以直接使用 git push。

其他查询命令

查看提交历史记录:

bash 复制代码
git log

**查看当前工作区状态,**它会告诉你哪些文件被修改、哪些已暂存、哪些未跟踪:

bash 复制代码
git status

同步远程最新代码:

bash 复制代码
git pull

这样就能把远程仓库的最新改动拉取到本地,避免与他人提交产生冲突。

7. 关于报错

7.1 克隆仓库后文件夹为空,报错 nonexistent ref

原因:远程仓库的默认分支(HEAD)指向了一个不存在的分支(通常是仓库创建者改过分支名,但没更新默认设置)。

解决办法 :不要管这个警告,进入文件夹,用 git branch -a 查看所有分支,然后用 git checkout 分支名 手动切换过去。

7.2 删除文件夹失败,报错 Is a directory

原因 : rm -f 只能删文件,不能删文件夹;rmdir 只能删空文件夹,且不支持 -f 强制参数。

解决办法 :删除文件夹,必须使用 rm -rf 文件夹名(-r 代表递归,-f 代表强制)。

7.3 暂存文件报错 Not a git repository

原因 :Git 命令必须在有 .git 隐藏文件夹的目录下执行。当前所在的目录不是 Git 仓库。

解决办法 :用 cd 进入正确的目录;如果是新项目,使用**git init 初始化一个新仓库**。

7.4 提交时提示 Please tell me who you are

原因:新电脑第一次使用 Git 强制要求配置用户身份。

解决办法:配置全局身份。

bash 复制代码
git config --global user.email "你的邮箱"
git config --global user.name "你的名字"

7.5 推送时提示 Authentication failed 或 403

原因:

  • 用户名错误:Gitee 登录验证用的是个人空间地址,而不是昵称。
  • 密码策略变更:现在的代码托管平台(Gitee/GitHub)极度安全,必须使用私人令牌(Personal Access Token)。
  • 权限错误:往别人的仓库推代码会报 403。

解决办法:

  • 输入用户名时,是个人空间地址,绝对不能带 @ 符号。
  • 去 Gitee 网页端「设置 - 安全设置 - 私人令牌」生成一串乱码,把它当作密码输入。
  • 确认推送到自己的仓库。
相关推荐
SelectDB技术团队1 小时前
日志场景 Elasticsearch 替换实操:建表、索引、写入链路与查询改写的完整参数
大数据·数据库·数据仓库·elasticsearch·全文检索·日志分析·apache doris
大大大大晴天️1 小时前
每天认识一个组件:Spark Catalyst
大数据·spark
百数平台1 小时前
低代码安全技术实践:表单 / 流程 / 报表三级权限体系设计解析
java·大数据·数据库
打工仔折腾 AI2 小时前
Spring AI + Qwen 周报生成实战:从原始日志到人工确认卡
人工智能·后端·python·spring·elasticsearch·ai agent 实战
一楼的猫2 小时前
第十一届中国教育后勤展览会杭州开幕 夏拾光影像为阿里、淘宝闪购提供云相册直播与视频服务 - 夏拾光影像
大数据·人工智能·音视频
程序 代码狂人2 小时前
金融数仓体系与核心业务知识详解
大数据·分布式·spark
Zhichao_972 小时前
VSCode+AI操作Git、GitHub
git·github
shujudang2 小时前
金融行业数据分析平台选型:客户视图、转化诊断与权限管理
大数据·金融·数据挖掘·数据分析
EchoMind-Henry2 小时前
Anthropic自建Git替代品,先看替换了什么
git