| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
DanieleTRV
8年前发布

比较全面的 Git 学习资料整理

   <h2>说明</h2>    <p>这整个 Repository 是关于分布式版本管理工具 Git 及托管商 Github 的使用,大部分都是网友写的内容,在这里只是做一个资源的汇总和合理的安排,希望能成为最好的学习 Git 的资源,从开始入门使用,到慢慢的提高,再到理解各种原理,希望能够达成这个目标。</p>    <p>网络上面已经有了那么多的关于 Git 的文章,为什么还要弄一个repo来专门记录?网上的文章都是片面的,稍微全点的讲解的不够全面、深入,没能满足我对于文章的想象,所以决定自己来写。</p>    <p>如果你要有一些资源,希望和我一起,把这个搞起来,很简单, Fork-修改- Pull Request 就 ok。</p>    <h2>新手入门</h2>    <ul>     <li><a href="/misc/goto?guid=4959636293983027150" rel="nofollow,noindex">为什么开始使用 Git 版本管理,Git VS Svn 有哪些区别?</a></li>     <li><a href="/misc/goto?guid=4959636294066448199" rel="nofollow,noindex">开篇:一篇适合入门学习git的资料汇总</a> 本人的拙笔,欢迎吐槽!</li>     <li>Github-cheat-sheet 关于使用 Git 和 Github 的一些技巧汇总,中文版在此GitHub秘籍</li>     <li><a href="/misc/goto?guid=4959636294202891384" rel="nofollow,noindex">Git for beginners: The definitive practical guide - from stackoverflow.com</a> It's so useful to a beginner ,just open the url , read and practice .</li>     <li><a href="/misc/goto?guid=4959733728198339472" rel="nofollow,noindex">Visual Git Cheat Sheet</a> 通过 Git 的几个工作区 Stash、Workspace、Index、Local Repository、Upstream Repository 来汇总日常使用的 Git 命令,备忘推荐。</li>    </ul>    <h2>Git 客户端</h2>    <p>Mac 和 Linux 系统推荐使用终端即可,Git 一开始的命令的确很多,别无它法,熟能生巧,多练习即可能够掌握日常使用的一些名利,再配合 <a href="/misc/goto?guid=4959733728281070735" rel="nofollow,noindex"> 常用命令的alias </a> 或者强大的 <a href="/misc/goto?guid=4959733728366040616" rel="nofollow,noindex"> zsh 终端 </a> 都能显著的提升效率,当然如果非得寻找图形化客户端,也不是没有;Windows下还是尽快熟悉客户端的使用吧,因为win下面的bash太难用了:</p>    <ul>     <li><a href="/misc/goto?guid=4959733728446886111" rel="nofollow,noindex">GUI Clients</a> 官方推荐图形客户端,罗列的包括了Mac、Windows、Linux下的客户端,免费及付费的都有,你可以在这里面挑选一个就ok。</li>     <li><a href="/misc/goto?guid=4959733728531776291" rel="nofollow,noindex">Git for windows</a> 针对 Window 系统发布的客户端,集成了 Shell 窗口,方便在 Win 下面使用命令操作。</li>     <li><a href="/misc/goto?guid=4958544045525764047" rel="nofollow,noindex">TortoiseGit - The coolest Interface to Git Version Control</a> 在window下使用git,那就不得不提“乌龟”,安装了 Tortoise 后,右键图形化操作根本分辨不出来哪是 Git,哪是 Svn,很方便使用 Svn 的用户过度过来。</li>     <li><a href="/misc/goto?guid=4958544045773810150" rel="nofollow,noindex">Tower2</a> 号称最好的 Git 客户端,只有 Mac 版本,收费,集成 Github、Gitlab、Xcode等服务。</li>     <li><a href="/misc/goto?guid=4958971603591109535" rel="nofollow,noindex">SourceTree</a> 免费,功能齐全,Mac+Window 版本,集成 Github 等服务。</li>     <li><a href="/misc/goto?guid=4958964328651201047" rel="nofollow,noindex">SmartGit</a> 非商业用途免费,全平台支持,集成 Github服务。内置 SSH client ,文件比较与合并工具。</li>    </ul>    <h2>Git branch</h2>    <ul>     <li><a href="/misc/goto?guid=4958183577197840820" rel="nofollow,noindex">A successful Git branching model</a> 介绍日常推荐的分支开发模型,基于此模型可以通过这个小游戏来进行学习 <a href="/misc/goto?guid=4958837434181082542" rel="nofollow,noindex">Learn Git Branch</a></li>     <li>Git工作流指南完整的对比目前使用的集中式(Svn)工作流、功能分支工作流、Gitflow 工作流、Forking 工作流、Pull Request 等几种不同的模式,通俗易懂,强烈推荐看一看,如果觉的排版不好,请查看原分页文章 <a href="/misc/goto?guid=4959636126126946804" rel="nofollow,noindex">Git-workflow-translations</a></li>     <li>熟悉的工作流后,你是否也想要在 Github 上与他人一起协同工作?那么问题来了, <a href="/misc/goto?guid=4958988063801633803" rel="nofollow,noindex">Github全程指南-如何高效使用?</a></li>     <li><a href="/misc/goto?guid=4959649644128141401" rel="nofollow,noindex">Understanding the GitHub Flow</a> This guide explains how and why GitHub Flow works 简单实用,更好的理解Github的模式。</li>     <li><a href="/misc/goto?guid=4959649643776425082" rel="nofollow,noindex">Github 协同开发流程</a> 图片很赞,简洁易懂。</li>    </ul>    <h2>Git expert</h2>    <ul>     <li>项目依赖其他项目,比如公共 Css、Dll 等等,强大的 Git-submodule 优雅的解决这类问题。理解阅读 <a href="/misc/goto?guid=4959636294499608738" rel="nofollow,noindex">Git Tools - Submodules</a> ,备忘或者查看命令阅读 <a href="/misc/goto?guid=4959636294584512294" rel="nofollow,noindex">Git Submodule Tutorial</a> 或者 <a href="/misc/goto?guid=4958988064970146317" rel="nofollow,noindex">Git Submodule 使用完整教程</a></li>     <li><a href="/misc/goto?guid=4959733729000763935" rel="nofollow,noindex">Git Submodule 的一些注意事项</a> 一些需要理解并注意的操作</li>    </ul>    <h2>Git 书籍</h2>    <ul>     <li><a href="/misc/goto?guid=4959632451434942884" rel="nofollow,noindex">Pro Git</a> 作者Scott Chacon是 Github 的员工,Git 的布道者,这本书被誉为 Git 学习圣经,中间有好多插图描述的浅显易懂,挺适合详细学习下的,最新英文第二版《 <a href="/misc/goto?guid=4958852379588072650" rel="nofollow,noindex">Pro Git (Editon 2)</a> 》;</li>     <li>Git-internals-pdf 老外写的,很给力,从目录上面包括安装使用以及设计原理都有讲解,有机会看看。Pdf 电子版本直接下载地址Git-internals.pdf</li>     <li><a href="/misc/goto?guid=4958870309208352192" rel="nofollow,noindex">Git Community Book</a> 汇聚了 Git 社区的很多精华, 并对 Git 的对象模型原理等做了解释,可以深入的了解下 Git 原理。pdf电子版本直接下载地址 <a href="/misc/goto?guid=4959636294968277682" rel="nofollow,noindex">Git Community Book.pdf</a></li>     <li><a href="/misc/goto?guid=4959552869539051187" rel="nofollow,noindex">Git权威指南</a> 国内版本控制咨询顾问蒋鑫先生的原创书籍,原生中文叙述,更容易理解,查看 <a href="/misc/goto?guid=4958340759224521472" rel="nofollow,noindex">作者写书的缘由</a></li>     <li><a href="/misc/goto?guid=4959636426506021025" rel="nofollow,noindex">Git Reference</a> <a href="/misc/goto?guid=4959733729295497461" rel="nofollow,noindex">中文</a> 为学习与记忆 Git 使用中最重要、最普遍的命令提供快速翻阅,可作为参考资料。</li>     <li><a href="/misc/goto?guid=4958530805292372157" rel="nofollow,noindex">Git Magic - a guide from standord</a> 斯坦福大学Git学习指南,适合快速入门。</li>    </ul>    <h2>Git 效率提升</h2>    <ul>     <li><a href="/misc/goto?guid=4959733729410831636" rel="nofollow,noindex">Git flow 工具</a></li>     <li><a href="/misc/goto?guid=4958988065268251094" rel="nofollow,noindex">Git flow 中文备忘清单</a></li>     <li>一个很有意思的学习 Git 的小游戏 <a href="/misc/goto?guid=4958837434181082542" rel="nofollow,noindex">http://pcottle.github.io/learnGitBranching/</a></li>     <li>Git completion 终端 Git 命令的 Tab 键补全功能,比如打开终端,输入 git che ,按 Tab 键,则会出现 check-attr\check-ignore\checkout 等等的选项,支持 Bash、Zsh 等 Shell,使用方法(以 Bash Shell 为例):下载链接中相应的版本到用户目录下,修改 ~/.bashrc 文件 ,加入 source ~/git-completion.bash ,使得每次打开终端时都执行一次 git-completion.bash 脚本,来完成git 命令的 Tab 补全。或者采用这种方法 <a href="/misc/goto?guid=4959733729529044123" rel="nofollow,noindex">Quick Tip: Autocomplete Git Commands and Branch Names in Bash</a></li>     <li>.gitignore template 各种语言、各种编辑器的 .gitignore 文件模板,当你进行某些语言的开发时候,直接使用相应的模板即可,省去自己写的时间(还不全),当然你也可以去贡献自己的模板,不知道 .gitignore ? 简单讲就是不让git跟踪某些文件,详情阅读: <a href="/misc/goto?guid=4959643085405276426" rel="nofollow,noindex">http://git-scm.com/docs/gitignore</a> <strong>PS:</strong> 推荐使用 .gitignore_global 文件进行全局过滤,比如mac下的 .DS_Store 文件,省去在每个 Repo 下进行设置 .gitignore 文件了。全局模板参考: <a href="/misc/goto?guid=4959733729645975838" rel="nofollow,noindex">https://github.com/github/gitignore/tree/master/Global</a></li>    </ul>    <h2>Git extensions</h2>    <ul>     <li>Git 的大文件支持Git LFS : Git在对大文件进行版本管理的时候,速度上是很慢的,一个帮助处理大文件的扩展插件,在 GithubHelp <a href="/misc/goto?guid=4959733729731731383" rel="nofollow,noindex">Working with large files</a> 中提到,不建议对大文件如日志、database等使用Git进行版本控制,如果非要有这种需求,则建议使用 Git LFS 。</li>    </ul>    <h2>实践备忘</h2>    <ul>     <li>常用命令手册 <a href="/misc/goto?guid=4959733729817137532" rel="nofollow,noindex">Git 日常开发常用命令整理</a> ,日常开发中的利器,可以当做备忘录来使用,推荐 :+1: 。</li>     <li>总是使用 git merge --no-ff 而不是 git merge ,记录下分支的变更历史。 详情 <a href="/misc/goto?guid=4959636295214178737" rel="nofollow,noindex">http://stackoverflow.com/questions/9069061/what-is-the-difference-between-git-merge-and-git-merge-no-ff</a></li>     <li> <p>恰当的使用 git pull --rebase 避免不必要的merge记录。 详情 <a href="/misc/goto?guid=4959636295300109881" rel="nofollow,noindex">http://stackoverflow.com/questions/2472254/when-should-i-use-git-pull-rebase</a> 「You should use git pull --rebase when your changes do not deserve a separate branch」</p> </li>     <li> <p>Git-flight-rules 一些日常使用中的场景,比如提交错了分支、提交时的用户名邮箱不对、丢弃某些提交、未提交的代码直接提交到另外一个分支等等,很实用。</p> </li>     <li><a href="/misc/goto?guid=4959635992179834744" rel="nofollow,noindex">How to undo (almost) anything with Git</a> 撤销一切,汇总各种回滚撤销的场景,加强学习。</li>     <li><a href="/misc/goto?guid=4959733729986046485" rel="nofollow,noindex">怎样在一台电脑上同时使用公司 GitLab 和 Github 的服务?</a> 由于公司团队使用 GitLab 来托管代码,同时,个人在 Github 上还有一些代码仓库,可公司邮箱与个人邮箱是不同的,由此产生的 SSH key 也是不同的,这就造成了冲突 ,文章提供此类问题的解决方案。</li>     <li><a href="/misc/goto?guid=4959654505708439526" rel="nofollow,noindex">如何书写提交信息</a> 当项目越来越大,提交信息越来越复杂的时候,如何书写好提交信息就变得至关重要,这篇文章的作者总结出7条准则。</li>     <li><a href="/misc/goto?guid=4958977612193749651" rel="nofollow,noindex">Commit message 和 change log编写规范-阮一峰</a> 良好的 commit log 好处大大的多。 <a href="/misc/goto?guid=4959733730123042458" rel="nofollow,noindex">AngularJS Git Commit Message Conventions</a></li>     <li>git-recipes @童仲毅 整理翻译的一些优秀文章。</li>     <li>githug Git your game on. 使用通关游戏的形式来练习git的一些命令,非常有趣。</li>    </ul>    <p> </p>    
 本文由用户 DanieleTRV 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1483752178759.html
Git 版本控制系统