Git的介绍
这是对Git的简单介绍(包括GitHub)。
Git是一种版本控制工具。
Git(ギット)是一个版本管理系统。
从受欢迎程度来说,自2008年左右开始,Git在版本管理系统方面超过了Subversion,成为绝对受欢迎的选择。
Line、Google、メルカリ等企業已经使用Git(GitHub)作为他们的版本控制工具。
Git的特点
分散的
我有两个仓库,一个是远程仓库,另一个是本地仓库。
-
- リモートリポジトリ:全員で共有するリポジトリ
- ローカルリポジトリ:自分のみが使用するリポジトリ
在熟悉Git之前,我认为本地仓库只是增添了一些复杂性…但是,对于周期短、开发快速的敏捷开发,以及频繁的客户需求/故障修复发布,它确实非常强大!
我们可以将不完全的东西暂时保存在本地仓库中,然后进行其他处理,这样可以快速、毫无压力地完成。在使用Subversion时,我们通常需要手动将文件复制到电脑上,清除差异并进行处理,最后再将复制的文件放回电脑上。(是否有其他无压力的好方法可供选择??)
快速道路
分支的创建和切换速度快,操作轻松无压力。
马吉很聪明
据说与其他版本控制系统相比,它的合并算法更加优秀。
但似乎与最新版本的subversion相比并没有太大差异。。。
请参考以下常用命令
无论如何GitHub。
毫无疑问,将Git发展至如此受欢迎的地位的是GitHub!它是一个提供Git以及各种Web工具的服务。
以下的类似猫标志的网站正是GitHub。
引导程序
GitHub和GitLab都以DevOps作为开发风格的目标。
DevOps是一种活动,旨在通过改善组织文化和工具的两个方面,提高业务敏捷性并降低风险,以实现商业和项目的成功。
作为一个团队,我们致力于提高工作效率和促进沟通,为客户迅速提供价值。我们可以使用一整套工具来实现这个目标。
特别好的工具
拉取请求 (lā qǔ
简而言之,修复后,请进行源代码审查,并在确认无误后合并到分支中。
评论者可以在浏览器上轻松查看差异。
尽管仅仅检查差异是不足以确认所有修正的,由于第三方能够审查所有修正,因此应该增加程序员的紧张感!
※当项目变得繁忙时,评审人员不可避免地承受了压力,导致源代码的评审被忽视,导致质量差的程序增多的情况是不太可能出现的。
-
- ブラウザで差分が確認できる
-
- 修正もできる
-
- どのissueかもぱっと辿れる
-
- 気になるコードもすぐ連携して確認してもらえる
- 後々どういう経緯でそうなったのか忘れた時もコードとissueを照らし合わせたら何か思い出す時もある
问题
一种课题管理工具。您可以轻松地将源代码、Pull Request、变更历史等与课题相关联并进行管理。
使用IssueBoard,可以轻松地进行看板式任务管理。
维基百科
维基百科是一个集中共享内容的地方,整理和获取信息非常方便。
与Slack、以及其他沟通工具进行整合
可以进行Pull Request和push等操作协作。
如果是公司的话,可以使用GitLab。
然而,如果是用于团队使用的话就需要花费一些钱,如果是在公司内部使用的话,我们应该选择GitLab。
GitLab是一种可以在内部环境(如公司)自主构建的Git仓库管理器,类似于GitHub。GitHub和GitLab的功能大致相当。
我個人的觀點
过去我们使用过Subversion,现在开始使用Git。
过去有过通过命令进行操作的经历,但由于不熟悉本地仓库的概念,一直没有感受到使用Git的好处。
另外,公司决定使用GitLab,但我一直拒绝将自己的项目迁移到GitLab上。因为项目非常繁忙,没有时间去学习其他东西。
当我第一次使用GitLab时,我对其速度感到惊讶。
该项目根据每个问题创建了一个分支,但是切换分支的无压力、快速进行代码审查的合并请求以及能够在一个GitLab上进行集中管理的优点,令我印象深刻。
我们正在采用敏捷开发的方式进行开发,在项目的最后阶段需要频繁重组,但我意识到如果不使用GitLab,无法以那样的速度进行开发。
我认为,类似瀑布式开发的项目,即按照预定日期开发已确定的内容,可能无法充分享受到Git和GitLab的好处。
如果是以“以更确切且更快地将业务价值传递给最终用户”为使命的项目,我认为如果不使用Git,就无法进行有速度感的开发。
目前,像Line和Mercari这样的BtoC公司已经采用了DevOps,但未来将会有更多面向内部系统和中小企业的系统开发,迅速传递价值,因此我认为Git的受欢迎程度将会更高。