Skip to content

tigaweb/git-plactical-usecase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

現場の実務でよく使うgit操作のユースケース

目次


Featureブランチについて

gitの管理方法としてgit flowという手法が使われていることがある(特に古い現場で多い)

特長として、新機能の開発ブランチを作成する時に頭に**feature/**をつけてブランチを作成する

※他にhotfixやreleaseなどをつける場合もあるが、形骸化していることが多い

ユースケース

  • 新しい機能の開発を開始する際に使用する
  • チームメンバーが独立して作業できるようにする

手順

  1. Featureブランチの作成

    git checkout -b feature/新機能名
  2. 開発作業を行い、コミット

    git add .
    git commit -m "新機能の説明"
  3. リモートリポジトリへのプッシュ

    git push origin feature/新機能名

複数のgitリポジトリを扱う場合の.vscode/settings.jsonの管理方法

複数のディレクトリをvscodeで開いて管理する際、タブの設定やvscodeの背景色を個別で管理したいが、.vscode/settings.jsonがgitの管理対象に含まれて困る場合などに使用する

注意点として、プロジェクトの管理体制上、vscodeのワークスペースごとの設定も含めて管理対象になっている場合は実施しないこと

ユースケース

  • 複数のリポジトリを扱うプロジェクトで、VSCodeの設定ファイルを個別に管理したくない場合
  • 運用上.gitignoreの追加に制限がある、リーダーに打診しづらい場合

手順

  1. リポジトリのルートで.git/info/excludeファイルを確認する

    $ ls .git/info/exclude
    gitの管理対象のルートに存在するはず
  2. .git/info/exclude./vscodeを追記する

    $ echo "./vscode" >> .git/info/exclude
    ファイル末尾に追加されること
  3. 追跡対象から外れていることを確認

    $ git status
    ./vscode以下のファイルが追跡対象になっていた場合、表示されなくなること

作業したファイルをgit diff --name-onlyで一覧化する方法

ローカルで開発していて、コミットを作りすぎて元のブランチから全体でどのファイルを修正したかわからなくなった場合

ユースケース

  • 変更内容を確認したい場合
  • レビュー用に変更ファイル一覧を取得したい場合

手順

  1. 作業ブランチとmasterブランチの差分を確認

    git diff --name-only master..作業ブランチ名

本番リリース時に切り戻しブランチを作成するためのgit revert方法

ユースケース

  • 本番環境にデプロイ後、問題が発生した場合に元の状態に戻す

手順

  1. 本番環境での最新のコミットIDを確認

    git log
  2. 巻き戻し用のブランチを作成

    git checkout master // 開発ブランチの元ブランチ
    git checkout -b feature/xxx_rb // 巻き戻しブランチは_rbなどをつけて開発ブランチと同名で切ることが多い
  3. 変更をリセットするためのrevertを実行

    コミット履歴が一つの場合
    git revert コミットID
    
    コミット履歴が複数の場合
    $ git revert HEAD   // 直前のcommitをrevert
    $ git revert HEAD^  // 一つ前まで(直前とその前)をrevert
    $ git revert HEAD~n // n個前までのcommitをrevert
    $ git revert HEAD~コミットID // 直前からコミットIDの一つ後までのcommitをrevert
  4. リモートリポジトリにプッシュ

    git push
    その後、マージリクエストを作成する

FTPでファイル更新する現場での差分ファイルのコピー方法

ユースケース

  • FTPを使用して手動でファイルを更新する現場で、差分のみをアップロードしたい場合

手順

  1. masterブランチと開発ブランチの差分を抽出

    例) masterブランチと開発中のブランチの差分を、任意のテキストに出力

    gitリポジトリ内で実行
    git diff --name-only master..開発ブランチ名 > changed_files.txt
  2. 差分ファイルをコピーするためのスクリプトを作成(例:bashスクリプト)

    #!/bin/bash
    while read file; do
        cp --parents "$file" /path/to/directory/ # 任意のコピー先ディレクトリ(フルパス)
    done < changed_files.txt # 差分一覧ファイルはバッチから読み取れる場所を指定

    ※cpコマンドのparentsオプションはlinuxだと実行可能(windows git bashだと使える、macだと使えない可能性あり)

  3. スクリプトを実行して差分ファイルをコピー

    ./copy_diff_files.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published