LoginSignup
0
0

git とは

Posted at

はじめに

業務でgit(gitlab)を使用しているが、ソースコードのバージョンを管理するツール、g以下コマンドぐらいしかしらないので調査と基本的な使い方を学び強くなる。

gitコマンド
git pull
git push

gitとは

ファイルのバージョン管理を容易にするシステム
バージョン管理システムには以下2種類ある。

  • 集中型バージョン管理システム
  • 分散型バージョン管理システム

集中型バージョン管理システム

常にオンラインで最新版のファイルを複数人でバージョン管理していく仕組み
常に最新版のみを作業するので、シンプルにバージョン管理できるがオンライン環境での作業が必要
 例)Subversion

分散型バージョン管理システム

gitはこれに該当する、クラウド上と自分のPC内に共有するファイルの保存先を複数持てる

メリット

オンライン、オフラインでも複数人が並行して作業できる

デメリット

複数人が並行して作業するため、それぞれの作業を

gitとgithub

gitによって管理されるフォルダのことをリポジトリという
gitを使用し、効率よく作業するには、リモートリポジトリとローカルリポジトリを上手く連携させる必要がある。
そのために用意されているのがリモートリポジトリを提供するサービスgithub
つまり、githubはgitをオンライン管理するwebサービス

githubとgitlab

gitlabはgithubを参考に開発されたため、同様な機能を備えている。

違い gitlab github
サービス OSSライセンス 商用ライセンス
料金 オープンソースなので基本無料 公開リポジトリは無料※
特徴 インストールするためのサーバ、運用費用がかかる クラウド上で運営されるので、サーバ構築は不要

※プライベートリポジトリは課金

つまり、サービスや料金は変わらないので、ライセンスや自社でカスタマイズしやすいかどうかの違い。

gitlab

gitlabには以下2種がある

GitLab CE(Community Edition)
オープンソースソフトウェア
GitLab EE(Enterprise Edition)
CE版を元に開発し、CEへの機能追加を有料で提供

以降は、gitlab CE版の主な機能について記載する

  • 総合的なコード管理
  • マージリクエストによる、コードレビュー
  • プロジェクトやソースコードに対する課題管理

総合的なコード管理

複数名で開発する場合、各々修正したソースコードは全てgitを利用してバージョン管理されるので、異なる作業をしている人でも簡単に現行の作業をチェックできる

例えば、ソースコードの閲覧、変更履歴の確認、リポジトリのアクセス管理、ブランチの閲覧などが可能

つまり、gitlabを使うと簡単にコード間の管理ができる

マージリクエストによる、コードレビュー

編集したファイルをコミットする際にgitlab CI/CD機能により、マージリクエスト毎に自動的にビルドとテストを実行できる

コミット:修正したファイルを保存すること

つまり、共同作業の変更点を確認しながらマージ作業ができる

プロジェクトやソースコードに対する課題管理

バグチケットを発行して課題管理できる。
Issue Board機能により、開発途中、運用中に発生した課題を共有できる

gitlabのメリット

  • プロジェクトのコンテンツ共有ができる
  • オンプレ上(自社内)でセキュリティの管理ができる
  • Gitlabの機能をGit管理下で使える
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0