个人网站备案备注写什么济宁网站建设 企诺
一、Git 版本控制工具概述
1、作用与工具
Git 是一款分布式版本控制系统,核心作用是记录文本文件(如代码、文档等)的版本变化,支持随时回退到历史版本,便于多人协作开发和追踪修改记录。
常见的版本控制工具包括:
-  
Git:分布式版本控制,性能优异,支持离线操作,适合大型项目和多人协作。
 -  
SVN:集中式版本控制,依赖中央服务器,操作简单,适合小型项目。
 
2、Git 安装与初始化设置
(1)安装 Git
- yum install -y git # 安装 Git
 - rpm -q git # 验证安装结果
 
(2)初始化配置
安装后需设置用户信息(用于记录提交者身份),并开启颜色显示(提升交互体验):
- # git config --global user.name "Angelina" # 设置用户名
 - # git config --global user.email "Angelina@qq.com" # 设置邮箱
 - # git config --global color.ui true # 开启颜色显示
 
// 注:--global 表示全局配置,对当前用户所有仓库生效;省略 --global,仅对单个仓库生效。
二、Git 核心操作
1. 创建 Git 仓库
一个 Git 仓库对应一个项目,初始化仓库后会生成 .git 目录(存储版本信息,勿手动修改)
- # mkdir /opt/gitlearn # 创建项目目录
 - # cd /opt/gitlearn # 进入目录
 - # git init # 初始化仓库
 - 输出:Initialized empty Git repository in /opt/gitlearn/.git/
 - 或输出:初始化空的 Git 版本库于 /opt/gitlearn/.git/
 - # ls -a # 查看隐藏的 .git 目录
 
2. 提交文件修改
- touch 文件名 //建立一个文件
 
Git 提交修改需经过「工作区 → 暂存区 → 本地仓库」三步,核心命令如下:
- git add <文件> // 将工作区的修改添加到暂存区(暂存区用于临时存放待提交的修改)。
 
// 快捷操作:git add . 可添加当前目录所有修改。
- git commit -m "说明信息" //将暂存区的修改提交到本地仓库(需填写说明信息)。
 
// 快捷操作:git commit -a -m "说明" 可直接提交已跟踪文件的修改(跳过 git add)。
  
3. 查看仓库状态
- git status // 查看工作区、暂存区与本地仓库的差异,示例如下:
 
# 未添加到暂存区的修改
[root@localhost gitlearn]# git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   file01
#
no changes added to commit (use "git add" and/or "git commit -a")# 添加到暂存区后
[root@localhost gitlearn]# git add file01
[root@localhost gitlearn]# git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   file01
## 提交到本地仓库后
[root@localhost gitlearn]# git commit -m "文件中添加3"
[master 6545b5c] 文件中添加31 file changed, 1 insertion(+)
[root@localhost gitlearn]# git status
# On branch master
nothing to commit, working directory clean
 
4. 版本回退
若需回退到历史版本,步骤如下:
- git reflog //查看所有版本的操作记录(含版本 ID,即 commit 哈希值)。
 
补充:git log 可查看详细提交历史(不含已删除的版本记录),git reflog 更适合找回历史版本。
- git reset --hard <版本ID> // 回退到指定版本(--hard 表示强制覆盖工作区和暂存区)。
 
[root@localhost gitlearn]# git reflog  # 查看版本记录
c2fec1a HEAD@{0}: commit: 文件中添加4
6545b5c HEAD@{1}: commit: 文件中添加3
b3d23b4 HEAD@{2}: reset: moving to b3d23b4[root@localhost gitlearn]# git reset --hard 6545b5c  # 回退到"文件中添加3"版本
HEAD is now at 6545b5c 文件中添加3
 
5. 撤销修改
根据修改所处的阶段(工作区、暂存区、本地仓库),撤销方式不同:
(1)核心概念
-  
工作区:本地可见的文件目录(正在编辑的文件)。
 -  
暂存区:临时存放待提交的修改(git add 后进入)。
 -  
本地仓库:存储已提交的历史版本(git commit 后进入)。
 
(2)撤销工作区的修改
-  
git checkout -- file01 // 丢弃 file01 在工作区的修改
 
注:checkout -- <文件> 会用暂存区或本地仓库的版本覆盖工作区,修改后无法恢复,需谨慎。
(3) 撤销暂存区的修改
需先将修改从暂存区退回工作区,再撤销工作区修改:
[root@localhost gitlearn]# git reset HEAD file01  # 暂存区 → 工作区
Unstaged changes after reset:
M	file01
[root@localhost gitlearn]# git checkout -- file01  # 撤销工作区修改
 
(4)撤销本地仓库的修改
通过版本回退实现(同「4. 版本回退」步骤)。
三、Git 分支管理
分支:用于隔离不同开发任务(如功能开发、bug 修复),默认分支为 master(或 main)
1. 查看分支
- git branch # 列出所有分支,当前分支前带 *
 
2. 创建分支
- git branch release-v1.1 # 创建 release-v1.1 分支
 
快捷操作:git checkout -b dev 或 git switch -c dev(Git 2.23+ 推荐),可创建并直接切换到 dev 分支。
3. 切换分支
- git checkout release-v1.1 # 切换到 release-v1.1 分支
 - git switch release-v1.1 # 推荐用法(Git 2.23+)
 
4. 合并分支
将指定分支的修改合并到当前分支(需先切换到目标分支):
- # git switch master // 切换到 master 分支
 - # git merge release-v1.1 // 合并 release-v1.1 到 master
 
冲突解决
- 若合并时两个分支修改了同一文件的同一部分,会产生冲突,需手动解决:
 - 冲突文件会标记冲突内容(<<<<<<< HEAD 到 ======= 为当前分支内容,======= 到 >>>>>>> 分支名 为待合并分支内容)。
 - 编辑文件,保留正确内容并删除冲突标记。
 - 执行 git add <冲突文件> 和 git commit -m "解决冲突" 完成合并。
 
        
5. 删除分支
- # git branch -d dev # 安全删除(需合并后,否则报错)
 - # git branch -D dev # 强制删除(未合并也可删除,谨慎使用)
 
四、Git 远程仓库
远程仓库用于多人协作共享代码,常见平台有 GitHub(国外)、Gitee(国内),也可通过 GitLab 搭建私有仓库。
Gitee - 基于 Git 的代码托管和研发协作平台
1、公共仓库(GitHub/Gitee)
(1)克隆远程仓库到本地
- # git clone https://gitee.com/xxx/xxx.git     // 克隆仓库(HTTPS 地址) 
- # git clone git@gitee.com:xxx/xxx.git // 或使用 SSH 地址(配置 SSH 密钥)
 
 
        
Gitee 上的 项目仓库完整下载到本地,生成一个同名文件夹。
该文件夹中包含的内容是该 项目的全部源代码及相关资源
(2)推送本地修改到远程仓库
① 首次推送需关联远程仓库(若克隆仓库则已关联,可跳过):
- [root@localhost gitlearn]# git remote add origin https://gitee.com/xxx/xxx.git
 

② 推送修改:
- [root@localhost gitlearn]# git push -u origin master // 首次推送,-u 关联远程分支
 - [root@localhost gitlearn]# git push // 后续推送可省略参数
 
          
③ 拉取远程更新到本地
- [root@localhost gitlearn]# git pull origin master // 拉取远程 master 分支更新
 
2、私有仓库(GitLab 部署)
GitLab-ee
GitLab-ce
清华大学镜像站
清华大学 TUNA 镜像站
① 安装依赖
[root@gitlab ~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix
[root@gitlab ~]# systemctl enable --now postfix  # 启动邮件服务(GitLab 需发送通知)
[root@gitlab ~]# firewall-cmd --add-service=http --permanent  # 开放 HTTP 端口
[root@gitlab ~]# firewall-cmd --reload
 
② 安装 GitLab
# 下载指定版本的 GitLab 包(以 10.1.5 为例)
[root@gitlab ~]# wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.1.5-ce.0.el7.x86_64.rpm/download.rpm -O gitlab-ce-10.1.5.rpm
# 安装
[root@gitlab ~]# rpm -ivh gitlab-ce-10.1.5.rpm
 
③ 配置与启动
- netstat -tunlp //确保80/443端口没被占用
 - # vim /etc/gitlab/gitlab.rb // 编辑配置文件
 - external_url 'http://gitlab.linux.com' //设置访问地址(需解析域名或绑定 hosts)
 - # gitlab-ctl reconfigure // 初始化配置(耗时较长)
 - # gitlab-ctl start // 启动服务
 
④ 首次访问
-  
访问配置的地址(如
http://gitlab.linux.com),首次登录需修改 root 密码。 
        
-  
创建项目后,即可通过
git clone、git push等命令与本地仓库同步。 

        
       
// 创建新项目
        

//复制链接

- # git clone http://gitlab.linux.com/root/hello.git
 - # vim /etc/hosts
 - # ping gitlab.linux.com
 - # cd /git
 
- # git clone http://gitlab.linux.com/root/hello.git
 



