hub 是一個命令行工具, 高度集成 git, 順便加了一些 github 的操做, 因此:linux
安裝: brew update && brew install hub
git
別名: alias git=hub
github
臥槽, 爲何別名那個看着那麼屌, 直接這樣真的好麼? 我第一眼看到我也有點蛋疼, 猶豫該不應.
其實徹底沒有問題, 不用擔憂, relax~~~~, 頂多換了個機器有一些命令無法用而已, 可是原生的 git 命令是徹底兼容的.windows
提一句, windows 貌似不適用, linux 和 OS X 能夠盡情享用.
hub 1.x是ruby寫的,2.x用go重寫了,有官方windows release.ruby
快速打開某個項目的 github 頁面: git browse falood/maru
, 注意這裏是起過別名的 git. (我就是我是不同的 git) 說實話這樣挺爽, 特別是我常常要看幾個項目的代碼, 這樣簡直爽, 就是爽, 嗯, 爽.工具
clone 一個項目: git clone falood/maru
, 看到沒, 看到沒, 不用輸那麼一長串地址了, 雖然平時使用也不輸, 只是複製而已, 可是這樣比複製還快啊fetch
fork 一個項目, 而後進行 fork based development:url
git clone falood/maru cd maru git fork
4不4很方便? 可是若是要用提 pr 的方法來進行開發的話還須要改個東西, 若是上面的命令你都敲了, 如今打開項目下的一個文件, 叫.git/config
, 打開後長這樣:命令行
[core] some code [remote "origin"] url = git://github.com/falood/maru.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [remote "Cifer-Y"] url = git@github.com:Cifer-Y/maru.git fetch = +refs/heads/*:refs/remotes/Cifer-Y/*
通常狀況下, fork 代碼以後要指定一個 upstream, 來獲取原項目的更新, 要把上面[remote "origin"]
改爲[reomote "upstream"]
, 最後把[remote "Cifer-Y"]
改爲[remote "origin"]
就行了.
而後就能夠寫代碼了, 寫完以後想給原項目做者提 pr 怎麼辦, 這樣: git pull-request -b falood:master -h Cifer-Y:master
給不想看文檔的人簡單說一下, -b 後面的是你 pr 的目的地, -h 後面的是你要提的東西所在的分支code
新建一個 github repo:
git init new_repo cd new_repo echo "What's wrong?" >> README.md git add . git commit -m "relex~~~~~" git create git push -u origin master git browse
這段操做太基本, 我就不一一解釋了
還有不少有用的命令, 請運行 man hub
大半夜玩 hub 玩的不亦樂乎, 其實我以爲上面那幾個用法足夠日(小)常(白)使用了, 可是還有不少很屌的高級功能, 好比從別人的 fork 裏 cherry-pick 一個 commit 放到本身的項目裏...這種就等用到了再學吧