ビジネスとIT活用に役立つブログBlog


GitForWindowsで社内のGitLabにPushしてみた

この記事をシェアする:

弊社では社内環境のGitLabを用いてバージョン管理を行っています。

今回は日本でのデスクトップOSシェア約70%であるWindows環境にてGitを利用して、GitLabへPushし、Merge Requestでmasterブランチにmergeされるまでの手順を解説していきたいと思います。

記載時の環境

  • Windows10 HOME version1903
  • GitLab Community Edition 12.2.5
  • Visual Studio Code 1.38.0

GitForWindowsの導入

下記のサイトのDownloadボタンからインストーラをダウンロードします。
※記載時はバージョン2.23.0でした。



1. ダウンロードしたインストーラを起動

2. インストールフォルダを指定

3. インストールするコンポーネントを選択

基本的には変更しなくてもOKです。

4. スタートメニューへGitの追加

こちらも基本的には変更しなくてOKです。

5. デフォルトエディタの設定

初期値ではUse Vimになっています。
今回はVisual Studio Code(以下VSCode)を使用しますので、「Use Visual Studio Code as Git’s default editor」を選択します。

6. WindowsのコマンドラインからGit操作をするかの設定

  • Use Git from Git Bash only:インストールされるGit BashからのみGit操作を行う
  • Git from the command line and …:WindowsのコマンドラインからもGit操作を行う
    ※今回はVSCordのターミナル上からGit操作を行うのでこちらを選択します。
  • Use Git and optional Unix tools …:Unixコマンドもコマンドラインで使用できるようになる
    ※Warningに記載されているようにWindowsのコマンドが上書きされますので注意してください。

7. 接続方法の設定

今回はGitLabに接続しますので「Use OpenSSH」→「Use the OpenSSL library」を選択します。

8. テキストファイルの改行コードスタイルを設定

Checkout,Commitを変換せず行うよう「Checkout as-is, commit as-is」を選択します。

9. Git Bashが使用するターミナルの選択

基本は変更しなくてOKです。

10.その他設定

基本は変更しなくてOKです。

11. インストールの実行

インストールが実行され、完了画面が表示されます。
リリースノートを見たい方はそのまま、そうでない方は「View Release Notes」のチェックを外してFinishボタンを押下します。

GitLabに接続するためのSSHキーの作成

GitLabのアカウント、リポジトリは存在しているものとします。
ここからVSCodeを使用します。


1. ブラウザでGitLabにログインし、右上のプルダウンから「Setting」を選択


2. 左のタブからSSH Keysを選択


3. 中央上部にある「generate one」リンクを押下しヘルプを表示


4. VSCodeを開き、ターミナルタブ→新しいターミナルを押下しターミナルを起動


5. dirコマンドファイルリストを表示し、.sshディレクトリがない場合はmkdirコマンドで作成


6. .sshディレクトリに移動


7. Step3で開いたヘルプの通りにコマンドを実行

-Cオプションはコメント追加オプションなので無しでもOKです。
※passphraseを聞かれますが、今回は何も入力せずにEnterを押下します。

GitLabへの接続設定

1. catコマンドで公開鍵(.pub)を表示

2. 表示した公開鍵を登録

GitLab→Setting→SSH Keysタブに移動し、Key欄にStep1で表示した公開鍵をすべて貼り付けます。
Title欄には分かりやすい名前を入力してください。 Add keyボタンを押下しエラーが出なければ成功です!

Gitでcloneからmergeまで

※VSCodeのターミナルでgitコマンドが使えない際は、GitForWindowsインストール後に一度再起動を行ってみてください。

1. gitの設定の編集

下記コマンドで名前とメールアドレスを登録してください。
設定は「~/.gitconfig」ファイルに追記されます。

2. リモートリポジトリ(GitLab上)からclone(ローカルリポジトリへコピー)

cloneしたいPATHまで移動しリモートリポジトリのsshのパスをコピーし、git cloneコマンドでcloneします。

Are you sure you want to continue connectingには「yes」と入力してEnter押下します。

3. ブランチの確認

cloneしたプロジェクトディレクトリに移動し、git branchコマンドで現在いるブランチを確認します。

4. 作業用ブランチに切り替え

git checkoutコマンドに-bオプションを付けることで作業用ブランチを作成しつつブランチを切り替えます。

5. ローカルリポジトリの作業用ブランチで変更

VSCodeのファイルタブ→フォルダを開く→cloneしたプロジェクトディレクトリを選択し、変更を行います。 今回は新しいファイルを作成してみました。

6. 変更を確認

git statusコマンドで変更を確認します。

7. 変更をステージングエリアに追加

git add {filename}コマンドでステージングエリアに追加します。
git add .コマンドで全てのファイルを追加することもできます。

8. 変更をコミット

git commitコマンドに-mオプションを付けることで、コメントをコマンドラインで入力しつつコミットすることができます。

9. コミットログの確認

git logコマンドでコミットログの閲覧ができます。

10. 変更をコミットした作業用ブランチをリモートリポジトリにpush

git push {remote name} {develop branch}コマンドでリモートリポジトリにpushします。

11. ブラウザ上からmerge(mergeリクエスト)の実行

リモートリポジトリ→Repository→Branches→先程Pushしたブランチの「Merge request」ボタンを押下


タイトル、変更内容等を入力して「Submit merge request」ボタンを押下


承認者がmergeすることでmasterブランチに変更が反映される

ローカルリポジトリを最新の状態にする

他の作業者が変更を反映したり、ブラウザ上でmergeを行ったりするとローカルリポジトリとの差分ができてしまいます。 前段落Step11で承認者にブラウザ上でmergeしてもらった想定で、ローカルリポジトリを最新の状態にしてみます。

1. git fetchコマンドでリモートリポジトリの変更履歴のみを取得

「origin/{branch name}」はリモートリポジトリのブランチの情報です。


2. ローカルリポジトリのmasterブランチを最新の状態に更新

masterブランチに切り替え、git pull {remote name} masterコマンドでリモートリポジトリの内容をpullします。

3. 不要なブランチの削除

リモートリポジトリにmerge済の「developブランチ」は不要なので一度削除してしまいます。
git branchコマンドに-dオプションを付けることで削除ができます。

さいごに

いかがだったでしょうか。 上記手順を行えばWindows環境でもGitを利用して、バージョン管理システムを利用することができます。 Gitは今回紹介した以外にも、便利な機能がたくさんあるので気になる方は公式ドキュメントを見てみるのもよいかもしれません。

The following two tabs change content below.
アーティス

アーティス

創造性を最大限に発揮するとともに、インターネットに代表されるITを活用し、みんなの生活が便利で、豊かで、楽しいものになるようなサービスやコンテンツを考え、創り出し提供しています。
この記事のカテゴリ:

SNSで最新の情報を
受け取ることができます!