当前位置: 首页 > 科技观察

关于Git和GitHub你可能不知道的十件事

时间:2023-03-14 21:40:59 科技观察

Git和GitHub都是非常强大的工具。即使您已经使用它们很长时间,您也很有可能不了解每个细节。我整理了10个Git和GitHub可能会提高您日常工作效率的常见技巧。  1.GitHub  1.快捷键:t和w  在你的源码浏览页面,按t快速进入模糊文件名搜索模式:  在你的仓库主页,按w快速进行分支过滤:  在任意GitHub页面,按?显示当前页面上可用的快捷键:  2.忽略空格:?w=1  添加?w=1到任何diffURL清理缩进:  3.按范围过滤提交:master@{time}..master  您可以使用URLgithub.com/user/repo/compare/{range}创建一个比较页面。范围可以是两个SHA,例如sha1...sha2或两个分支名称,例如master...my-branch。范围还智能地支持使用时间作为焦点。您可以通过master@{1.day.ago}…master过滤昨天的提交。例如:链接,https://github.com/rails/rails/compare/master@{1.day.ago}...master显示Rails项目中从昨天开始的所有提交记录和变更:  4。按作者过滤提交记录:?author=github_handle  您可以通过将?author=github_handle添加到比较页面URL来按作者过滤提交记录。例如:链接https://github.com/dynjs/dynjs/commits/master?author=jingweno显示jingweno对Dynjs的提交记录:  5..diffand.patch  在比较页面、合并请求页面或评论页面的URL后添加.diff或.patch,以获得diff或patch的文本格式。例如:链接https://github.com/rails/rails/compare/master@{1.day.ago}…master.patch显示了从昨天开始Rails项目的所有提交记录和变化。文字格式:  #p#6。邮件回复  您可以直接在收到的GitHub通知邮件中评论,无需在网站页面评论。GitHub会正确处理您的评论:  7。链接行  在文件显示页面,点击一行或按SHIFT键选择多行,URL会相应变化。如果您想与队友共享一段代码,这非常方便:  8.关注用户  在合并请求、问题或任何评论中提及用户将使用户关注所有后续通知:  9.自动链接  在合并请求、问题或任何评论中,sha和问题代码(例如:#1)将自动链接。另外,你也可以链接到其他仓库的sha或questioncode,格式为:user/repo@sha1oruser/repo#1。下面是一个在评论中通过sha自动链接的例子:  10.hub  Hub是GitHub的命令行。它提供了Git和Github之间的集成。最有用的命令之一是通过在命令行中键入hubpull-request来创建拉取请求。有关详细信息,请参阅自述文件。  2.git  1.gitlog-pFILE  查看README.md的修改历史,例如:>gitlog-pREADME.md  2.gitlog-S'PATTERN'  例如要搜索匹配stupid的历史的更改:>gitlog-S'stupid'  3.gitadd-p  交互式保存和取消保存更改,使用:>gitadd-p  4.gitrm--cachedFILE  此命令只删除远程文件,例如:>gitrm--cacheddatabase.yml  删除database.yml保存的记录,但不影响本地文件。这对于在不影响本地文件的情况下删除已推送的忽略文件记录非常方便。  5.gitlog..BRANCH  该命令返回除HEAD之外的分支的commit记录。如果你在一个功能分支上,输入:>gitlog..master  返回整个主分支的历史,包括没有合并到当前分支的提交。  6.gitbranch--merged&gitbranch--no-merged  此命令返回合并分支列表或未合并分支列表。此命令对于预合并检查非常有用。例如,在功能分支上,输入:>gitbranch--no-merged  返回未合并到该分支的分支列表。  7.gitbranch--containsSHA  返回包含指定sha的分支列表。例如:>gitbranch--contains2f8e2b  显示包含提交2f832b的所有分支。此命令对于验证gitcherry-pick是否已完成非常有帮助。  8.gitstatus-s  返回一个简单版本的gitstatus。我将此命令设置为默认为gitstatus以减少噪音。  9.gitreflog  显示您在本地完成的操作列表。  10.gitshortlog-sn  显示提交记录的贡献者列表。与GitHub的贡献者列表相同。  11。总结  Git是一个设计精良的工具。知道它会直接让你更有效率,成为更有才华的程序员。另一方面,GitHub以Git为基础,提供方便的团队合作功能。能够使用GitHub也会提高你的日常工作效率。  为了更好的加深你对Git和Github的理解,推荐一些资料:ProGit,最好的Git指南AdvancedGitGitandGitHubSecrets