paloma blog

NWエンジニアやってます。主に自宅環境のお遊びを書きます。Pythonもちょっと。タイトルは好きなカクテルから。

初めてのgit merge

私はIT業界で働いていますが、今の現場はレガシーなSIerのお客さんで未だにドキュメントはExcel全盛です。
インフラかつNW系ということもありリポジトリや自動化というものは疎遠になっています。

ずっと現場にいる気はないですが、その間にも勉強はしとかないとということで自分でツール作ってgit操作をちょこちょこやっています。

自分用ツールの開発ということで小規模なこともありmasterブランチ一発修正をしていたのですが、アプリ系の知人と会話したところブランチは切るものだと教えたもらったのでこの度初めてmergeを行ってみました。

ちなみにリポジトリは前回の映画投稿ツールのもので、前回の修正をmasterに反映しました。

branch

昨日投稿した時点ではdevelopをいうbranchを切って修正しています。

python製自作ツールに引数処理を追加する - paloma blog

(movies) masashi@PC-ubuntu:~/movietweet$ git branch
* develop
  master

branch変更

調べたところmergeはActiveのbranchから行うようなので変更します。
checkoutコマンドで移動。

(movies) masashi@PC-ubuntu:~/movietweet$ git checkout master
Switched to branch 'master'
(movies) masashi@PC-ubuntu:~/movietweet$ git branch 
  develop
* master

いきなりですがmerge

反映はmergeコマンドで対象のbranchを指定するだけです。

(movies) masashi@PC-ubuntu:~/movietweet$ git merge develop 
Updating b84ea1e..1aa29c1
Fast-forward
 README.md      | 42 +++++++++++++++++++++++++++++++++++++++++-
 getinfo.py     | 21 ++++++++++++++++++---
 twmovieinfo.sh |  2 +-
 3 files changed, 60 insertions(+), 5 deletions(-)

成功した様子。
ログを見てみます。

(movies) masashi@PC-ubuntu:~/movietweet$ git log --oneline
1aa29c1 (HEAD -> master, origin/develop, develop) Updated README.md
9589faa Added the function to specify the released year
a3ce820 Added the script argument
b84ea1e (origin/master) Fixed comma replacement at the end of a line
0a9ad0f Fixed regular expression for replace
f987f1b Removed movies command description
648da90 Changed infomation shaping for homebrew tools
5636f0f Create movie infomation get function
1046e21 Fixed to trancate to 280 characters
9a6ab4a Added pre-post output
922d543 Fixed double acquisition of "Title"
4eb22a0 Add pager
5c804da Fine tune
d699b15 Modify posttw.py to use api file
e383b7a divide api settings
c51a288 First commit

コードは言わずもがなですが、
branchのcommitコメントも反映されてます。
9589faa、a3ce820がdevelopのコメントです。

すんなりと終わってしまいました。

最後にpush

ツールはgithubにあげていますのでpushします。
ここはいつもどおりでコメントはありません。

(movies) masashi@PC-ubuntu:~/movietweet$ git push origin master
Username for 'https://github.com': masashi69
Password for 'https://masashi69@github.com': 
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/masashi69/movietweet.git
   b84ea1e..1aa29c1  master -> master

まとめ

今回は初めてmergeを行いました。
アプリケーション開発の人は慣れている作業でしょうが、Excelを日付管理しているような現場にいますので簡単ながらもちょっとドキドキしました。

mergeといえばコンフリクトの記事をたまに見ますが、私のツールは小規模な改修なので特に問題なく完了しました。

一人でやる分にはgitの恩恵は最大限には感じられないかもしれませんが、少しずつ使えていく実感が楽しいですね。(この感覚は技術系ならgitに限らずですが)