Welcome 微信登录

首页 / 操作系统 / Linux / GitHub秘籍 : Git 篇

本秘籍收录了一些Git和Github非常酷同时又少有人知的功能。灵感来自于Zach Holman在2012年Aloha Ruby Conference和2013年WDCNZ上所做的演讲:Git and GitHub Secrets(slides)和More Git and GitHub Secrets(slides)。Read this in other languages: English, ???, 日本語, 简体中文.前一部分请看:http://www.linuxidc.com/Linux/2014-11/109489.htmGitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm如何在 GitHub 建立组织 http://www.linuxidc.com/Linux/2013-08/88197.htmGitHub Linux下使用方法 http://www.linuxidc.com/Linux/2013-06/86417.htmWindows下Eclipse搭建GitHub开发环境图文教程 http://www.linuxidc.com/Linux/2013-06/85372.htm

前一个分支

快速检出上一个分支:
  1. $ git checkout -
  2. # Switched to branch "master"
  3.  
  4. $ git checkout -
  5. # Switched to branch "next"
  6.  
  7. $ git checkout -
  8. # Switched to branch "master"
进一步了解 Git 分支.

Stripspace命令

Git Stripspace命令可以:
  • 去掉行尾空白符
  • 多个空行压缩成一行
  • 必要时在文件末尾增加一个空行
使用此命令时必须传入一个文件,像这样:
  1. $ git stripspace < README.md
进一步了解 Git stripspace 命令.

检出Pull Requests

Pull Request是一种GitHub上可以通过以下多种方式在本地被检索的特别分支:检索某个分支并临时储存在本地的FETCH_HEAD中以便快速查看更改(diff)以及合并(merge):
  1. $ git fetch origin refs/pull/[PR-Number]/head
通过refspec获取所有的Pull Request为本地分支:
  1. $ git fetch origin "+refs/pull/*/head:refs/remotes/origin/pr/*"
或在仓库的.git/config中加入下列设置来自动获取远程仓库中的Pull Request
  1. [remote "origin"]
  2. fetch =+refs/heads/*:refs/remotes/origin/*
  3. url = git@github.com:tiimgreen/github-cheat-sheet.git
  1. [remote "origin"]
  2. fetch =+refs/heads/*:refs/remotes/origin/*
  3. url = git@github.com:tiimgreen/github-cheat-sheet.git
  4. fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
对基于派生库的Pull Request,可以通过先checkout代表此Pull Request的远端分支再由此分支建立一个本地分支:
  1. $ git checkout pr/42 pr-42
进一步了解如何检出pull request到本地.

提交空改动 :trollface:

可以使用--allow-empty选项强制创建一个没有任何改动的提交:
  1. $ git commit -m "Big-ass commit"--allow-empty
这样做在如下几种情况下是有意义的:
  • 标记一批工作或一个新功能的开始。
  • 记录你对项目进行了跟代码无关的改动。
  • 跟使用你仓库的其他人交流。
  • 作为仓库的第一次提交,因为第一次提交日后是不能被rebase的: git commit -m "init repo" --allow-empty.

更直观的Git Status

在命令行输入如下命令:
  1. $ git status
可以看到:加上-sb选项:
  1. $ git status -sb
这回得到:进一步了解 Git status 命令.

更直观的Git Log

输入如下命令:
  1. $ git log --all --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset"--abbrev-commit --date=relative
可以看到:这要归功于Palesz在stackoverflow的回答。这个命令可以被用作别名,详细做法见这里。进一步了解 Git log 命令.

Git查询

Git查询运行你在之前的所有提交信息里进行搜索,找到其中和搜索条件相匹配的最近的一条。
  1. $ git show :/query
这里 query (区别大小写)是你想要搜索的词语, 这条命令会找到包含这个词语的最后那个提交并显示变动详情。
  1. $ git show :/typo
  • 按 q 键退出命令。*

合并分支

输入命令:
  1. $ git branch --merged
这会显示所有已经合并到你当前分支的分支列表。相反地:
  1. $ git branch --no-merged
会显示所有还没有合并到你当前分支的分支列表。进一步了解 Git branch 命令.更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-11/109490p2.htm
  • 1
  • 2
  • 下一页
GitHub秘籍Linux系统入门学习:创建和挂载XFS文件系统相关资讯      Github 
  • GitHub使用操作指南  (今 08:43)
  • 以无主管企业文化自豪,GitHub最终  (09月10日)
  • Github提示Key is already use  (06月07日)
  • GitHub 特殊技巧和Git基本操作  (09月14日)
  • GitHub:诞生于Ruby,60%的员工远  (08月09日)
  • FSF的道德评估认为GitHub不合格  (04月26日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图