涨薪技术|持续集成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/11/1 6:42:14 阅读更多 →
球面宇宙与时间:无始无终的流动

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

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

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

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

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

2026/11/11 14:08:30 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻