Git你真的会用吗?
Git是什么?
Git官网(https://git-scm.com/)
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
(Git是一个自由开源的分布式版本控制系统,旨在处理从小到非常大的项目的一切速度和效率)
Git is easy to learn and has a tiny footprint with lightning fast performance.
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
(Git易于学习,并且具有闪电快速性能的微小占地面积。 它淘汰SCM工具,如Subversion,CVS,Perforce和ClearCase,具有廉价的本地分支,方便的分期区域和多个工作流等功能)
Git的优点是什么?
Git 有一个暂存区。这只是意味着,如果你对代码进行了 100 次新更改,您可以将这 100 次更改分成 10 次或 20 次或更多次提交,每个提交都有自己的注释和对刚刚发生的事情的详细解释!
你不仅可以分阶段提交提交以逻辑地显示所做的更改,还可以进行补丁分阶段询问你是否需要。如果你和同事都在处理同一个文件,并且您只想提交你已经处理过的特定功能,那么你将使用补丁暂存。你使用“git add -p”做一个 Git 补丁
Git的基础用法?
git [--version] [--help] [-C <path>] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] [--super-prefix=<path>] [--config-env=<name>=<envvar>] <command> [<args>]
--version | 打印git程序来自的 Git 套件版本。 |
--help | 打印概要和最常用命令的列表 |
-C <path> | 就像 git 在<path>而不是当前工作目录中启动一样运行 |
-c <name>=<value> | 将配置参数传递给命令 |
--config-env=<name>=<envvar> | 像-c <name>=<value> ,给配置变量 <name>一个值,其中 <envvar> 是一个环境变量的名称,从中检索值 |
--exec-path[=<path>] | 安装核心 Git 程序的位置的路径 |
--html-path | 打印安装和退出 Git 的 HTML 文档的路径,不带斜杠 |
--man-path | 打印man(1) 此版本 Git 的手册页的手册路径(请参阅 参考资料)并退出 |
--info-path | 打印记录此版本 Git 的信息文件的安装路径并退出 |
高级命令
git -add | 将文件内容添加到索引 |
git -am | 从邮箱应用一系列补丁 |
git -branch | 列出、创建或删除分支 |
git -checkout | 切换分支或恢复工作树文件 |
git -clean | 从工作树中删除未跟踪的文件 |
git -clone | 将存储库克隆到新目录中 |
git -commit | 记录对存储库的更改 |
git -diff | 显示提交、提交和工作树等之间的更改 |
git -fetch | 从另一个存储库下载对象和引用 |
git -init | 创建一个空的 Git 存储库或重新初始化现有的存储库 |
git -merge | 将两个或多个开发历史连接在一起 |
git -pull | 从另一个存储库或本地分支获取并集成 |
git -push | 更新远程引用和关联对象 |
git -revert | 还原一些现有的提交 |
git -status | 显示工作树状态 |
git -log | 总结git日志输出 |
更多相关git操作,可以去git官网点击document查看(https://git-scm.com/docs/git)
Git的常见管理工具
GitLab : 2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到 GitHub上面,而且将项目设为私有还要收费
GitHub : GitHub是通过Git进行版本控制的软件源代码托管服务平台,由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、P. J. Hyett和汤姆·普雷斯顿·沃纳使用Ruby on Rails编写而成
截止到2020年1月,GitHub已经有超过4000万注册用户和1.9亿代码库(包括至少2800万开源代码库),事实上已经成为了世界上最大的代码存放网站和开源社区
2018年6月4日晚,美国科技公司微软宣布以75亿美元的股票收购GitHub
Gitee : 2013年 Gitee 代码托管平台上线至推出企业版之前的三年多时间中,Gitee 平台已托管了 1000 万+个仓库,是国内最早也是规模最大的代码托管平台
BitBucket : Bitbucket起初是一家独立的创业公司。2010年9月29日,Bitbucket被风险投资公司Atlassian收购。起初,Bitbucket只提供对Mercurial项目的支持。2011年10月3日,Bitbucket正式宣布支持Git托管
Bitbucket是Atlassian公司提供的一个基于web的版本库托管服务,支持Mercurial和Git版本控制系统,Bitbucket能够与Atlassian的其他产品相集成,如Jira、HipChat、Confluence和Bamboo
什么是SVN?
Subversion (SVN) 可能是最著名的集中式版本控制系统之一。
在 Subversion 或 SVN 中,您正在检出存储库的单个版本。使用 SVN,您的数据存储在中央服务器上。
将整个历史记录在本地存储库中仅 意味着即使您没有连接到 Internet,您仍然可以进行提交、差异、日志、分支、合并、文件注释等。
SVN优点?
SVN 有一个中央存储库——这使得管理人员更容易拥有更多自上而下的方法来控制、安全、权限、镜像和转储。此外,许多人说 SVN 比 Git 更易于使用。
例如,创建新特征更容易。使用 Git,创建新功能需要额外的步骤。其他人说 SVN 的设置方式可以提高主干稳定性,并且将所有内容放在中央服务器上对某些人来说感觉更加可控和安全。
Git VS SVN?
Git 和 SVN 都是可行的工作流和版本控制系统,但原因不同。
Git 可能更难压缩和存储二进制文件,而 SVN 则没有那么多。
也就是说,许多人声称 Git 比 SVN 更好,因为它即使对于不总是连接到主存储库的开发人员也能很好地工作,因为它可以离线使用。
分支和合并支持也被认为是 Git 的优越性。
当谈到磁盘空间存储时,SVN 和 Git 存储库之间的情况非常接近。
Git 也比 SVN 新一点。