"musubi"

プログラミングに関する記事を1日1つ挙げていく予定であります。

gitコマンドまとめたいマ~ン!

こんばんは!

これで2日は続いてますね!えらいぞ~!(⌒∇⌒)

 

ほんとはですね、業務でやったプログラミングやら、wordpressの使い方やら今日知ったExcelで楽する方法、linuxについて、puppeteerとかいろいろシェアしていきたいんですが

話したいこと、やってみたいことがありすぎて順番ぐっちゃぐちゃです...( = =) 

 

もしこんなん知りたいよーとかいうリクエストが来たら、やります。

コメント来たらめちゃくちゃ喜んでやります。人間だもの。 むすを。

 

茶番はおいといて、今日はgitコマンドについてです。

gitはプログラムのソースコードを管理するシステムですから、ソースコードを上げたり持ってきたり…と色々処理があるわけです。

(…まぁぶっちゃけtortoisegitに任せちゃえば視覚的に何でもできちゃうんですけどね…)

 

今回は本当によく使うコマンドを書いていきます。

(ちなみにgitを使うための方法は省くよ!笑)

私は、打つ場所もわかってなかった人間なので、一応伝えておきますが、これらのコマンドはgit bashで使ってみてな!

gitbashのインストールの仕方は明日にでも教えたろう!

まずはモノだけ教えたろうもん。

レッツゴ~!!

 

ソースコードをもらう

$ git pull

 git上にあるソースコードをくれくれするコマンド。

$ git pull -p を私はよく使うけど、-pってのは、linuxのコマンド。

存在しないディレクトリも作ってくれる。

linuxってなんやねんって人。私もわからんのや。git bashのインストールについて上げた次の日でもまとめるYO。

 

ブランチを切る

$ git branch

 開発する時にブランチを作るのは絶対必要。

開発するとき、開発をする環境(個人のPC内)、テスト環境、ステージング環境、本番環境といったように、環境を分けないといけない。

それぞれ、環境ごとに役割があるわけだ。

  • 開発環境:ソースコードを書く
  • テスト環境:テストをする
  • ステージング環境:デグレが起こっていないか確認する
  • 本番環境:実際にお客様が使われる

ブランチ(枝)を切らないまま使うと、もらってきた場所に上書きすることになって、最新版が欲しいけど、製造もしてるんだがって時につらいよ。

f:id:musubimusubipurasu:20200525215514p:plain

3人がコードをあげます

上げるのは問題ない。

もらうときに、branchがないと…

f:id:musubimusubipurasu:20200525220303p:plain

自分の修正分ともらってきたデータが違うからconflictが起きちゃった

Bさんは、すぐに最新版のソースを受け取ることはできません。

競合を解決しないといけないからです。

それは、ソースを見ていけば分かるけど、いちいちそんなことしてるのめんどくさいよね。回避できるなら回避しときたいよね?branchつくっとこ?

製造しているコードと、最新版のコードのファイルが被っているときは、conflict(競合)が起きるので、製造を始める前は必ずブランチを切っておこう!

製造入るだいぶ前に切ると、また最新版とってくる必要があるので、製造直近で切ったがええでよ。

 

マージする

$ git merge <commit>

 

マージのイメージは、合体!

自分のブランチ内で開発する時は、これでおっけーです👌

大人数での開発の時は、マージリクエストを出すよ!

なんでかって?

出てきていきなり合体されたらびっくりするじゃん!

↑死ぬほど雑すぎて泣ける

要するに、他の人にコードが問題ないか見てもらうんですわ。

動かないコードがあったり、リファクタリングができてなかったりするものを本場環境には入れたくないからね!(メンテとか面倒だから)

ここで、他人がOKかNGかを出してくれるわけです。

 

ソースコードファイルをコミットする

$ git commit . 

 

コミットってのは、合体!ってイメージでいいと思います。

これは、自分が作ったものをブランチに合体させること。

ブランチを切らずにしちゃいけないやつだと思います。

conflictになる未来が見えてくる…。

開発にかかわっている人が多くなればなるほど大変だから、ブランチをちゃんと切ろうね…

 

gitに上げる

$ git  push .

 

はい。これでgitに上がります。

commitしたら、pushしましょうね。セットです。

イメージとしては、自分が作ったガ〇ダムを合体!させて、イケー!と出撃させているような感じ。

出撃するまでは、誰からも見えてない。ヒーローはカッコ悪いところ(コード)なんて見せないものだからね…。

はい、意味わからんことは置いといて、commitしたらpushする流れを覚えとこう

 

あとは、マージする必要があるんだけど、git labやgit hubを使ってるんなら、

マージリクエストのボタンを押して、あとはちょちょいのちょい。

詳しくはまたいつぞや上げるけど、すぐできる。

 

gitしか使わねぇって人には、git commit、git pushはいらないね。

 

まとめ

 

【gitオンリーで使う人】

①$ git pull(自分が持ってるコードが最新版なら①飛ばしてもいい)

②$ git branch(1人なら別に②飛ばしてもいい)

③$ git merge <commit>

 

【gitのオンライン上サービスを使う人】

①$ git pull

②$ git branch

③$ git commit . 

④$ git  push .

⑤マージリクエスト(git labまたはgit hubで)

 

楽したいならオンライン上サービスのgitlabやgithub使ったがええです。

更新履歴やらなんやらがすごくわかりやすい。視覚的に見えるってとても大事。

あと、gitのコマンド打つのがめんどくさいぜっていう人は、tortoisegitとか入れると便利だと思います。

tortoisegitを入れると、コマンドとか考えずに何でもできます↓

f:id:musubimusubipurasu:20200525222004p:plain

gitのコマンドいちいち調べるのめんどくさいわって人は、ぜひ使ってみて下さい。

まぁ大概のエンジニアは入れてるんだろうけど、知らない人もいるかもしれないからね。

 

今回は、ざつにコマンドをまとめました。

めちゃくちゃ使うのだけね。

ちょっと調べりゃわかることでも、実際説明してみるとわかってないこととかあるので、gitについてもやっぱり知っておいて損はないんだろうなぁ…と思いつつも、新しい技術のほうが調べるの楽しいよね。仕方ない。

 

需要ありそうなのは、puppeteerだと思うんだけど話すと長くなるし

環境構築だけでも少したいへんなので後からにします(クロミウムよりましだけど)。

 

長くなりましたが、今日は以上で。

ここまで読んでくれた方ありがとうございました。