GitあれこれとM1におけるRuby環境あれこれ

Github desktopでやってきたことをgitコマンドで

pull

git fetch // 先にリモートの状態をリモート追跡ブランチにコピー
git merge origin/master // リモートのコピーからマージ

を一括で行ってくれる!
リモート追跡ブランチという概念が頭になかったのでしっかりと認識!!

rebase

作業ブランチにあるコミットを一時的に保存、作業 ブランチをリベース先のブランチに git reset --hard してリベース先のブランチと同じ状態にする。その後リセット後の 作業ブランチの上に一時保存していたコミットを乗せます。

git pull ---rebase

mergeの履歴を残さずにpullする
履歴をきれいな状態で作業記録を残したい場合にする。

gitに関するあれこれ

git clone時の2段階認証

過去git clone時に2段階認証が引っかかってcloneできね!!って嘆いてた時がありました。はい自分の調べ不足ですね。
今回の学習でもう嘆くことはありません。

.zshrcとかに環境変数で設定したほうが良いのかだけが不明です。

gitになれるには

github desktopのときもそうでしたが、わざとコンフリクト起こしてとかgitをおもちゃ感覚でいじれるうちにいじりたおす!!

github desktopも最初は何やってるかさっぱりでしたが、使ってるうちに全体像が見えるので、その全体像を見て今自分はどこで何をしているのかと言うのを認識するのが大事!!

rbenv 権限周りで素直に起動せず。

権限

会社で使っていたpcからアカウントごとデータを移行したせいか、権限がそのまま移行されていてrbenvからrubyを入れる際に、homebrew関係の権限が前のpcアカウントのものになっていたため変更。

M1でのhomebrew

M1でhomebrewをインストールする際に認識して置かなければいけないこと。

  1. Rosettaを使用してインストールしてるかしてないか。
    これはfinderから開くターミナルの情報を見るより設定できるのですが、ここにチェックを入れた状態でインストールするかしないかで今後の開発環境準備に大きな影響がある。

  2. アーキテクチャに対する認識
    M1はarmライセンスを受けたアーキテクチャを使っていること。
    そのためか、homebrewを普通にインストールすると/opt/homebrewにインストールされる。
    Rosettaを使用するといつもどおり/usr/local/homebrewにインストールされ

  3. Rosettaについて
    Rosettaロゼッタ)は、特定のアーキテクチャのプログラムコードを持つバイナリを、別のアーキテクチャ適宜変換 (en:Dynamic recompilation) することでバイナリの互換性を維持するAppleの技術 。
    これによってインテルチップのx86_64系でインストールして使えていたものを動かすそうな。

keg-only

Cellar だけにインストールされ、/usr/local にはリンクされていない formula のこと。 これは、ほとんどのツールが当該の formula を見つけることができないことを意味する。
brew link 〇〇 --forceで keg-onlyなbrewにインストールしたいツールのシンボリックリンクを作って解決。

なんとなくで解決してきた事をしっかり調べてみましたが、やっぱりまだよくわからない!!

いつも言ってるけどとりあえず使って徐々に覚える!!!