关于Git和Github,你可能不知道的十件事(1)
2016-02-20 19:33:38 来源: 张伯函 segmentfault.com 评论:0 点击:
6.邮件回复
你可以直接在收到的 GitHub 通知邮件进行评论,不必在网站页面中评论。GitHub 会正确的处理你的评论:
7.链接行
在文件展示页面,点击某行或者通过按SHIFT
选择多行,URL 会有相应的改变。如果你要给你的队友分享一段代码是非常方便的:
8.关注用户
在合并请求、问题或者任何评论中提到用户,会使用户关注全部的后续通知:
9.自动链接
在合并请求、问题或者任何评论中,sha和问题码(例如:#1) 会被自动链接。并且,你也可以链接其它仓库的 sha 或者问题码,格式:user/repo@sha1
或者user/repo#1
。下面是一个评论中通过 sha 自动链接的例子:
10.hub
Hub 是 GitHub 的命令行。它提供了 Git 和 Github 之间的集成。一个最有用的命令就是在命令行输入hub pull-request
创建 pull request。详见 readme。
二、Git
1.git log -p FILE
查看README.md
的修改历史,例如:
> git log -p README.md
2.git log -S’PATTERN’
例如,搜索修改符合stupid
的历史:
> git log -S'stupid'
3.git add -p
交互式的保存和取消保存变化,使用:
> git add -p
4.git rm –cached FILE
这个命令只删除远程文件,例如:
> git rm --cached database.yml
删除database.yml
被保存的记录,但是不影响本地文件。这对删除已经推送过的忽略文件记录而且不影响本地文件是非常的方便的。
5.git log ..BRANCH
这个命令返回某个非 HEAD 分支的提交记录。假如你在一个功能分支,输入:
> git log ..master
返回全部 master 分支的历史记录,包括未被合并到当前分支的提交记录。
6.git branch –merged & git branch –no-merged
这个命令返回已合并分支列表或未合并的分支列表。这个命令对合并前检查非常有用。例如,在一个功能分支,输入:
> git branch --no-merged
返回未合并到该分支的分支列表。
7.git branch –contains SHA
返回包含某个指定 sha 的分支列表。例如:
> git branch --contains 2f8e2b
显示全部包含提交2f832b
的分支。这个命令对于验证git cherry-pick
完成非常有帮助。
8.git status -s
返回一个简单版的 git status。我设置这个命令为默认 git status 来减少噪音。
9.git reflog
显示你在本地已完成的操作列表。
10.git shortlog -sn
显示提交记录的参与者列表。和 GitHub 的参与者列表相同。
11.Summary
Git 是一个设计良好的工具。了解它可以直接让你更有效率并成为一个更有才华的程序员。GitHub,在另一个方面,在 Git 基础上提供便利的团队合作特性。有能力使用 GitHub 也会提高你日常效率。
为了更好的加深你对的 Git 和 Github 了解,我推荐一些资料:
- ProGit, 最好的 Git 指南
- Advanced Git
- Git and GitHub Secrets
【编辑推荐】
