| English | 中文 |
新版中文首页已经迁移到 README.zh-CN.md。
当前文件保留为历史入口,后续会逐步迁移到新的 v2.0 目录结构。
这整个 Repository 是关于分布式版本管理工具 Git 及托管商 Github 的使用,大部分都是网友写的内容,在这里只是做一个资源的汇总和合理的安排,希望能成为最好的学习 Git 的资源,从开始入门使用,到慢慢的提高,再到理解各种原理,希望能够达成这个目标。
网络上面已经有了那么多的关于 Git 的文章,为什么还要弄一个repo来专门记录?网上的文章都是片面的,稍微全点的讲解的不够全面、深入,没能满足我对于文章的想象,所以决定自己来写。
如果你要有一些资源,希望和我一起,把这个搞起来,很简单,Fork-修改- Pull Request 就 ok。
Mac 和 Linux 系统推荐使用终端即可,Git 一开始的命令的确很多,别无它法,熟能生巧,多练习即可能够掌握日常使用的一些命令,再配合常用命令的alias或者强大的 zsh 终端都能显著的提升效率,当然如果非得寻找图形化客户端,也不是没有;Windows下还是尽快熟悉客户端的使用吧,因为win下面的bash太难用了:
git che,按 Tab 键,则会出现check-attr\check-ignore\checkout等等的选项,支持 Bash、Zsh 等 Shell,使用方法(以 Bash Shell 为例):下载链接中相应的版本到用户目录下,修改~/.bashrc文件 ,加入source ~/git-completion.bash ,使得每次打开终端时都执行一次git-completion.bash脚本,来完成git 命令的 Tab 补全。或者采用这种方法Quick Tip: Autocomplete Git Commands and Branch Names in Bash.gitignore文件模板,当你进行某些语言的开发时候,直接使用相应的模板即可,省去自己写的时间(还不全),当然你也可以去贡献自己的模板,不知道.gitignore? 简单讲就是不让git跟踪某些文件,详情阅读:http://git-scm.com/docs/gitignore
PS: 推荐使用 .gitignore_global 文件进行全局过滤,比如mac下的 .DS_Store 文件,省去在每个 Repo 下进行设置 .gitignore文件了。全局模板参考:https://github.com/github/gitignore/tree/master/Globalgit merge --no-ff 而不是 git merge ,记录下分支的变更历史。 详情 http://stackoverflow.com/questions/9069061/what-is-the-difference-between-git-merge-and-git-merge-no-ff恰当的使用 git pull --rebase 避免不必要的merge记录。 详情 http://stackoverflow.com/questions/2472254/when-should-i-use-git-pull-rebase 「You should use git pull --rebase when your changes do not deserve a separate branch」