> 技术文档 > Git安装与使用_git安装使用

Git安装与使用_git安装使用

一、简介

Git 是一个分布式版本控制系统(Distributed Version Control System,简称 DVCS),由 Linus Torvalds(Linux 内核的创始人)于 2005 年开发,用于高效管理项目代码的变更历史。它被广泛应用于软件开发、文档管理等地方。

1、Git 的核心特点

分布式管理

        每个开发者都拥有完整的代码仓库(包括完整历史),不依赖中央服务器,支持离线工作。

        可通过 git clone 复制整个仓库到本地。

高效的分支与合并

        分支(Branch)轻量且创建快速,适合多人协作或实验性开发。

        通过 git merge 或 git rebase 合并代码变更。

数据完整性

        所有文件、提交(Commit)均通过 SHA-1 哈希算法校验,确保历史不可篡改。

灵活的协作模式

        支持多种工作流(如 GitHub Flow、Git Flow)。

        可与远程仓库(如 GitHub、GitLab、Gitee)交互(git push/git pull)。

2、Git 基本概念

仓库(Repository):存储项目代码及历史记录的目录。

提交(Commit):一次代码变更的快照,包含作者、时间、描述等信息。

分支(Branch):独立开发线,默认主分支通常为 main 或 master。

暂存区(Staging Area):临时保存待提交的变更(git add 后生效)。

远程仓库(Remote):托管在服务器上的共享仓库。

3、常用 Git 命令

命令

作用

git init

初始化新仓库

git clone

克隆远程仓库

git add

将文件加入暂存区

git commit -m \"消息\"

提交变更

git status

查看当前状态

git log

查看提交历史

git branch

列出分支

git checkout

切换分支

git merge <分支>

合并分支

git pull

拉取远程更新

git push

推送本地更新

4、Git 的优势

协作高效:多人并行开发,冲突解决机制完善。

历史追溯:可回退到任意提交版本(git reset/git revert)。

开源生态:与 GitHub、GitLab 等平台深度集成,支持 CI/CD。

5、Git语法练习网站

https://learngitbranching.js.org/?locale=zh_CN

二、安装Git

1、查看Git版本

rocky9.5自带Git2.47.1版本

git --version

2、编译安装Git新版本2.50.1

(1)卸载自带Git

dnf -y remove git

(2)下载源码包并解压

官网下载地址:https://www.kernel.org/pub/software/scm/git/

wget https://www.kernel.org/pub/software/scm/git/git-2.50.1.tar.xztar xf git-2.50.1.tar.xz

(3)进入源码目录配置编译安装

cd git-2.50.1/./configure --prefix=/usr/local/gitmake && make install

(4)设置环境变量

echo \"export PATH=/usr/local/git/bin:\\$PATH\" >> /etc/profilesource /etc/profilegit --version

(5)设置Git 的命令补全(Tab 补全)功能

复制 Git 补全脚本

cp /root/git-2.50.1/contrib/completion/git-completion.bash ~/.git-completion.bashecho \"source ~/.git-completion.bash\" >> ~/.bashrcsource ~/.bashrc

(6)安装man手册

下载对应版本的man手册包

wget https://www.kernel.org/pub/software/scm/git/git-manpages-2.50.1.tar.xztar xf git-manpages-2.50.1.tar.xzcp man1/* /usr/share/man/man1/cp man5/* /usr/share/man/man5/cp man7/* /usr/share/man/man7/

三、Git的使用

1、基础操作

(1)初始化Git仓库

mkdir /mygit  #创建项目目录cd /mygit/git init  #初始化 Git 仓库

查看目录结构

ls -a

cd .git/

解析:

config:当前仓库的本地配置(如远程仓库地址、用户信息等)

description:仓库描述

HEAD:指向当前所在的分支或提交

hooks/:存放 Git 钩子脚本(如 pre-commit、post-receive,可自定义自动化操作)

info/:包含全局忽略规则(exclude 文件,类似 .gitignore 但仅对当前仓库生效)

objects/:存储所有 Git 对象(提交、文件内容等,Git 的核心数据库)

refs/:存储分支和标签的指针(如 refs/heads/main 指向最新提交)

(2)设置用户信息(名称和邮箱)

git config --global user.name \"lkai\"git config --global user.email \"lkai@qq.com\"

(3)查看当前仓库状态

git status

(4)创建文件并添加到暂存区、提交更改

vim test.txt

添加:

a

git add test.txt  #将文件添加到暂存区git status

git commit -m \"add new file test.txt\"  #提交暂存区的更改

(5)撤销更改

  • 生成多条提交数据
echo \"b\" >> test.txtgit add test.txtgit commit -m \"add b\"echo \"c\" >> test.txtgit add test.txtgit commit -m \"add c\"echo \"d\" >> test.txtgit add test.txtgit commit -m \"add d\"
  • 回退到最近一次提交
git reset --hard HEAD^

  • 回退到指定提交位置
git log  #查看提交历史

git log --pretty=oneline  #查看完整哈希 + 提交信息

git log --oneline  #查看简洁版提交历史(简短哈希(前7字符)+提交信息)

git reset --hard 38210ee  #回退到指定位置(初始)

.

(6)查看所有 HEAD 的移动历史(包括被删除的提交、重置操作等)

git reflog

(7)查看代码的差异变化

查看工作区改动(未 git add 的变更)

echo \"bb\" >> test.txtgit diff

vim test.txt

删除第一行的内容“a”

git diff

显示工作目录与暂存区的差异

红色 - 表示删除的行,绿色 + 表示新增的行

(8)删除还原

  • 在工作区删除还原
rm -f test.txtgit status

git restore test.txt

  • 删除后已添加到暂存区还原
rm -f test.txtgit rm test.txt

git status

git restore --staged test.txt

还没有还原

git status

git restore test.txt

  • 删除后已提交到本地仓库还原
rm -f test.txtgit rm test.txtgit commit -m \"del test.txt\"git log --oneline

git reset --hard HEAD^  #回到未删除前的版本(上一个版本)

2、分支管理

(1)创建与切换分支

git branch  #查看所有分支

git branch dev  #创建新分支git checkout dev  #切换到指定分支

“*“代表当前所在分支

git switch   # (Git 2.23+) 更推荐的分支切换方式git checkout -b test  #创建并切换到新分支

(2)合并分支

在test分支向test.txt文件中写入内容并提交

echo \"test\" >> test.txtgit add .git commit -m \"test add new line\"

切换到master分支将test分支合并到master分支

git switch mastergit merge test  #将指定分支合并到当前分支

(3)删除分支

git branch -d test  #删除本地分支(已合并的分支)

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

3、远程仓库操作

(1)关联远程仓库

git remote add origin   #关联远程仓库(通常命名为 origin)git remote -v  #查看远程仓库信息

(2)推送与拉取

git push origin   #推送本地分支到远程git pull origin   #拉取远程分支并合并到本地git fetch origin  #仅获取远程更新,不自动合并

(3)克隆与 Fork

git clone   #克隆仓库到本地# Fork 是在 GitHub/GitLab 上操作,克隆后需手动添加 upstream:git remote add upstream   #用于同步原仓库更新

4、标签(Tag)

git tag  #查看所有标签git tag v1.0.0  #创建轻量标签git tag -a v1.0.0 -m \"版本1.0.0\"  #创建带注释的标签git push origin v1.0.0  #推送标签到远程