git
文章平均质量分 67
凯子要面包
这个作者很懒,什么都没留下…
展开
-
【gitlab】在readme.md中添加图片
先将需要显示的图片保存至本地文件夹,并图片上传至远程仓库。在“浏览器”中点击开相应的图片【重要】不是直接复制浏览器中的url,在gitlab中是“鼠标右键单击下载按钮”, 然后选择“复制链接”将复制的链接以“[外链图片转存中…(img-MbyWymfN-1625104235713)]”...原创 2021-07-01 10:02:24 · 5458 阅读 · 1 评论 -
git ls-files 查看暂存区的文件信息
前言在生成提交对象之前,需核实暂存区的文件信息,避免添加过大的文件,导致生成的提交对象巨大。通过git ls-files命令可以查看缓存区的文件信息。 git ls-filesgit ls-files --[cached|deleted|others|ignored|stage|unmerged|killed|modified] [-x <pattern>|--exclude=<pattern>] [-X <file>|--exclude-fro翻译 2021-06-02 17:59:07 · 2409 阅读 · 0 评论 -
仅拉取git远程仓库中特定的单个分支
结论拉取git远程仓库中特定的单个分支的关键在于:“调用git clone时候,添加--branch选项与 --single-branch”。git clonegit clone克隆远程仓库时,默认会依次做以下事情:创建本地的“远程追踪分支”,用于记录远程仓库中每个分支在克隆仓库时的状态。创建并检出本地的“初始化”分支,该初始化分支复制于远程仓库中的当前分支。调用不带参数的git fetch,下载数据并更新所有的远程追踪分支。调用不带参数的git pull,合并下载的数据当本地分支。br原创 2021-02-04 18:44:56 · 5301 阅读 · 0 评论 -
将更新应用到多个git分支
背景需求如下,需要更新git仓库中两个分支的相同部分的代码,只想进行一次编辑,不想在两个分支上分别编辑相同的部分然后生成提交对象。解决方法:1.首先找到最近公共祖先,可利用git merge-base;2. 基于公共祖先新建临时分支;3.在临时分支上修改并提交,然后将临时分支分别合并到实际需要待修改的两个分支上。 实例假设两个待修改的分支为“master”与“zszj”,提交历史分别如下:节点图大概如下:第一步找到公共祖先:第二步新建临时分支,修改代码提交生成提交对象:第原创 2021-02-04 17:25:46 · 760 阅读 · 0 评论 -
【git】git暂存
前言git暂存的主要使用场景为:“暂时存储当前分支未完全成熟的工作区状态与暂存区状态,并切换到其它分支开展其它临时性工作,当在其它分支工作完成后,或者随时切换到之前暂存工作时的状态”,暂存工作区与暂存区之后,会返回一个干净的工作区。git stashgit stash是处理暂存的主要工具,其下有多个子命令,当不指定子命令时,默认为调用save子命令。 git stash savegit stash save [-p|--patch] [-k|--[no-]keep-index] [-q翻译 2021-02-03 17:09:12 · 544 阅读 · 0 评论 -
【git】提交对象选择
前言对于《progit》书籍中Git tools-> Revision Selection一节中的知识点进行记录。 引用祖父节点在“引用名称”或者对应的SHA-1值后面加上“^”符号,表示引用指定对象的父对象,比如HAED^就表示HEAD对应父对象。另外"^"符号可后接数字1或者2,后接数字2仅用于多方合并的场景,其中数字表示引用第几个对象,第一个对象表示当前分支下指定对象的父对象,第二个对象表示被合并分支下指定对象的父对象,默认为第一个父对象。 引用祖先对象还有另一原创 2021-02-03 14:36:01 · 245 阅读 · 0 评论 -
.git文件夹
前言.git文件夹存储Git管理项目仓库的所有信息,其中:hooks文件是存储客户端或者服务器的hook 脚本。description文件是专用于GitWeb程序。config文件是关于仓库的配置文件。info文件是设置全局的忽略指定模式的文件。除此之外,下列几个文件是非常重要的:HEAD文件: 存储当前检出分支的信息。index文件:存储暂存区的信息。objects文件夹:以键值对的形式存储所有对象(blob、tree、commit、tag)信息,可以看做是key-value型数据翻译 2021-02-02 20:05:03 · 1440 阅读 · 0 评论 -
【git】reset与checkout的区别
前言git中,reset命令与checkout命令非常相似,都可以操作“工作区、暂存区、HEAD提交对象”,为与参考资料保持一致,本文称以上三个对象为“工作树、 索引树、HEAD对象”,树不是指数据结构,而是文件集合的意思。文章先记录reset命令的工作流程,然后比较reset与checkout命令。 reset命令reset命令有两种调用方式,一种是以“提交对象”为操作粒度,另一种是以“文件路径”为操作粒度。两种层级的工作流程有些微的差异,先介绍“提交对象”粒度。 提交对象原创 2021-02-01 20:03:35 · 2065 阅读 · 0 评论 -
【gitlab】设置受保护的分支与默认分支
前言在项目中,弄脏了远程仓库中的master分支,但不管是使用git push --delete origin master 还是 git remote rename master <new-branch-name>都报错。原因在gitlab项目中,默认master分支是“受保护的”、“默认的”,因此需要在gitlab项目页面上,去掉maste分支的上述保护设置,才能执行删除或者重命名操作。 设置“受保护”或者“默认”属性“受保护的”:“your gitlab project”原创 2021-02-01 16:29:46 · 4511 阅读 · 0 评论 -
git:【三】分支管理
创建新分支创建新分支使用:git branch <branchname>查看head指针head指针是一个特殊指针,该指针总是指向当前所在的分支,可以使用带decorate选项的git log命名来查看head指针的位置:git log --oneline --decorate切换分支使用下列命令切换分支:git checkout <branchname>也可以将创建分支、切换分支合并到一个命令,使用如下:git checkout <newbranch翻译 2021-01-13 21:50:51 · 77 阅读 · 0 评论 -
git:【一】安装与配置
安装Linux安装sudo apt install git-all配置使用git config工具可以配置git所有方面,对应的配置文件主要在以下三个地方:/etc/gitconfig, 该配置文件应用于系统层面,也就是说对所有用户、所有git仓库都算有效的,配置该文件时,需使用--system选项。~/.gitconfig或者~/.config/git/config,该配置文件应用于用户层面,即仅针对特定用户的配置,配置该文件时,需使用--global选项。git仓库中的.git/con原创 2021-01-09 16:37:04 · 157 阅读 · 0 评论 -
git:【二】基础语法
管理本地仓库查看仓库状态git status命令查看当前仓库所有文件的状态。git status --short会以压缩的方式输出文件状态,左侧列为文件状态,右侧为文件名,其中??表示未跟踪文件,A表示已跟踪未修改文件,M已修改文件,MM已暂存又修改文件,D已删除文件。 暂存文件git add是一个多功能命令,可以实现将未跟踪文件添加到暂存区,将已跟踪的修改文件放入暂存区,还可以标示冲突文件已解决,其核心是明确下一次提交的内容。 删除文件仅移除git 暂存区的文件,不删翻译 2021-01-07 20:29:20 · 93 阅读 · 0 评论 -
.gitignore语法
前言.gitignore文件用于管理git仓库中被忽略的文件,匹配.gitignore模式的项目文件将不会纳入版本控制系统的管理。一般情况下,在新建git仓库时,在项目根目录下指定.gitignore文件是比较好滴,该.gitignore文件将递归作用于项目下的所有文件夹,但是git也支持自定义多个.gitignore文件,此种情况请阅读参考资料。.gitignore语法# 号开始的行表示注释行;Standard glob patterns 会递归的作用于整个项目工作目录;global patte翻译 2021-01-02 15:51:11 · 507 阅读 · 0 评论