Git
GitLab

【第一弾】git マスターになりたい

gitを使いこなせるようになりたい。

仕事で初心者プログラマーとして働き5ヶ月目。依頼案件の実装を行うところまでは少し出来るようになってきた。しかし、gitの操作が危く最近注意される。根本から理解したい。

■年内に力にしたいこと

  • 開発環境でのmigration操作
  • rebase, merge, fetchの根本理解
  • git pull は不要説に対して意見ができる状態
  • コマンドをミスった時にreset ORIG_HEADをすると怒られる(上司に)理由を徹底解析
  • 手動でやっているリリース作業をjenkinsでGUIで行えるようにする(shell記述)

■開発環境でのmigration操作

  • 一発ですんなり実行できた試しがない。

■rebase, merge, fetchの根本理解

今のとこの理解は以下。

  • rebase: たとえばgit rebase masterだったら、masterを土台にして今いるブランチのコミットを上乗せするイメージ。その過程でConflictが起きたら修正する。
  • merge: ブランチで行ったcommitを時間軸でmerge先ブランチに突っ込んで合わせること
  • fetch: ローカルの作業を、リモートブランチにて更新する

■git pull は不要説に対して意見ができる状態

  • 意見できない。pullはリモートのコードを引っ張ってくる。

■コマンドをミスった時にreset ORIG_HEADをすると同僚に怒られる理由を徹底解析

- 間違えてcommitを遡りすぎてユーザーから「昨日まで使えていた追加機能が使えなくなった」というクレームになるから?

■手動でやっているリリース作業をjenkinsでGUIで行えるようにする(shell記述)

- Mysql文はjenkinsのshellコマンド部分に挿入してデータ抽出できたが、リリース作業はどうするのか。ssh ~ → /var/www/directory → git fetch → git checkout origin/branch を一括で行えるようにすればいいのか?