GitHub Tips (很實用,值得收藏)—— 《GitHub入門與實踐》筆記

onephone發表於2016-09-11

針對GitHub 和 Git,各列舉了15個小技巧!精簡實用

GitHub Tips

  1. 這裡可以下載各種造型的GitHub吉祥物(總有一款會是你的菜
  2. 這裡可以檢視GitHub託管的總倉庫數(總數很大很大
  3. 這裡可以檢視當前備受矚目的開源軟體(追逐潮流,走在前沿,擁抱最新的技術
  4. GitHub上的開原始碼,大多數使用的是MIT許可協議,基本要求要了解(要了解

    被授權人權利
    被授權人有權利使用、複製、修改、合併、出版發行、散佈、再授權和/或販售軟體及軟體的副本,及授予被供應人同等權利,惟服從以下義務。
    被授權人義務
    在軟體和軟體的所有副本中都必須包含以上版權宣告和本許可宣告。
    其他重要特性
    此許可協議並非屬copyleft的自由軟體許可協議條款,允許在自由及開放原始碼軟體或非自由軟體(proprietary software)所使用。
    MIT的內容可依照程式著作權者的需求更改內容。此亦為MIT與BSD(The BSD license, 3-clause BSD license)本質上不同處。
    MIT許可協議可與其他許可協議並存。
    另外,MIT條款也是自由軟體基金會(FSF)所認可的自由軟體許可協議條款,與GPL相容

  5. GitHub上Issue、Wiki、評論等都可以用MarkDown語法表示(是都可以!

  6. 這裡有最全的各類.gitignore模版(直接download吧
  7. GitHub頁面支援使用鍵盤快捷鍵,shift + / 鍵可開啟一覽表(不知道試試吧
  8. 在某倉庫頁面上按下鍵盤的t鍵再輸入檔名,可快速查詢需要的目錄或檔名,不用手動找(很實用,節約時間
  9. 通過手寫URL快速檢視程式碼之間的差異,可按分支前幾天制定日期的方式查詢(高手的習慣

    檢視分支差別:https://github.com/rails/rails/compare/4-0-stable...3-2-stable
    檢視幾天前差別:https://github.com/rails/rails/compare/master@{2.day.ago}...master
    檢視特定日期差別:https://github.com/rails/rails/compare/master@%7B2016-09-08%7D...master

  10. 通過在Pull Request的URL後新增.diff.patch,可直接獲取對應格式的Pull Request檔案

    若Pull Request的URL為https://XXXX/倉庫名/pull/28,則獲取diff格式檔案,只需在其末尾新增.diff,如https://XXXX/倉庫名/pull/28.diff,patch格式也相同,末尾新增.patch

  11. Close Issue時,可在提交中以一定的格式描述提交資訊,而對應的Issue就會自動Close。不用在網頁中手動操作。(方便

    下列任意格式都可以——fix #2, fixes #2, fixed #2, close #2, closes #2, closed #2, resolve #2, resolves #2, resolved #2

  12. Issue和Pull Request的編號通用,可以直接在Issue中給出原始碼,其就可以變成Pull Request。(hub命令

  13. emoji表情自動補全功能,評論中輸入:後便會啟動,emoji速查表在這裡
  14. Wiki也可以通過Git進行管理,Clone其URL即可
  15. 建立個人私有倉庫,按套餐型別,最低只要7美元/月

Git Tips

  1. 學習Git的好網站 LearnGitBranching右下角地球標誌可切換成中文版的
  2. 這裡是最新的Pro Git中文官方學習資料(免費,且有pdf,epub,mobi,html版本
  3. git config --global全域性配置檔案.gitconfig存放的目錄為~windows下也是
  4. 這樣設定後可以優美簡潔的顯示git log

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit",之後檢視log只需鍵入git lg,是git lg

  5. git XXX --help可在瀏覽器中檢視最詳細最全的git命令幫助資訊,git XXX -h可在命令列中顯示簡要的幫助資訊

  6. 若想以後通過確認日誌工具方便的檢視提交記錄,git commit後,編輯提交資訊時要注意格式

    第一行:用一行文字描述提交的更改內容
    第二行:空行
    第三行:描述更改的原因和詳細內容

  7. git commit -a只能統一提交修改過的檔案,但新建的檔案還是需要git add XXX後再提交。

  8. git checkout -可以方便的切換至上一個分支
  9. git reflog可檢視當前倉庫執行過的操作(即使錯誤的執行了git命令,也可通過reflog恢復原來狀態,而git log只能檢視以當前狀態為終點的歷史操作

    只要不進行Git的GC(Carbage Collection,垃圾回收)就可以通過reflog日誌隨意調取最近的歷史狀態

  10. git reset --hard XXXXX回溯歷史時,雜湊值只要輸入4位以上就行

  11. git commit --amend 修改提交資訊(萬一提交資訊裡面有拼寫錯誤呢
  12. git rebase -i HEAD~2將最近兩次提交的記錄合併為一次完美記錄,git rebase可將不良記錄(如拼寫錯誤)從歷史中抹去(很實用,很實用
  13. git branch -a 同時顯示本地倉庫和遠端倉庫的分支資訊
  14. git log -p FILENAME顯示檔案改動資訊
  15. git commit之前先git diff HEAD檢視本次提交和上次提交的區別(好習慣

詞彙

Groupware:群件
CRM:Customer Relationship Management,顧客關係管理
IRC:Internet Relay Chat,網上實時聊天
GFM:GitHub Flavored Markdown
TiDD:Ticket-driven Development
BTS: Bug Tracking System,典型的還有Redmine, Trac, Bugzilla

說明

  1. 本文章主要是總結了《GitHub入門與實踐》1-5章的內容,同時還包括其他部分網站的資訊。在此一併表示感謝!
  2. 本文已發表在個人GitHub部落格中http://codeshold.me
  3. 有其他值得收藏(一般人不知道的)GitHub Tips歡迎指出……

相關文章