tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

2020-04-01から1ヶ月間の記事一覧

git pull --rebaseについて

(リモートリポジトリからローカルにcloneもしくはpullしてきた) masterブランチから作業ブランチを作成し開発後、その作業ブランチをリモートにpush、(リモートのmasterブランチにmergeするために) pull requestを出す際、リモートのmasterブランチで他の開…

git merge origin/master

git merge origin/masterは現在checkoutしているブランチにリモート追跡ブランチのmasterブランチをmergeする。 git fetchを行ってリモート追跡ブランチを最新にしておく必要がある。 git pull origin masterを使うとローカルのリモート追跡ブランチをリモー…

【ruby】配列への要素追加 <<

<<で配列に要素を追加できる。 array = [1, 2, 3, 4] array << 5 p array #=> [1, 2, 3, 4, 5] 文字列の場合破壊的に連結することもできる。 str = "string" str << "XXX" p str # => "stringXXX"

パスを通す

環境変数である$PATHにファイルを実行する際に探すディレクトリを追加すること。 lsやpwdコマンドを打った際、実はそのファイルを実行している。その名前のファイルをPC全体から探していたら時間がかかりすぎる為、どのディレクトリを探したら良いか環境変数…

【Linux】環境変数について

環境変数とはローカルPC全体で使える特別な変数のこと。exportコマンドで一時的に定義することができる。 $ export TEST="This is a test global variable" printenvで一覧を表示できる。 参考 https://qiita.com/Naggi-Goishi/items/2c49ea50602ea80bf015

git commit --amend

直近コミットを修正できる git commit --amend -m "コミットメッセージ" git commit --amendでは直近のコミットを消し去るため,一度リモートに登録したコミットを改変することは絶対にしてはいけない。 リモートリポジトリとの間に齟齬が発生してしまう。 …

non fast-forward

ブランチをマージする際、マージされる親ブランチに変更がある(新しいコミットがある)場合に起きる。 マージの際に新しいコミットができる。 親ブランチに変更がない場合でもブランチの履歴を残しておきたい時はnon fast-forwardを行う。 git merge --no-ff …

Git の 'detached HEAD' 状態でのコミット

git checkout HEAD^やgit checkout <コミットID>でブランチの先頭からHEADが離れる。(このコマンドは前のコミットの内容を確認する際に使う) この状態でコミットするとブランチから切り離された宙ぶらりんのコミットが出来てしまう。その際git branch <新し…

git checkout

指定したコミットに HEAD を移動させる git checkout HEAD<sup>~</sup>2 ワーキングディレクトリを二つ前のコミットの状態にする。(インデックス、コミットの状態は変わらない) detached HEADという状態になる。 指定したブランチに HEAD を移動させる git checkout mas…

git reset, git reflogについて

・git reset --soft コミットID コミットの状態は指定したコミットIDまで戻るが指定したコミットID以降の変更はワーキングツリーとインデックスには残る。 ・git reset --mixed コミットID コミットの状態とインデックスの状態は指定したコミットIDまで戻る…

git HEAD~ git HEAD^ について

HEAD~はコミットを遡って指定する。 ex)HEAD~~ →二つ前のコミットを指定する。HEAD~2も同じ意味。 HEAD^は複数親がいる場合に親コミットを指定する。 ex)HEAD^2→二つ親コミットがある場合の二つ目を指定する。HEAD^^は一つ目の親コミットのさらにその上の…

^ キャレットについて 正規表現 git

正規表現では行の先頭にマッチする文字列を取得できる。 git ではgit reset --hard HEAD^のように使用する。 複数ある親のコミットの中から特定のコミットを指定できる。

git のコマンドについて

git diff →ワーキングディレクトリとステージングエリアの差分 git diff --cached →ステージングエリアとリポジトリとの差分 git diff HEAD →ワーキングディレクトリとリポジトリとの差分 git checout →ワーキングディレクトリの内容をリポジトリの内容に上…

【Ruby】initializeメソッド

initializeメソッドはclassがnewされた際に呼び出されるメソッドで、主にclassのデータの初期化処理を行う。 また、newメソッドに渡された変数も、そのままinitializeメソッドに渡され、initializeメソッドでは引数を元にclassのデータの初期化を行う。 def …

【bash】シェルスクリプトを実行する方法

最初に実行するシェルを指定する #!/bin/bash 次に実行する内容を記述する echo "hello world" 実行権限を変更 $ chmod 755 ファイル名

linux ユーザー管理に使用するコマンド

who →現在使用中のユーザーを表示する cat /etc/passwd → ユーザー一覧を表示 su ユーザー名 → ユーザー切り替え

VSコードで複数行のインデントを下げる方法

option + command + ↓ で複数行を選択してtabキーを押す。

正規表現 []

正規表現の[]は指定の候補の文字で検索できる $grep "hello world[_=]" example/test.txt example/test.txtの中から"hello world_"または"hello world="に該当する文字を検索できる

grepコマンド

Linuxのコマンドでファイル中の文字列を検索する。 $grep [文字列] [検索先] $grep -r [文字列] [検索先] -r オプションでサブディレクトリも検索できる。

シンボリックリンクとハードリンク

【シンボリックリンク】 ・リンク先のファイルが削除、移動、名前変更をされた場合開けなくなる ・iノードで参照する ・異なるファイルシステム常にリンクを作成することができる 【ハードリンク】 ・1つのファイルの実体を複数のファイル名で表せるリンク …

XPath 複数要素の取得について

XPathを取得する際、複数の要素がある時は自動的に配列に格納される。 (divタグ直下に5つのspanタグが存在する場合など) ループ処理で配列から各要素を取り出して処理できる。

Chromeを使ってXPathをコピーする方法

Chromeで [右クリック→検証] で開発者ツールを表示する。 取得したい要素を [右クリック→Copy→Copy XPath]でXPathをコピーすることができる。

正規表現 Ruby %r記法

%r記法を使うと、正規表現内にある「/」や「[ 」などの文字に対するエスケープを省略できる。 /https:\/\/www.aaaa.net\/blog\// %r(https://www.aaaa.net/blog/)

正規表現 Ruby Regexpクラス

/(スラッシュ)で囲むと正規表現オブジェクトを生成することができる。 > /regexp/.class => Regexp

ハッシュの追加

hash = {} #ハッシュ名[key] = valuehash[:hoge] = 1 hash# {:hoge=>1}

正規表現のエスケープについて

メタ文字と呼ばれる特殊な用途で使用される文字にはエスケープ処理が必要となる。 ¥ * + . ? { } ( ) [ ] ^ $ - | / これらの文字はパターンの中で使用されると特別な意味を持つ。そこで単なる文字として扱いたい場合には「¥」記号を使ってエスケープ処理を…

URLパラメータについて

URLパラメータとは、サーバーに情報を送る為にURLにつける変数のこと。 「?」をURLの末尾につけることで「パラメータ(変数)= 値」の形でサーバーに送信する値をURLに含めることができる。 パラメータにはアクティブパラメータとパッシブパラメータの2種類が…