關(guān)于 Git 和 Github

http://mp.weixin.qq.com/s?__biz=MzAxMzQ3NzQ3Nw==&mid=400059173&idx=1&sn=0143c230fd783e13b9148c7b6b99abda&scene=0#rd

http://mp.weixin.qq.com/s?__biz=MzAxMzQ3NzQ3Nw==&mid=213099747&idx=1&sn=7a736db5f114e9eb5b0f60a9b389ac21&scene=2&srcid=10081DQcvCP9HFsNJGZMBeRU&from=timeline&isappinstalled=0#wechat_redirect

Git 和 GitHub 都是非常強(qiáng)大的工具。即使你已經(jīng)使用他們很長(zhǎng)時(shí)間,你也很有可能不知道每個(gè)細(xì)節(jié)。我整理了 Git 和 GitHub 可能提高日常效率的10個(gè)常用技巧。

GitHub

快捷鍵: t 和 w

在你的源碼瀏覽頁(yè)面,按t可以快速進(jìn)入模糊文件名搜索模式:

在你倉(cāng)庫(kù)主頁(yè),按w可以快速進(jìn)行分支過(guò)濾:

在任意 GitHub 頁(yè)面中,按?展示當(dāng)前頁(yè)面可用的快捷鍵:

忽略空格: ?w=1

在任意的 diff URL 添加?w=1用來(lái)整理縮進(jìn):

按范圍過(guò)濾提交記錄: master@{time}..master

你可以創(chuàng)建一個(gè)對(duì)比頁(yè)面通過(guò)使用 URLgithub.com/user/repo/compare/{range}。范圍 (range) 可以是兩個(gè) SHA 例如sha1…sha2或者兩個(gè)分支名稱例如master…my-branch。范圍同時(shí)也非常智能的支持使用時(shí)間作為關(guān)注點(diǎn)。你可以通過(guò)master@{1.day.ago}…master過(guò)濾從昨天開(kāi)始的提交。例如:鏈接,https://github.com/rails/rails/compare/master@{1.day.ago}…master顯示 Rails 項(xiàng)目中全部昨天開(kāi)始的提交記錄和變化:

按作者過(guò)濾提交記錄: ?author=github_handle

你可以通過(guò)在對(duì)比頁(yè)面URL中增加?author=github_handle來(lái)按作者過(guò)濾提交記錄。例如:鏈接 https://github.com/dynjs/dynjs/commits/master?author=jingweno顯示 jingweno 對(duì)Dynjs的提交記錄:

.diff 和 .patch

在比較頁(yè)面、合并請(qǐng)求頁(yè)面或者評(píng)論頁(yè)面的URL后增加 .diff 或者 .patch,可以得到 diff 或者 patch 的文本格式。例如:鏈接https://github.com/rails/rails/compare/master@{1.day.ago}…master.patch顯示Rails項(xiàng)目中全部昨天開(kāi)始的提交記錄和變化的文本格式:

郵件回復(fù)

你可以直接在收到的 GitHub 通知郵件進(jìn)行評(píng)論,不必在網(wǎng)站頁(yè)面中評(píng)論。GitHub 會(huì)正確的處理你的評(píng)論:

鏈接行

在文件展示頁(yè)面,點(diǎn)擊某行或者通過(guò)按SHIFT選擇多行,URL 會(huì)有相應(yīng)的改變。如果你要給你的隊(duì)友分享一段代碼是非常方便的:

關(guān)注用戶

在合并請(qǐng)求、問(wèn)題或者任何評(píng)論中中提到用戶會(huì)使用戶關(guān)注全部的后續(xù)通知:

自動(dòng)鏈接

在合并請(qǐng)求、問(wèn)題、或者任何評(píng)論中,sha和問(wèn)題碼(例如:#1)會(huì)被自動(dòng)鏈接。并且,你也可以鏈接其它倉(cāng)庫(kù)的 sha 或者問(wèn)題碼,格式:user/repo@sha1或者user/repo#1。下面是一個(gè)評(píng)論中通過(guò)sha自動(dòng)鏈接的例子:

hub

Hub 是 GitHub的命令行。它提供了Git和Github之間的集成。一個(gè)最有用的命令就是在命令行輸入hub pull-request創(chuàng)建pull request。詳見(jiàn)readme.(https://github.com/defunkt/hub#commands)

Git

git log -p FILE

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

> gitlog-p README.md

git log -S’PATTERN’

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

> gitlog-S'stupid'

git add -p

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

> git add -p

git rm –cached FILE

這個(gè)命令只刪除遠(yuǎn)程文件,例如:

> git rm --cached database.yml

刪除database.yml被保存的記錄,但是不影響本地文件。這對(duì)刪除已經(jīng)推送過(guò)的忽略文件記錄而且不影響本地文件是非常的方便的。

git log ..BRANCH

這個(gè)命令返回某個(gè)非 HEAD 分支的提交記錄。假如你在一個(gè)功能分支,輸入:

> gitlog..master

返回全部 master 分支的歷史記錄,包括未被合并到當(dāng)前分支的提交記錄。

git branch –merged & git branch –no-merged

這個(gè)命令返回已合并分支列表或未合并的分支列表。這個(gè)命令對(duì)合并前檢查非常有用。例如,在一個(gè)功能分支,輸入

> git branch --no-merged

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

git branch –contains SHA

返回包含某個(gè)指定 sha 的分支列表。例如:

> git branch --contains 2f8e2b

顯示全部包含提交2f832b的分支。這個(gè)命令對(duì)于驗(yàn)證git cherry-pick完成非常有幫助。

git status -s

返回一個(gè)簡(jiǎn)單版的 git status。我設(shè)置這個(gè)命令為默認(rèn) git status 來(lái)減少噪音。

git reflog

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

git shortlog -sn

顯示提交記錄的參與者列表。和GitHub的參與者列表相同。

Summary

Git 是一個(gè)設(shè)計(jì)良好的工具。了解它可以直接讓你更有效率并成為一個(gè)更有才華的程序員。GitHub,在另一個(gè)方面,在 Git 基礎(chǔ)上提供便利的團(tuán)隊(duì)合作特性。有能力使用 GitHub 也會(huì)提高你日常效率。

為了更好的加深你對(duì)的 Git 和 Github 了解,我推薦一些資料:

ProGit (http://git-scm.com/book), 最好的 Git 指南

Advanced Git (https://peepcode.com/products/advanced-git)

Git and GitHub Secrets (http://zachholman.com/talk/git-github-secrets/)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • GIT分布式版本控制系統(tǒng)最佳實(shí)踐 這篇文章來(lái)自于老男孩教育高級(jí)架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,819評(píng)論 4 36
  • 蕙蘭瑜伽第二十二集(p22) 準(zhǔn)備:飯后至少三小時(shí) 開(kāi)始蕙蘭老師講了賭博的危害,傷害身心健康。練習(xí)瑜伽的人是絕對(duì)不...
    candycheng閱讀 560評(píng)論 0 0
  • 失望是一種心情,后悔是一種狀態(tài)。而兩者兼有則是明知結(jié)果卻無(wú)能為力,是自身不夠盡力?還是天時(shí)不夠,地利不足,...
    小々芬閱讀 273評(píng)論 0 1
  • 對(duì)騙子人們都是很討厭和憎惡,然而騙子為什么那樣多?手段也多種多樣?騙子為什么能披著各種各樣的外衣而大行其道?主要原...
    朔泉明賢閱讀 410評(píng)論 0 0
  • 姓名:李淑瑛 224期學(xué)員 289期志工 公司:紹興翔鷹紡織品有限公司 部門(mén):人事行政部 【堅(jiān)持日精進(jìn)打卡第162...
    李淑瑛閱讀 131評(píng)論 0 0

友情鏈接更多精彩內(nèi)容