LoginSignup
27
28

More than 5 years have passed since last update.

開発者のGitワークフロー例

Last updated at Posted at 2014-04-03

環境

BTS : redmine   
SCM:Git & GitLab
    統合ブランチ: develop
    トピックブランチ: iss-XXXX
IDE: Eclipse
Build:Gradle

前提条件

修正前作業

  1. redmineのステータスを inProgress に変更

  2. ローカルのdevelpの最新化
    $ git co develop # developブランチに切り替え
    $ git br # ちゃんと移動したか確認
    $ git fetch origin # リモートからデータ取得
    $ git lg # ログ確認
    $ git rebase origin/develop # マージ

  3. トピックブランチをローカルに作成
    $ git co -b [other_branch] [origin/other_branch]
    例) $ git co -b iss-1234 origin/develop

  4. eclipseクラスパスを作り直す場合
    $ gradle cleanEclipseClasspath eclipseClasspath

  5. 修正着手前にテストスイートを実行し、ALLGreenであることを確認

修正

  1. 修正作業を行う

  2. 単体テスト

  3. 動作確認

  4. デグレ確認のためテストスイートを実行し、ALLGreenであることを確認

コミット

  1. コミットする前にrebase
    $ git fetch origin
    $ git rebase origin/develop
    $ git lg

    コンフリクトした場合、
    解決後、 $ git add する
    その後は普通にコミット可能

  2. ステージ
    $ git add {ファイル} ※ *.javaとか

  3. 差分確認

    • ワークツリーとインデックスの差分
      $ git diff
      ファイル名だけ出したい場合は --name-only オプションを付ける
      例)$ git diff --name-only
    • インデックスと HEAD の差分(次にコミットする差分)
      $ git diff --cached
    • ワークツリーとHEADの差分
      $ git diff HEAD
  4. コミット
    $ git commit
    L1 redmine #1234 {対応内容}
    {対応内容詳細}

プッシュ

  1. リモートブランチにPUSH $ git push <リモート送信先リポジトリ> <ローカル送信元ブランチ>:<リモート送信先ブランチ> $ git push origin iss-1234:iss-1234
    ※ 強制プッシュは -f 付ける

修正後作業

  1. GitLabにアクセス

  2. マージリクエスト出す。
    Assign to は適宜
    Title :{対応内容題名} 対応
    #1234 {対応詳細}

  3. redmineのステータスを Review に変更、進捗を100%に変更

    {コメント}
    
    マージリクエスト
    {マージリクエストURL}
    

以上

27
28
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
27
28