关于Git和Github你不知道的十件事

简介:

Git 和 GitHub都是非常强大的工具。即使你已经使用他们很长时间,你也很有可能不知道每个细节。我整理了Git和GitHub可能提高日常效率的10个常用技巧。


GitHub


快捷键: t 和 w

 

在你的源码浏览页面,按t可以快速进入模糊文件名搜索模式:


Git,GitHub,加密解密


在你仓库主页,按w可以快速进行分支过滤:


Git,GitHub,加密解密


在任意GitHub页面中,按?展示当前页面可用的快捷键:


Git,GitHub,加密解密


忽略空格: ?w=1

 

在任意的diff URL添加?w=1用来整理缩进:


Git,GitHub,加密解密


按范围过滤提交记录: master@{time}..master

 

你可以创建一个对比页面通过使用URL github.com/user/repo/compare/{range}。范围(range)可以是两个SHA例如sha1…sha2或者两个分支名称例如master…my-branch。范围同时也非常智能的支持使用时间作为关注点。你可以通过master@{1.day.ago}…master过滤从昨天开始的提交。例如:链接,https://github.com/rails/rails/compare/master@{1.day.ago}…master显示Rails项目中全部昨天开始的提交记录和变化:


Git,GitHub,加密解密


按作者过滤提交记录: ?author=github_handle

 

你可以通过在对比页面URL中增加?author=github_handle来按作者过滤提交记录。例如:链接https://github.com/dynjs/dynjs/commits/master?author=jingweno显示jingweno对Dynjs 的提交记录:

Git,GitHub,加密解密

 


.diff 和 .patch

 

在比较页面、合并请求页面或者评论页面的URL后增加.diff或者.patch,可以得到diff或者patch的文本格式。例如:链接https://github.com/rails/rails/compare/master@{1.day.ago}…master.patch显示Rails项目中全部昨天开始的提交记录和变化的文本格式:


Git,GitHub,加密解密


邮件回复

 

你可以直接在收到的GitHub通知邮件进行评论,不必在网站页面中评论。GitHub会正确的处理你的评论:


Git,GitHub,加密解密


链接行

 

在文件展示页面,点击某行或者通过按SHIFT选择多行,URL会有相应的改变。如果你要给你的队友分享一段代码是非常方便的:


Git,GitHub,加密解密


关注用户

 

在合并请求、问题或者任何评论中中提到用户会使用户关注全部的后续通知:


Git,GitHub,加密解密


自动链接

 

在合并请求、问题、或者任何评论中,sha和问题码(例如:#1)会被自动链接。并且,你也可以链接其它仓库的sha或者问题码,格式:user/repo@sha1或者user/repo#1。下面是一个评论中通过sha自动链接的例子:


Git,GitHub,加密解密


hub

 

Hub 是 GitHub的命令行。它提供了Git和Github之间的集成。一个最有用的命令就是在命令行输入hub pull-request创建pull request。详见readme.


Git


git log -p FILE

 

查看README.md的修改历史,例如:

1
git log -p README.md

 


git log -S’PATTERN’

 

例如,搜索修改符合stupid的历史:

1
git log -S 'stupid'

 


git add -p

 

交互式的保存和取消保存变化,使用:

1
git add -p

 


git rm –cached FILE

 

这个命令只删除远程文件,例如:

1
git rm --cached database.yml

 


删除database.yml被保存的记录,但是不影响本地文件。这对删除已经推送过的忽略文件记录而且不影响本地文件是非常的方便的。

 

git log ..BRANCH

 

这个命令返回某个非HEAD分支的提交记录。假如你在一个功能分支,输入:

1
git log ..master

 


返回全部master分支的历史记录,包括未被合并到当前分支的提交记录。

 

git branch –merged & git branch –no-merged

 

这个命令返回已合并分支列表或未合并的分支列表。这个命令对合并前检查非常有用。例如,在一个功能分支,输入

1
git branch --no-merged

 


返回未合并到该分支的分支列表。

 

git branch –contains SHA

 

返回包含某个指定sha的分支列表。例如:

1
git branch --contains 2f8e2b

 


显示全部包含提交2f832b的分支。这个命令对于验证git cherry-pick完成非常有帮助。

 

git status -s

 

返回一个简单版的git status。我设置这个命令为默认git status来减少噪音。

 

git reflog

 

显示你在本地已完成的操作列表。

 

git shortlog -sn

 

显示提交记录的参与者列表。和GitHub的参与者列表相同。

 

Summary

 

Git是一个设计良好的工具。了解它可以直接让你更有效率并成为一个更有才华的程序员。GitHub,在另一个方面,在Git基础上提供便利的团队合作特性。有能力使用GitHub也会提高你日常效率。

 

原文:http://owenou.com/2012/01/13/ten-things-you-didnt-know-git-and-github-could-do.html


本文转自毒逆天博客园博客,原文链接:http://www.cnblogs.com/dunitian/p/4866545.html,如需转载请自行联系原作者


相关文章
|
25天前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
26 1
|
1月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
96 0
|
2月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
2月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
2月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
4月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
1160 1
|
5月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
69 5
|
5月前
|
开发工具 git
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
|
4月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
121 0
|
5月前
|
开发工具 git
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
612 1