news 2026/7/24 23:21:10

涨薪技术|持续集成Git使用详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
涨薪技术|持续集成Git使用详解

1Git介绍

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

Git 的特点

  • 分支更快、更容易。

  • 支持离线工作;本地提交可以稍后提交到服务器上。

  • Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。

  • Git 中的每个工作树都包含一个具有完整项目历史的仓库。

  • 没有哪一个 Git 仓库会天生比其他仓库更重要。

1Git安装与配置

1)Windows上安装Git

下载地址:https://git-scm.com/download/win 最新版本为:Git-2.27.0-64-bit.exe 安装步骤: 1.双击 Git-2.27.0-64-bit.exe 开始安装; 2.一直点击next,直到出现install,点击install,安装完成后点 击finish; 3.检查git是否安装OK cmd -> git --version C:\Users\Foreknew>git --version git version 2.27.0.windows.1

2)Git配置

由于git是分布式管理工具,需要输入用户名和邮箱以作为标识,因此,在命令行输入下列的命令:

注意:git config --global参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱,根据个人情况设置。

2Git基本用法

1、Git工作流程

2、Git命令

2.1)分支操作

1. git branch 创建分支 2. git checkout -b 创建并切换到新建的分支上 3. git checkout 切换分支 4. git branch 查看分支列表 5. git branch -v 查看所有分支的最后一次操作 6. git branch -vv 查看当前分支 7. git brabch -b 分支名 origin/分支名 创建远程分支到本地 8. git branch --merged 查看别的分支和当前分支合并过的分支 9. git branch --no-merged 查看未与当前分支合并的分支 10. git branch -d 分支名 删除本地分支 11. git branch -D 分支名 强行删除分支 12. git branch origin :分支名 删除远处仓库分支 13. git merge 分支名 合并分支到当前分支上

2.2)暂存操作​​​​​​​

1. git stash 暂存当前修改 2. git stash apply 恢复最近的一次暂存 3. git stash pop 恢复暂存并删除暂存记录 4. git stash list 查看暂存列表 5. git stash drop 暂存名(例:stash@{0}) 移除某次暂存 6. git stash clear 清除暂存

2.3)回退操作​​​​​​​

1. git reset --hard HEAD^ 回退到上一个版本 2. git reset --hard ahdhs1(commit_id) 回退到某个版本 3. git checkout -- file撤销修改的文件(如果文件加入到了暂存区, 则回退到暂存区的,如果文件加入到了版本库,则还原至加入 版本库之后的状态) 4. git reset HEAD file 撤回暂存区的文件修改到工作区

2.4)标签操作​​​​​​​

1. git tag 标签名 添加标签(默认对当前版本) 2. git tag 标签名 commit_id 对某一提交记录打标签 3. git tag -a 标签名 -m '描述' 创建新标签并增加备注 4. git tag 列出所有标签列表 5. git show 标签名 查看标签信息 6. git tag -d 标签名 删除本地标签 7. git push origin 标签名 推送标签到远程仓库 8. git push origin --tags 推送所有标签到远程仓库 9. git push origin :refs/tags/标签名 从远程仓库中删除标签

2.5)其他常规操作​​​​​​​

1. git push origin test 推送本地分支到远程仓库 2. git rm -r --cached 文件/文件夹名字 取消文件被版本控制 3. git reflog 获取执行过的命令 4. git log --graph 查看分支合并图 5. git merge --no-ff -m '合并描述' 分支名 不使用Fast forward方 式合并,采用这种方式合并可以看到合并记录 6. git check-ignore -v 文件名 查看忽略规则 7. git add -f 文件名 强制将文件提交

2.6)git创建项目仓库​​​​​​​

1、git init 初始化 2、git remote add origin url 关联远程仓库 3、git pull 4、git fetch 获取远程仓库中所有的分支到本地

2.7)忽略已加入到版本库中的文件​​​​​​​

1、git update-index --assume-unchanged file 忽略单个文件 2、git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)

2.8)取消忽略文件

git update-index --no-assume-unchanged file

2.9)拉取、上传免密码

git config --global credential.helper store

3Git基本操作

1、创建版本库

版本库就是我们所说的“仓库”,英文名repository,你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

下面在D:下创建了一个git 的版本库:

2、添加文件到版本库

要添加文件到版本库,首先需要将这个目录变为git可以管理的仓库,命令如下:

在git目录下创建一个test.txt文件:

git add:将文件提交到暂存区

git commit -m:将暂存区文件提交到仓库(单引号内为注释)

3、检查是否有未提交的文件

通过下面的命令,检查该版本库是否有文件未提交:​​​​​​​

Foreknew@ForeknewPC MINGW64 /d/git (master) $ git status On branch master nothing to commit, working tree clean Foreknew@ForeknewPC MINGW64 /d/git (master)

4、检查文件是否被修改

修改test.txt,然后重新检查状态:​​​​​​​

Foreknew@ForeknewPC MINGW64 /d/git (master) $ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: test.txt no changes added to commit (use "git add" and/or "git commit -a") Foreknew@ForeknewPC MINGW64 /d/git (master) $ git diff test.txt diff --git a/test.txt b/test.txt index 59eb105..5d4ae7d 100644 --- a/test.txt +++ b/test.txt @@ -1,3 +1,5 @@ 1111111111111111 2222222222222222 -3333333333333333 \ No newline at end of file +3333333333333333 +4444444444444444 +5555555555555555 \ No newline at end of file Foreknew@ForeknewPC MINGW64 /d/git (master)

git diff:查看文件修改的内容

5、查看历史变更记录​​​​​​​

Foreknew@ForeknewPC MINGW64 /d/git (master) $ git add test.txt Foreknew@ForeknewPC MINGW64 /d/git (master) $ git commit -m 'fixed 2' [master 41ad1bb] fixed 2 1 file changed, 3 insertions(+), 1 deletion(-) Foreknew@ForeknewPC MINGW64 /d/git (master) $ git log commit 41ad1bba8cdc8b528f3e3182e7d84e1146220f05 (HEAD -> master) Author: admin <admin@163.com> Date: Sat Jun 27 14:25:31 2020 +0800 fixed 2 commit dcfca195de64c268af6aa6c281f4e32dfa537ee6 Author: admin <admin@163.com> Date: Sat Jun 27 14:16:03 2020 +0800 test.txt file commit 2020-06-27 Foreknew@ForeknewPC MINGW64 /d/git (master) $

git log:获得历史修改记录

git log --pretty=oneline:使记录只显示主要的内容,一行显示

6、回退版本​​​​​​​

git reset --hard HEAD^:回退到上一个版本 git reflog:获取历史版本号 git reset --hard 版本号:回退到该版本号对应的版本 PS:如果要回退到上上个版本,可以使用git reset --hard HEAD^^命令,但是这样稍显麻烦, 如果回退到100个版本之前,只需要执行这个命令即可:git reset --hard HEAD~100;

7、将本地文件推送到github仓库

检查文件是否还有未提交或者修改的,然后将文件提交到github仓库,命令如下:

8、克隆GitHub远程仓库

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 23:19:33

Linux 工控项目打包、烧录、批量量产部署完整流程

Linux 工控项目打包、烧录、批量量产部署完整流程从开发板到出厂出货&#xff0c;中间隔着一条完整的量产流水线——这流程搞不定&#xff0c;代码写得再好也只是实验室玩具。一、工控项目交付物构成 一个完整的Linux工控固件包&#xff0c;通常包含以下组件&#xff1a;组件文…

作者头像 李华
网站建设 2026/7/24 23:18:16

网盘直链下载助手终极指南:免费解锁九大网盘高速下载的完整方案

网盘直链下载助手终极指南&#xff1a;免费解锁九大网盘高速下载的完整方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云…

作者头像 李华
网站建设 2026/7/24 23:15:11

微服务框架中获取用户信息

从流程可以看出&#xff0c;浏览在访问服务时会携带jwt向微服务发起请求&#xff0c;中间会先经过网关。网关从jwt中获取用户信息并保存到请求中&#xff0c;然后再转发给对应服务。在到达业务层之前会有拦截器将用户信息存入ThreadLocal中。 1.在经过网关过滤器被拦截时将用户…

作者头像 李华
网站建设 2026/7/24 23:13:48

游戏任务系统插件Quests 2核心解析:可视化架构与实战开发指南

1. 项目概述&#xff1a;为什么我们需要一个专业的任务系统插件&#xff1f;在游戏开发中&#xff0c;任务系统&#xff08;Quest System&#xff09;是连接玩家与游戏世界、驱动叙事和引导游戏进程的核心骨架。无论是开放世界中的史诗主线&#xff0c;还是角色扮演游戏里的琐碎…

作者头像 李华
网站建设 2026/7/24 23:13:17

车载手持无线吸尘器选购指南:从核心需求到实际体验全解析

这类车载手持无线吸尘器最值得先看的不是功能列表&#xff0c;而是它到底能不能在真实用车和家用场景里稳定解决清洁问题。巴斯这款吸尘器主打16000Pa吸力、紫外线杀菌和多功能切换&#xff0c;但实际使用时&#xff0c;我更关注的是无线续航、吸力持久性、尘盒清理便利性以及不…

作者头像 李华
网站建设 2026/7/24 23:10:11

新一代 Ai coding 工程进阶系列-前言

前言&#xff1a;绝大多数AI开发者&#xff0c;都卡在「只会用、不会建」做AI应用开发、AI Coding落地的这几年&#xff0c;你是不是一直有这种直观感受&#xff1a;明明模型越来越强&#xff0c;但自己写的AI脚本、项目代码&#xff0c;稳定性、复用性、持续性始终上不去&…

作者头像 李华