GIT入门PPT讲述.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
git使用惯例(续) 常用git status查看工作目录状态 提交前要检查你更改了什么(使用git diff) 不要上传你自己的用户设置 附属文件也要集成在一起,比如更新了新的第三方库(无源码的.a .so文件) 临时文件,编译生成的文件不要放进源代码管理软件里(使用.gitignore来忽略),也不要通过复制或者打包文件来进行备份 * 并行版本控制、每日构建。 本PPT内容和图片主要来源于《Pro Git》和网络 * 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单,不过坏处却不少:有时候会混淆所在的工作目录,弄错了文件丢了数据就没了后退的路。为了解决以上存在的问题,版本管理工具应运而生。 * 客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 * * 有的版本控制工具保存的是文件的差异,即文件从A到A1,并不会保存两个文件,而是保存了A和A1的差异。这样做的好处是可以减少仓库体积,缺点是要得到一个文件的最新版本,需要访问该文件的原始版本以及后面的每个差异。为了提高性能,Git没有这样做。 * 离线操作的好处是去中心化,随时随地都可以工作。 唯一的哈希值(真的唯一吗?) 工作区:我们会想当然的认为,当前仓库所在目录就是我们的工作区,其实这是不完全正确的。在当前仓库中,新增,更改,删除文件这些动作,都发生在工作区里面。 暂存区:英文叫stage, 或index。在版本库.git)目录下,有一个index文件。它实际上就是一个包含文件索引的目录树,像是一个虚拟的工作区。在这个虚拟工作区的目录树中,记录了文件名、文件的状态信息(时间戳、文件长度等),文件的内容并不存储其中,而是保存在Git对象库(.git/objects)中,文件索引建立了文件和对象库中对象实体之间的对应。如果当前仓库,有文件更新,并且使用git add 命令,那么这些更新就会出现在暂存区中。 版本库:当前仓库下,如果没有任何的提交,那么版本库就是对应上次提交后的内容。 * * * * * * * * * * * * SHA-1 哈希值:由40个16进制字符(20个字节)。通常在一个项目中,使用八到十个字符来避免 SHA-1 歧义已经足够了。最大的 Git 项目之一,Linux 内核,目前也只需要最长 40 个字符中的 12 个字符来保持唯一性。 现在举例说一下怎样才能产生一次 SHA-1 冲突。如果地球上 65 亿的人类都在编程,每 人每秒都在产生等价于整个 Linux 内核历史(一百万个 Git 对象)的代码,并将之提交到 一个巨大的 Git 仓库里面,那将花费 5 年的时间才会产生足够的对象,使其拥有 50% 的 概率产生一次 SHA-1 对象冲突。 * 除了第一个提交,每次提交(commit)都有1个父亲,每个合并(merge)都有两个父亲 * * 该提交图是由前面(git分支一节)的一张图经过以下几步后得到的: #git checkout master 切换到主分支 #git merge dumbidea 合并dumbidea(git内部把master快进到C13) #git merge iss91v2 合并iss91v2分支,这个合并操作会自动新建一个提交C14 #git branch -D iss91 强制删除iss91分支(因为C5,C6未合并所以需要使用-D选项强行删除) * * 一定要理解:工作目录,暂存区,本地仓库,远程仓库的概念 * git diff 可以用来比较版本之间的差异,版本之间某个目录,甚至文件间的差异。 * 使用git reset要小心,必须认真学习了,理解了才去使用。 学习使用好Git的各种工具,可以提交效率,使你想要做的事变得更容易,更优雅。 * * .gitignore可以帮助过滤一些临时文件,中间文件,编辑器产生的文件,代码查看工具产生的文件等。 可以使用!来强制不过滤某文件 * 针对不同的项目和不同的团队制定和选择合适的工作流程。 每个团队应该有一个统一的提交和合并规范来提高效率和避免犯错 * 每个逻辑功能提交一次,不要将多个逻辑功能和bug修复合并成一个大的提交。 如果已经提交了,使用git reset,然后重新分开提交。(如果已经push了,那么晚了~~~完了~~~~) * 这样的提交信息没有任何意义 * 常用git stattus 完整上传必需的文件,不要上传垃圾文件 协作开发中的质量如何保证? 版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 分类: 本地版本控制系统 集中化的版本控制系统 分布式版本控制系统 GIT—分布式版本控制系统 GIT简史 早期L

文档评论(0)

5500046 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档