涨薪技术|持续集成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\Foreknewgit --version git version 2.27.0.windows.12)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 file2.9)拉取、上传免密码git config --global credential.helper store3Git基本操作1、创建版本库版本库就是我们所说的“仓库”英文名repository你可以理解为一个目录这个目录里面的所有文件都可以被Git管理文件的修改删除Git都能跟踪以便任何时刻都可以追踪历史或者在将来某个时刻还可以将文件”还原”。下面在D:下创建了一个git 的版本库2、添加文件到版本库要添加文件到版本库首先需要将这个目录变为git可以管理的仓库命令如下在git目录下创建一个test.txt文件git add将文件提交到暂存区git commit -m将暂存区文件提交到仓库单引号内为注释3、检查是否有未提交的文件通过下面的命令检查该版本库是否有文件未提交​​​​​​​ForeknewForeknewPC MINGW64 /d/git (master) $ git status On branch master nothing to commit, working tree clean ForeknewForeknewPC MINGW64 /d/git (master)4、检查文件是否被修改修改test.txt然后重新检查状态​​​​​​​ForeknewForeknewPC 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) ForeknewForeknewPC 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 ForeknewForeknewPC MINGW64 /d/git (master)git diff查看文件修改的内容5、查看历史变更记录​​​​​​​ForeknewForeknewPC MINGW64 /d/git (master) $ git add test.txt ForeknewForeknewPC MINGW64 /d/git (master) $ git commit -m fixed 2 [master 41ad1bb] fixed 2 1 file changed, 3 insertions(), 1 deletion(-) ForeknewForeknewPC MINGW64 /d/git (master) $ git log commit 41ad1bba8cdc8b528f3e3182e7d84e1146220f05 (HEAD - master) Author: admin admin163.com Date: Sat Jun 27 14:25:31 2020 0800 fixed 2 commit dcfca195de64c268af6aa6c281f4e32dfa537ee6 Author: admin admin163.com Date: Sat Jun 27 14:16:03 2020 0800 test.txt file commit 2020-06-27 ForeknewForeknewPC MINGW64 /d/git (master) $git log获得历史修改记录git log --prettyoneline使记录只显示主要的内容一行显示6、回退版本​​​​​​​git reset --hard HEAD^回退到上一个版本 git reflog获取历史版本号 git reset --hard 版本号回退到该版本号对应的版本 PS如果要回退到上上个版本可以使用git reset --hard HEAD^^命令但是这样稍显麻烦 如果回退到100个版本之前只需要执行这个命令即可git reset --hard HEAD~1007、将本地文件推送到github仓库检查文件是否还有未提交或者修改的然后将文件提交到github仓库命令如下8、克隆GitHub远程仓库

相关新闻

深度探索Android Studio中文语言包插件的3个高效配置策略

深度探索Android Studio中文语言包插件的3个高效配置策略

深度探索Android Studio中文语言包插件的3个高效配置策略 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack Android Studio中文语言…

2026/7/24 23:21:17 阅读更多 →
球面宇宙与时间:无始无终的流动

球面宇宙与时间:无始无终的流动

引言:超越维度的想象 我们习惯于在三维空间的框架下理解宇宙,用时间箭头描绘它的历史与未来。然而,有一种观点试图跳出这个固有的认知牢笼,提出一个更为根本的图景:球面宇宙。这不是指一个存在于三维空间中的球体&…

2026/7/24 23:21:17 阅读更多 →
C++ unordered_map深度解析:哈希表原理、性能优化与实战避坑指南

C++ unordered_map深度解析:哈希表原理、性能优化与实战避坑指南

1. 项目概述:为什么unordered_map是C开发者的必备利器在C的日常开发中,尤其是处理需要快速查找、插入和删除键值对的场景时,std::unordered_map几乎是绕不开的一个容器。很多刚接触STL的朋友,可能对std::map更熟悉,因为…

2026/7/24 23:20:17 阅读更多 →

最新新闻

【工控老鸟排雷】如何打破“频繁炸表”魔咒?基于设备健康度模型(PdM)的 Python 边缘预测实战,深扒“耐用电磁流量计品牌哪家强”底层逻辑

【工控老鸟排雷】如何打破“频繁炸表”魔咒?基于设备健康度模型(PdM)的 Python 边缘预测实战,深扒“耐用电磁流量计品牌哪家强”底层逻辑

各位 CSDN 的工控极客、仪表工程师、边缘计算开发者以及被现场维护折磨得焦头烂额的项目经理们,大家好!在工业自动化领域,有这么一句行话:“选表一时爽,维护火葬场。”特别是在高腐蚀性化工、重度磨损的矿山尾矿、或者…

2026/7/24 23:28:21 阅读更多 →
HarmonyOS开发实战:小分享-LoadingProgress 与自定义加载骨架屏

HarmonyOS开发实战:小分享-LoadingProgress 与自定义加载骨架屏

前言 加载状态 是移动应用提升用户体验的关键,包括加载中提示、骨架屏、错误状态等。HarmonyOS 提供了 LoadingProgress 组件。小分享 App 的模板列表、热门分享等网络请求场景需要加载状态。本篇讲解加载状态的实现。详细 API 可参考 HarmonyOS LoadingProgress 官…

2026/7/24 23:28:21 阅读更多 →
HarmonyOS开发实战:小分享-AppStorage 全局状态管理——用户登录态共享

HarmonyOS开发实战:小分享-AppStorage 全局状态管理——用户登录态共享

前言 全局状态管理 是大型应用的基础能力,让不同页面共享用户登录态、主题偏好等数据。HarmonyOS 提供了 AppStorage 实现应用级全局状态。小分享 App 的 ProfilePage 用户信息需要在多个页面间共享。本篇讲解 AppStorage 的使用。详细 API 可参考 HarmonyOS AppSt…

2026/7/24 23:28:21 阅读更多 →
HarmonyOS开发实战:小分享-深浅色主题切换——基于 resources/dark 适配

HarmonyOS开发实战:小分享-深浅色主题切换——基于 resources/dark 适配

前言 深浅色主题 是现代移动应用的标配功能,让应用在浅色和深色模式下都有良好的视觉体验。HarmonyOS 通过 resources/dark/ 目录实现主题化资源适配。小分享 App 的 EntryAbility 中设置了 COLOR_MODE_NOT_SET 跟随系统。本篇讲解完整的深浅色适配方案。详细 API …

2026/7/24 23:28:21 阅读更多 →
限时开放|2024全球Top 50高校默认启用的学术润色Prompt库(含医学/工科/人文专属指令集,仅剩137份授权码)

限时开放|2024全球Top 50高校默认启用的学术润色Prompt库(含医学/工科/人文专属指令集,仅剩137份授权码)

更多请点击: https://codechina.net 第一章:限时开放|2024全球Top 50高校默认启用的学术润色Prompt库(含医学/工科/人文专属指令集,仅剩137份授权码) 全球顶尖研究型高校正悄然重构AI辅助学术写作范式。剑…

2026/7/24 23:28:21 阅读更多 →
ImageGlass:跨平台图像浏览器的革命性体验

ImageGlass:跨平台图像浏览器的革命性体验

ImageGlass:跨平台图像浏览器的革命性体验 【免费下载链接】ImageGlass 🏞 A fast, open-source, modern image viewer for 90 formats – including WEBP, GIF, SVG, AVIF, JXL, HEIC and more – built for smooth browsing across Windows, macOS, an…

2026/7/24 23:27:20 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻