LoginSignup
0
0

More than 1 year has passed since last update.

業務時のGitなどの操作

Posted at

インターンに入って時間が経ち、そろそろgitの使い方にも慣れてきたと思っていましたが、まだいくつか間違えそうなところがあるので自分のためにも記事に残しておきます。

タスクのブランチ操作

こちらでPR作成までの流れをgitで行い、次のタスクを行うときは以下の流れで行うようにします。

  1. git checkout masterでmasterやstagingなどのメインブランチに移動
  2. 常に最新の情報を取得したいため、git pull origin masterでmasterやstagingなどのリモートリポジトリの変更内容を取り組む
  3. git checkout -b branchで作業ブランチ作成&移動

作業後、他のメンバーの開発がマージされてるかもしれないので、push前にgit pull origin masterを行なってコンフリクト解消しても良いかもしれません。

マイグレーションやり直して過去のタスクのマイグレーションが反映しないようにする(Rails)

上記のようなタスクの流れで行い、タスクでテーブルを追加するようなマイグレーション操作を行なった場合、その後別のタスク(別ブランチ)でrails db:migrate:statusを行うと

Rails
 Status   Migration ID    Migration Name
--------------------------------------------------
...
   up     20220117124649  ********** NO FILE **********

のように********** NO FILE **********として別ブランチに含まれてます。
同じようにdb/schema.rbにも前タスクのマイグレーション操作が含まれるので、これによる不具合を防ぐためにもrails db:migrate:reset(rails db:reset)を行なってマイグレーションをリセットします。

しかし、rails db:migrate:resetだとデータが全て消えてしまうので、大体の場合はrails db:migrate:rollbackで巻き戻すのが良いと思います。

PR時作成にマージ先を間違えない

最初の頃はマージ先を設定することを知らず、今でもたまに忘れちゃいそうになります。後から対処するのもめんどいので忘れないようにしたいです。マージ先はタイトル上のbaseのセレクトボタンで変更できます。

PR作成後にマージ先を間違えたと気づいた場合、タイトルの横のEditボタンを押すと変更できます。

マージの打ち消し

CIの不具合などでマージ自体を打ち消したいことがないこともないと思いますが、そんな時はGitHub上で簡単に打ち消すことができます。

  1. PRのコミットの横にRevertボタンがあるのでクリックします。

  2. 打ち消しPR作成画面が表示されるので、タイトルや説明を好きに編集して作成します。このとき、ブランチ名は先頭にrevert-2-がついていると思います。また、打ち消しPRの内容を確認すると、追加した内容が打ち消されています。
  3. 打ち消しPRを作成し、マージすると追加した内容が無かったことになっていると思います。

打ち消し自体をまた無くしたい(元に戻したい)場合は、打ち消しPRのRevertボタン押して同じように進めるだけです!

また気をつけるべきことがあったら追記します。

参考

https://konaga-k.hatenablog.com/entry/2021/09/19/103446
https://saikeblog.com/2020/03/09/github%E3%81%A7pull-request%E3%81%AE%E3%83%9E%E3%83%BC%E3%82%B8%E3%82%92%E6%89%93%E3%81%A1%E6%B6%88%E3%81%99%E6%96%B9%E6%B3%95/#toc2

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