如何重命名本地Git分支?

如果要在指向任何分支时重命名分支,请执行以下操作:gitbranch-m<oldname><newname>如果要重命名当前分支,可以执行以下操作:gitbranch-m<newname>...

修改github标签

动机:对你的代码项目,github上的语言标签是按代码语言的占有成分,去百分比最高的语言标签做显示,但比如一个前后端分离项目,前端往往占比的代码量非常大,比如是一个主Java项目,主Python项目,但由于前端的HTML、CSS代码量过大,标签就会被后者的他们占领,而github并不提供主动修改标签的操作,那么就需要我们手动去修改。解决方法:在项目的根目录文件里多创建一个.gitattributes文件(这个是写死的,其他类型的命名文件无法生效)。然后注意在.gitignore文件里不要屏蔽该文件。比如python项目:#用于修改标签为后端主语言*.jslinguist-language=Python*.csslinguist-language=Python*.htmllinguist-language=Python比如Java项目:#用于修改标签为后端主语言*.jslinguist-language=Java*.csslinguist-language=Java*.htmllinguist-language=Java重新gitpush即可,刷新即可。...
开发笔记 开发笔记·2023-03-10

2023 Git常见面试题30道

1、 Git如何找到特定提交中已更改的文件列表?gitdiff-tree-r{hash}//-r标志使命令列出单个文件2、 Git是用什么语言编写的?你需要说明使用它的原因,而不仅仅是说出语言的名称。我建议你这样回答:Git使用C语言编写。GIT很快,C语言通过减少运行时的开销来做到这一点。3、 git中的“stagingarea”或“index”是什么?Forthisanswertrytoexplainthebelowdiagramasyoucansee:可以通过下图进行解释:在完成提交之前,可以在称为“stagingarea”或“index”的中间区域中对其进行格式化和审查。从图中可以看出,每个更改首先在暂存区域中进行验证,我将其称为“stagefile”,然后将更改提交到存储库。4、 gitclone和fork的区别gitclone是在将github上的代码克隆到本地fork是在github上使用fork将别人的远程仓库复...

Git中tag标签的使用

tag是git版本库的一个标记,指向某个commit的指针。tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上v.1.0.1v.1.0.2...这样的标签。tag感觉跟branch有点相似,但是本质上和分工上是不同的:tag对应某次commit,是一个点,是不可移动的。branch对应一系列commit,是很多点连成的一根线,有一个HEAD指针,是可以依靠HEAD指针移动的。所以,两者的区别决定了使用方式,改动代码用branch,不改动只查看用tag。tag和branch的相互配合使用,有时候起到非常方便的效果,例如:已经发布了v1.0v2.0v3.0三个版本,这个时候,我突然想不改现有代码的前提下,在v2.0的基础上加个新功能,作为v4.0发布。就可以检出v2.0的代码作为一个branch,然后作为开发分支。1.创建tag:创建tag是基于本地分支的commit,而且与分支的推送是两回事,就是说分支已经推送到远程了,但是你的tag并没有,如果把tag推送到远程分支上,需要另外执行tag的推送命令。gittag<tagName>//创建本地taggitpu...
开发笔记 开发笔记·2023-03-02

Git常见面试题30道

1、 Git如何找到特定提交中已更改的文件列表?gitdiff-tree-r{hash}//-r标志使命令列出单个文件2、 Git是用什么语言编写的?你需要说明使用它的原因,而不仅仅是说出语言的名称。我建议你这样回答:Git使用C语言编写。GIT很快,C语言通过减少运行时的开销来做到这一点。3、 git中的“stagingarea”或“index”是什么?Forthisanswertrytoexplainthebelowdiagramasyoucansee:可以通过下图进行解释:在完成提交之前,可以在称为“stagingarea”或“index”的中间区域中对其进行格式化和审查。从图中可以看出,每个更改首先在暂存区域中进行验证,我将其称为“stagefile”,然后将更改提交到存储库。4、 gitclone和fork的区别gitclone是在将github上的代码克隆到本地fork是在github上使用fork将别人的远程仓库复...
开发笔记 开发笔记·2023-02-24

github和gitlab区别

GitHub是一个面向开源及私有软件项目的托管平台。GitHub可以托管各种Git库,并提供web界面。GitLab是一个用于仓库管理系统的开源项目,使用git进行代码管理工具,可以自己搭建GitLab仓库服务器。GitHub和GitLab都是基于web的Git仓库,使用起来二者差不多,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。GitHub作为开源代码库,拥有超过900万的开发者用户,目前仍然是最火的开源项目托管平台,GitHub同时提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。...
开发笔记 开发笔记·2023-01-09

TortoiseGit是什么

TortoiseGit (海龟Git)是 TortoiseSVN 的Git版本,用于迁移TortoiseSVN到 TortoiseGit,TortoiseGit是一个Git版本控制客户端,作为MicrosoftWindows的外壳扩展实现。它在GNU通用公共许可协议下作为自由软件发布。一直以来Git在Windows平台没有好用GUI客户端,现在tortoisegit的出现给Windows开发者带来福音。...
开发笔记 开发笔记·2022-10-16

git命令修改源地址

git命令修改源地址具体方法方法1:直接修改gitremoteset-urloriginNewGitURL方法2:删掉旧的再添加新的gitremotermorigingitremoteaddoriginNewGitURL方法3:修改config文件如果项目有加入版本控制,那可以到项目的根目录下,查看隐藏文件夹,发现.git文件夹,找到其中的config文件,就可以修改其中的gitremoteorigin地址了。...
开发笔记 开发笔记·2022-07-26

git 连接Azure需要密码

众所周知,如果公钥认证失败,它会要求输入密码。生成公钥ssh-keygen-trsa-C"cddfv2@51dev.com"复制id_rsa.pub文件的公钥,到AzureSSHpublickey中。编辑~/.ssh/configHostvs-ssh.visualstudio.comUserbobIdentityFile~/.ssh/id_rsaIdentitiesOnlyyesHostssh.dev.azure.comUserbobIdentityFile~/.ssh/id_rsaIdentitiesOnlyyes再次尝试,就成功了...

git的push -f是什么

“push-f”的作用是“强制更新”。gitpush-f 这个命令的可以将自己本地仓库的代码直接推送至仓库,完全以你的提交为准,之前其他人的提交都会被覆盖。...
开发笔记 开发笔记·2022-05-09

Git,GitHub与GitLab的区别

Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab是一个更好的选择。但是对于开源项目而言,GitHub依然是代码托管的首选。...
开发笔记 开发笔记·2022-03-22

如何使用git difftool工具

Git现在是日常使用评率非常高的工具,本文记录如何使用gitdifftool配合外部diff工具。配置gitdifftool:$ gitconfig--globaldiff.toolvimdiff使用配置的difftool来显示diff:$ gitdifftoolmaingitdifftool是一个独立的子命令,不同于gitdiff,专门用来调用用户自己配置的diff.tool工具显示diff差异。基本上Linux系统上,有vim,就会有vimdiff,其实vimdiff和vim-d是一样的,只是在git配置difftool的时候,只能使用vimdiff这个名字,写成'vim-d'将出现无法识别的错误。在git调用vimdiff的时候,默认会对每个有差异的文件是否打开进行询问,我们也可以通过下面这个配置,去掉询问,直接一个个打开有差异的文件(用:qa关闭后,自动打开下一个):$ gitconfig--globaldifftool.promptfalse...

git 版本历史

版本:gitrev-parse--git-dir显示Git版本库的位置 --show-cdup显示当前工作区目录的深度 --parseopt解析命令行参数$gitrev-parse--symbolic--branches显示分支$gitrev-parse--symbolic--tags显示里程碑$gitrev-parse--symbolic--glob=refs/*显示定义的所有引用。其中refs/remotes/目录下的引用称为远程分支(或远程引用)$gitrev-parseHEAD显示HEAD对应的SHA1哈希值$gitrev-parseA^{tree}A:显示里程碑A对应的目录树$gitrev-parseA^{tree}:src/MakefileA:src/Makefile显示树里面的文件$gitrev-parse:/"commitA"通过在提交日志中查找字串的方式显示提交版本范围:gitrev-list一个提交ID实际上就可以代表一个版本列表,含义是该版本的所有历史提交$gitrev-list--onelineA两个或多个版本,相当于每个版本单独使用时指代的...
代码星球 代码星球·2021-02-25

Git 钩子

1. 概念概述1.1. 安装钩子1.2. 脚本语言1.3. 钩子的作用域2. 本地钩子2.1. 预提交钩子Pre-Commit2.2. 准备提交信息钩子PrepareCommitMessage2.3. 提交信息钩子CommitMessage2.4. 提交后钩子Post-Commit2.5. 切换后钩子Post-Checkout2.6. 预衍合钩子Pre-Rebase3. 服务端钩子3.1. 预接收钩子Pre-Receive3.2. 更新钩子Update3.3. 接受后钩子Post-Receive4. 总结5. 注释Git钩子Git钩子是在一个Git仓库中,在每一次特定事件触发时自动运行的脚本。它允许我们自定义Git的内部行为,并在开发的生命周期的关键时间点触发自定义行为。通过链接到版本控制的脚本维护钩子Git钩子通常的使用案例包含支持一个提交策略,根据仓库状态替换项目环境,以及实现连续集成的工作流。但由于脚本是可以任意...
代码星球 代码星球·2021-02-25

Git提交引用和引用日志

转载自:https://github.com/geeeeeeeeek/git-recipes/wiki/5.5-Git%E6%8F%90%E4%BA%A4%E5%BC%95%E7%94%A8%E5%92%8C%E5%BC%95%E7%94%A8%E6%97%A5%E5%BF%97提交是Git的精髓所在,你无时不刻不在创建和缓存提交、查看以前的提交,或者用各种Git命令在仓库间转移你的提交。大多数的命令都对同一个提交操作,而有些会接受提交的引用作为参数。比如,你可以给gitcheckout传入一个引用来查看以前的提交,或者传入一个分支名来切换到对应的分支。知道提交的各种引用方式之后,Git的命令就会变得更加强大。在这章中,我们研究提交的各种引用方式,来一窥gitcheckout、gitbranch、gitpush等命令的工作原理。我们还会学到如何使用Git的引用日志查看似乎已被删除的提交。引用一个提交最直接的方式是通过SHA-1的哈希字串,这是每个提交唯一的ID。你可以在gitlog的输出中找到提交的哈希字串。commit0c708fdec272bc4446c6cabea4f0022c2...
代码星球 代码星球·2021-02-25
首页上一页12345...下一页尾页