TFS/VSTS vs GitLab

GitLab compared to other tools

FEATURES

コミットグラフとレポートツール

GitLabは共同作業に役立つ、コミットグラフとレポートツールを提供します。

コミットグラフの詳細

包括的なインポート機能

GitHubや他のVCSと比較して、GitLabはより多くのソース(GitHub、BitBucket、Google Code、FogBugz、Gitea、git URL)からプロジェクトや課題をインポートすることができます。また、SVNからGitへ移行するための包括的なガイドとドキュメントも用意されています。

GitLabの利用開始をより簡単に

Wiki によるプロジェクトのドキュメント

それぞれのプロジェクトのドキュメントを管理するためにWikiが使用できます。。すべてのWikiは独立したGitリポジトリとして利用できます

GitLabのWikiの詳細

画像に関する議論

コミット画面やマージリクエストの差分画面で、画像の特定の位置を指定して、画像に関する議論をコメントできます。1つの画像に対して複数の議論を作成できます。

画像に関する議論

マージリクエストのコミットに関する議論

マージリクエストのコミットに対してコメントをすることができます。

マージリクエストのコミットに関する議論

メールからマージリクエストを作成

マージリクエストのタイトル、説明、ソースブランチが書かれたメールを送信することで、マージリクエストを作成できます。

メールからマージリクエストを作成

議論をロック

不正使用、スパム、非生産的な議論を防止するため、管理者以上の権限を持つユーザーは議論の継続をロックすることができます。

議論をロック

初回貢献者バッジ

プロジェクトに初めて貢献する貢献者をハイライト表示します。

Review Appsで変更をプレビュー

GitLab CI/CDを利用して、ブランチごとに新しい環境を作成することができ、開発プロセスを高速化できます。 自分のブランチをプレビューできるマージリクエスト用の動的な環境を起動できます。

Review Appsの詳細

コードレビューを複数人で承認

GitLabでは、マージリクエストをマージする前に、複数人がコードレビューして承認することを強制できます。一度承認した後で問題に気がついた場合は、承認を取り消すこともできます。

承認機能のドキュメント

他のサービスから簡単に移行

以前に使用していたサービスから、すべてのリポジトリ、課題、マージリクエストのデータをGitLabへ簡単に移行できます。

プロジェクトをGitLabに移行する方法の詳細

曖昧ファイル検索でファイルを探す

GitLabは少ないキー入力でリポジトリ内のファイルを探す方法を提供します。

ファイル検索のドキュメントを表示

fast-forwardマージ、およびrebaseオプション

マージコミットを作成せず、すべてのマージをfast-forwardとするように、プロジェクトレベルで設定できます。fast-forwardマージができない場合は、rebase後にマージするオプションを選択できます。

マージ前rebaseの詳細

squashしてマージ

複数のコミットを1つにまとめてからマージすることで、メインブランチの履歴をシンプルに保つことができます。

squashしてマージの詳細

GitLab.comからインポート

GitLab.comからプライベートインスタンスにプロジェクトをインポートできます。

GitLab.comからプロジェクトをインポートの詳細

プロジェクトのサイズをグローバル、グループ、プロジェクトレベルで制限

ディスク使用量を適切に制御することができます。

プロジェクトサイズ制限の詳細

マージリクエストの承認

GitLab Enterprize Editionではマージリクエストをマージするのに、複数の承認を必須とすることができます。マージに必要な承認の数や承認可能なユーザーを設定することは、コード品質の改善につながります。

マージリクエストの承認の詳細

マージリクエスト

マージリクエストを作成してチームメンバーに@メンションすると、変更をレビューしてから安全にマージが行えます。

マージリクエストの詳細

マージの衝突を解決

マージの衝突をGitLabのUIでプレビューして、どちらのバージョンを使用するのか選択できます。

マージ衝突解決UIの詳細

未署名コミットを拒否

GitLab Enterprise Edition Premiumでは未署名コミットのプッシュを拒否することで、GPG署名コミットを強制することができます。

強制プッシュルールを表示

コミッターの検証

コミッターとプッシュの実行者が同一人物であることを検証できます。

GitLabで開発中です。詳細な情報はこのリンク先を参照ください。

Gitでディスク使用量を削減

一般的に、Gitリポジトリのディスク使用量は、類似のSVNリポジトリのディスク使用量よりも少なくて済みます。

GitLabでのGitの利用について確認

ファイルのロック

複数人で同じファイルを使って作業をすることにはリスクが伴います。バイナリファイルで発生した衝突の解決には、 多大な労力が必要となります。 GitLab Enterprise Premiumでは、特定のファイルやディレクトリ全体をロックすることで、 自分以外がバイナリファイルを編集することを防止することができ、 面倒なバイナリファイルの衝突を回避することができます。

ファイルのロックの詳細

パイプラインの成功時にマージ

レビューが済んでマージできる状態なのに、CI/CDのジョブが完了するまで待つ必要がある場合は、パイプラインが成功したら自動的にマージするように予約することができます。

パイプラインの成功時にマージの詳細

特定のコミットやマージリクエストをUIから取り消し

ボタンをクリックするだけで、コミットやマージリクエストの取り消しができます。

GitLabのUIからコミットやマージリクエストの取り消す方法の詳細

強力なブランチ機能

Gitのブランチには、過去のすべての履歴が含まれています。また、ブランチを簡単に作成、移動、共有することができます。

ブランチの利用を開始するためのGitのドキュメントを確認

保護ブランチ

保護ブランチに対して、きめ細かいアクセス制御ができます。

保護ブランチの詳細

Web IDE

Web IDEを使用すると、ローカルの開発環境との切り替えの手間を省くことができ、より早くプロジェクトに貢献ができます。 Web IDE にはマージリクエストと GitLab CI が統合されているので、Web IDE を使用した状態でフィードバックを解決し、失敗したテストを修正し、変更をプレビューしながらクライアントサイドの評価を実行することができます。.

Web IDEの詳細

スニペット

引用可能なコード片を、コードスニペットとして保存して共有できます。 また、1行のコードでブログやウェブサイトに埋め込むこともできます。

スニペットの詳細

マージリクエストのバージョン

ブランチにプッシュする毎に、マージリクエストのバージョンが作成されます。マージリクエストのUIで、バージョン間の差分を表示できます。

マージリクエストのバージョンの詳細

インラインコメントと議論の解決

マージリクエストのインラインコメントを使用して、コードや文書を素早く効率的にレビューできます。コードの特定の行にコメントをして、改善案などを議論することができます。GitLabは、インラインコメントを議論として解釈します。すべての議論が解決されるまで、マージリクエストをマージできないように設定することもできます。

議論の解決の詳細

変更のcherry-pick

マージリクエストや特定のコミット内のCherry-Pickボタンをクリックするだけで、あらゆるコミットをcherry-pickできます。

マージリクエストをcherry-pickの詳細

アクティビティストリーム

コミット、マージ、コメントなどプロジェクトのチームメンバーの直近の活動を一覧表示できます。

アクティビティストリートの詳細

カスタム通知

課題やマージリクエストに変更があると、メールやSlackやTodoで通知できます。

カスタム通知の詳細

GPG署名コミット

署名コミットを使用すると、特定のユーザーによってコミットされたことを証明できます。

GPG署名コミットの詳細

仕掛中のマージリクエスト (WIP)

仕掛中のマージリクエストを間違えてマージすることができないように、マージリクエストを仕掛中(WIP)としてマークできます。これにより、仕掛中の変更であっても安心してレビューの依頼ができます。

WIPマージリクエストの詳細

プッシュとマージを特定のユーザーに制限

保護ブランチの機能を拡張して、保護ブランチにプッシュとマージができるユーザーを選択できます。

保護ブランチの詳細

保護タグ

保護タグに対して、きめ細かいアクセス制御ができます。

保護タグの詳細

統合されたカスタムのプロジェクトテンプレート

新しいプロジェクトを作成するときは、いくつかの実用的なサンプルコードや CI が予め設定されている定義済みのテンプレートからプロジェクトを開始することができます。 さらに、グループを割り当ててカスタムのプロジェクトテンプレートを定義できます。このグループの子プロジェクトは、新しいプロジェクトを作成するときのテンプレートとして使用できます。

プロジェクトテンプレートを表示

Gitのプッシュでプロジェクトを作成

新しいプロジェクトを作成したい場所にプッシュすると、自動的に新しいプライベートプロジェクトが作成されます。

プロジェクト作成の詳細