暂无个人介绍
2022年10月
2022年09月
问1: LFS可以根据pattern来匹配追踪的文件,假如我们想要将仓库中bin目录下的文件加入lfs的管理,那么应该使用什么命令? 答:git lfs track bin/*
问2:仓库启用了LFS后,在本地没有安装LFS程序的情况下克隆仓库,那么仓库中LFS文件以什么形式存在? 答:摘要文件
问3:使用深度为1的浅克隆与树深度为1的部分克隆相比,克隆下来的对象有哪些区别? 答:使用树深度为1的部分克隆会下载全部的提交历史,而使用深度为1的浅克隆只会下载最新的提交历史。
问1:执行git rebase --autosquash时,Git是如何判断哪些commit需要压缩合并成一个commit的? 答:在 git commit --fixup commitId
问2:git log --oneline命令是如何区分提交说明的标题(subject)和主体(body)的? 答:提交日志中在标题和主体之间空一行。
问3:你的一段代码解决了同事A发现的一个bug,你在这段代码的提交说明中应该如何记录同事A发现了这个bug这件事? 答:在提交说明签名区通过Reported-by:指明发现者。
问1:如果希望我们维护的工程保持相对清晰线性的提交历史,该使用 git merge 还是 git rebase? 答:git rebase
问2:如何调整本地开发分支上几个已有提交的顺序? 答:通过交互式rebase git rebase -i,借助pick指令调整提交顺序
问3:在一次交互式提交的过程中可以组合使用不同的模式(调整顺序、删除、压缩等)吗? 答:可以
问1:三路合并时,“对方”把 文件file1 重命名了,“我” 修改了文件file1 ,那最终合并的结果是? 合并冲突。
问2:快进式合并和非快进式合并,你的提交的 commit-id 会变么? 快进是合并不变,非快进式合并会重新生成提交记录。
问3:git log 什么参数可以展示如下的提交图: git log --oneline --graph
问1:Git 如何打开 trace,并输出到文件? 在git clone 命令前面添加 GIT_TRACE=日志路径 GIT_TRACE_PACKET=日志路径
问2:Git 客户端在正式 clone 的时候,会优先做引用发现,那么引用发现中最终的两部分内容是什么? ref-prefix refs/heads/ ref-prefix refs/tags/
问3:在 push 阶段,我们可以通过开启推送协商功能来进行提速,那如何正确开启“推送协商”功能呢? git -c push.negotiate=true push -f
问1:如何将一个仓库作为子模组添加到另一个仓库中? git submodule add 子模块工程cloneURL 子模块名称
问2:如何更新子模组指向的分支? git submodule set-branch --branch 远程分支 子模块名称
问3:如何将一个已检出的子模组清除? git submodule deinit 子模块名称
问题1: 四个对象,1个blob对象,2个tree对象,1个commit对象
问题2:
问题3: 使用 git cat-file命令,-t获取文件类型,-p打印文件内容 git cat-file -p fd477606f39f1d0246466e4ac7b6247967696069