hub 小試

hub 是一個命令行工具, 高度集成 git, 順便加了一些 github 的操做, 因此:linux

  • 安裝: brew update && brew install hubgit

  • 別名: alias git=hubgithub

臥槽, 爲何別名那個看着那麼屌, 直接這樣真的好麼? 我第一眼看到我也有點蛋疼, 猶豫該不應.
其實徹底沒有問題, 不用擔憂, 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 放到本身的項目裏...這種就等用到了再學吧

相關文章
相關標籤/搜索