SSブログ

Gitは玄人染みていてちょっと嫌。 [ソフトウェア]

リモートからブランチを取ってきてローカルにブランチを作ろうとする。
git checkout -b hogehoge origin/hoge

とかした時にfetchしていないと古いソースを取ってきちゃうみたいね。

なんかおかしいなと思ってgit pullしたらまたぞろソースがアップデートされたので
git fetchもそれなりにしないとだな。

どこかでgit pullはgit fetch + git mergeと言われていたけど、git fetch状態になるのは、そのpullしたブランチのみの話で、いわゆる追跡ブランチはfetchしてくれないみたい。
git pullは最新化された元のブランチとマージするだけのもので、いわゆるgit fetchは行っていない。


あと、git addしていないソースの変更が、git checkoutするとチェックアウト先に反映されてしまうのが大きなお世話だなぁと思っていたけど、状況によっては使い道があることが分かった。これは一般的かどうか知らないけど、git pushから除外するけどローカルでは使うソースの改変、というものがあった場合、他のブランチでも使うのでわざわざ他のブランチに反映しなくても、自動的に改変を維持してくれるというものがありました。

とりあえず、今地味に便利だったので、どういう風に使うかはわからないけど、変だと思う仕様にも意味があるのかなぁと思ったりしました。特にGitは使う人によって多少ブレがあって、運用によって使ったり使わなかったりする機能が多いので、玄人向けのツールではある。


追跡ブランチでググったら、ややこしいので「リモート追跡ブランチと呼ぶようにしましょう」とあるけど、追跡ブランチですでに名前が通っている気がするんだけどなぁ。

https://qiita.com/uasi/items/69368c17c79e99aaddbf

開発しているうちに利用の仕方が変わって、用語まで変わってしまうのはちょっとしんどいなぁと思うわけで。そういう概念を知っていないと操作も正確にできないソフトっていうのも敷居が高くていやんな感じである。多くの人が定番の使い方しかしなくなりそうではある。

コメント(0) 

コメント 0