ゆうきのITとかのブログ

情報系やゲーム、その他色々の

よく使うgitコマンドとか

f:id:m-yuki-711:20180627002937p:plain
お久しぶりです。ゆうきです。生きてます。。。

最近使ってるgitコマンドなんかをまとめました。
知り合いの人とかには覚えてほしいなーと思ってメモ書き程度ですが書きました。
たまたまたどり着いた人もゆっくり見てってくださいな。

よく使う&&必須

・gitリポジトリをクローンする(ローカルにコピーしてくるイメージ)

git clone htt://---/---.git

・ローカルgitリポジトリの現在のブランチを最新化してローカルブランチにマージする(理解できるまでは使わなくてもいいかも)

git pull  

・変更されたファイルをステージする(ステージ=gitリポジトリに登録しますよと明示するイメージ)

git add [.][-u]  

・ステージされている変更をブランチにコミットする(コミット=ブランチに変更を実際に登録するイメージ)

git commit -m "コメント"  

・現在のブランチをリポジトリ名"origin"のリモートリポジトリにプッシュする

git push origin ブランチ名(head)  

・リモートリポジトリの変更をローカルリポジトリに反映する

git fetch [リポジトリ名][ブランチ名]  

・現在のブランチに指定したブランチをマージする(マージ=過去の変更の差分を取り込むイメージ)

git merge ブランチ名  

・現在のブランチのコミットログを確認する

git log  

・git logで確認したコミットIDまで変更を戻す

git reset コミットID  

・現在のファイルをブランチの状態に合わせる

git reset --hard  

・ブランチを切る(下記の場合、origin/ブランチ名Bからブランチを切って、名前をブランチ名Aとするという意味)

git branch ブランチ名A origin/ブランチ名B  

・現在のブランチからブランチを切って、名前をブランチ名とするという意味

git checkout -b ブランチ名  

便利

・差分の確認で使用(ファイルだったり、ブランチだったりいろいろ比較できて便利。。。だけどdiffコマンドのほうが優秀な時もある)

git diff  

・現在の変更(コミットしていないもの)をスタッシュする(スタッシュ=セーブみたいなもの。popでロードできる)

git stash [pop][list]  

・リモートリポジトリを追加する(基本は使わないが、二つ以上のリモートリポジトリを扱うときに追加する)

git remote add リポジトリ名 htt://---/---.git  

・コミットIDの変更差分を現在のブランチに反映する(--no-commitでステージされた変更がコミットされないようにしている)

git cherry-pick -m 1 --no-commit コミットID  

・未追跡ファイルを削除する(変更ではなく、ファイルを追加したときなんかは未追跡ファイルとなる。git add .などで追加)

git clean -f  

まとめ

このあたりがあればとりあえず簡単な業務くらいはよゆーでこなせます。
よゆーデス(*`ω´)b
よく使う&&必須の部分をまずはマスターしましょう!

Ruby on Railsの勉強中に思ったことのメモ書き2

もう、転職したくなってきたので、ペースをあげます。

本日のRailsで思ったこと

  • params:便利かよ
  • params.require(オブジェクト名).permit(オブジェクト内許可変数)でpermitに指定したもの以外はオブジェクトから削除される。それと同時にpermitedがtrueになる(ようするに許可された状態)
  • requireの代わりにfetch(オブジェクト名, オブジェクトが空の時の返却値)を使用することで、requireの時は空だと例外となったが、例外とせず返却値を指定することができる
  • エアコン(暖房)をつけるとやっぱり眠くなってくる
  • 帰宅して手洗いうがいして飲み物だけ飲みながら帰宅したまんまの服装でPCに向かうと捗るなーっていうこと
  • before_actionTUEEEEEEフィルタ処理がこんな書き方で分けれるのは強い・・・アクション内に記述しなくて良いのがよい
  • session[:変数名]でアクセスできるというなんということでしょう。こんなに簡単に呼び出せるなんて・・・

早く何か作りたいなと思う今日この頃。

Ruby on Railsの勉強中に思ったことのメモ書き1

・webの仕組みの知識が足りない
 <- 勉強して

rubyは思ったより学習始めは難しい・・・というか慣れなそうだなと思った
 << やってれば慣れそう

railsコマンドすごい、javaのめんどい所とか全部吸収してる。これでIDEじゃないとかすごすぎ
 << まじですごい

Mavenは書くこと多くてあんまり書く気にならなかったけどGemfileは記述簡単
 << Gemfile 'pry-rails' とかで終わりとか信じられん

ruby, bundler, rails・・・って感じでなんかポンポン入れてくだけでできるのがすごい
 << javaだとパス通したりtomcat入れたり設定したりあっち行ったりこっち行ったりなのに

URIの整理がめちゃくちゃ楽そう・・・javaなんて管理方法なんてあったか?
 << 仕事ではExcelか実装のパスを確認するしかなかった。railsを深く知りすぎると戻れなくなる可能性

・早くAction Cableやってみたい、socketの使い方学ばなきゃ
 << これは急務

・ちゃんと本買ってその通りやってみるってあんまりやってこなかったけどやっぱいいよね
 << 発売日も割と最近のだとより動きやすい

・土日を無駄に過ごさないってことは素晴らしい、今度は勉強会にも行ってみたいところ
 << なおハードルは高い

まとめ

とりあえずjavaやってる身としては天国かと思うような管理システムが見えましたって事ですね。仕事もrailsの仕事やって見たいですね・・・

一人突っ込み方式はメモだし悪くない気がした。

仕事で使ってるSpring Bootを家でも使えるようになりたひ。。。(Hello World!編)

結局ブログ作ってからまるで書いていなかったのですが、お久しぶりです。生きてます。

今回はタイトル通り、「仕事で使っているSpring Bootを家でも使いたい」と思ったので、とりあえずHello Worldをやってみる。

まずはEclipseからSpring Starter Projectを作成。 とりあえずコントローラを作ろうとした時に早速@Controllerと入力してから問題が。

Eclipseの自動インポートが機能しない。。。 悲しいですねー、こちらはもう少し後で調べてみます。

こちら参考になりました。
Spring Bootプロジェクトを新規作成してからHollow Worldを出すまで - Qiita

上のページでSpring Starter ProjectでWebを選択するところ。 自分の知っている機能が動かず一苦労したけどWebに入っていたんですねって感じ。知識不足。 あとは、自動インポートが動かないので、import文助かりました。。。

環境構築の難しさ(めんどくささ)は異常。

今回苦労したのは

  • 何故か自動インポートが動かなかった
  • アノテーションが使えなかったから(インポート先なんて覚えていなかった)

Controllerが作成できればあとはMavenのInstallをしてSpring Boot Applicationを起動。あとはlocalhost:8080に繋ぐだけで無事Hello World!

まとめ

目標としてはjava-tomcat-nginxの構成作ってAWSSQSとか使ってみたいかなっていう感じ。

仕事で使ってるとはいえ、0からの構築なんかはやらないから色々大変で学ぶことはありますね。

このブログの記事は基本的にはメモみたいなもので有益な情報を流す感じではないですね。なにせ言葉にすると"Hello World!をした"というだけだしね。

AWS無料枠内でGitとかGitLabとか立てようとした時の話

AWS無料枠内でGitサーバーを立ち上げた時の話

ちょっと必要になったのでAWS無料枠内でGitサーバーを立ち上げて見たのだが、そこで少しつまづいたのでブログに残す。

CentOS7の仕様及びAWSの知識不足

原因はまぁ大半これですな。インスタンスタイプt2.microにOSはCentOS7で立ち上げた。
その後Gitサーバーに必要なものをいれていったのだが、Gitのユーザーを作った時点で思ったことがある。
それは他の人も使う想定にする場合秘密鍵が別途必要ではないか。
今思えばユーザーのアクセス制御を整備したりすれば対応できたのではないかと思う。
しかし当時はGitユーザー用の秘密鍵作らなきゃ!と思っていたので、そこでつまづいた。

AWSのCentOS7で新しく作った秘密鍵認証ができない

なんということでしょう。詰んでしまった。
新しい鍵を作ってユーザーごとに鍵は指定したのにうまく認証ができない・・・

結局Amazon Linuxを使った

AmazonLinuxを使用したらあっさり認証が想定通り動きました。
おそらくどこかしらの設定の変更が必要だったりすると思うのだが、知識が足りなかった。
そして立てたGitサーバーは特に使っていないという始末に終わったという・・・

GitLabはそれなりのマシンスペックが必要

そもそも当初はGItLabを使用しようと思っていた。
というか、それで進めていて立ち上げまで上手くいった。
しかしいざ運用していこうとなった時にレスポンスがひどく遅く、500エラーが返ってくることもしばしば。
推奨スペックを確認していなかったのが悪いのだが、確認をしたら推奨メモリが4GBとなっていた。
t2.microの割り当てられたメモリは1GB。
とても快適に動くものとは程遠く、GitLabをAWS無料枠内で運用するのはナシとなった。

結局得たものは?

open-sshの基本らしい所とGitサーバーなるものがあること。
それにGitLabはなかなか要求スペックがあるということ。
あとは.sshのconfigを使うとssh接続をする時にエイリアス的なことができること。

夜中から早朝にかけてやったにしてももう少し得るものがあってよかった気がする。

ブログ始めました

ブログ始めました

ブログ始めました

書くのはIT関連だったりゲーム関連だったりその他色々という感じです。
実は上の二つのブログ始めましたはただ間違えているのでは無く、マークダウンの#とh1タグの比較でした。
こんなくだらないことから書いていくのでよろしくお願いします。