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 を一括で行えるようにすればいいのか?