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 放到本身的项目里...这种就等用到了再学吧

相关文章
相关标签/搜索