かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

git

Git squash merge された PR に依存する PR を Fast Forward に rebase する Tips

ある PR A の変更に依存した PR B を作った時、main ブランチに squash マージする戦略のリポジトリだとマージされた PR A のコミットは 1 つになっており、RR B のマージ先が main に向いた時、コミットの履歴が異なるので PR A のコミットがそのまま表示さ…

Git merge commit を残して rebase したい

git

`--rebase-merges` (`-r`) オプションを使う

Mac M2 Git と Node.js 環境のセットアップ

2017 年から使ってた Intel Mac ちゃんにお別れして新しい M2 Mac Book Air に買い替えてクリーンインストールしたので開発環境を再構築下のメモ ※ これは Zenn にメモしてたものを再録したただけの記事です 環境 Mac Book Air M2 (2022) macOS Monterey 12.…

Git リモートリポジトリを変更する時のメモ

git remote set-url origin で変更すればOK ₍ ᐢ. ̫ .ᐢ ₎

Git submodule が最新に更新されない件

$ git submodule update update やし最新に更新されるやろ…っておもったら最新にならなかった。diff をみたら最新でないコミットハッシュからチェックアウトされていました。 なんもわからん… 全 submodule を強制的にする $ git submodule foreach git pull…

Git リモートブランチのチェックアウトがエラーになる時のメモ

PR確認でリモートのブランチにチェックアウトしようとしたらエラーになってチェックアウトできなくなった。 $ git checkout -b feature/foo origin/feature/foo fatal: 'origin/feature/foo' is not a commit and a branch 'feature/foo' cannot be created …

Git ログのツリーをいい感じに見れるエイリアスを設定したらいい感じになった!

Git で logを見る時に開発中は git log --oneline でほぼ事足りていたのですが、 色々やるようになって tree 表示 GUI だと遅いのでターミナルでいい感じに表示したくなって設定を追加しました。 Git tree をいい感じに表示するエイリアス # 今いるブランチ…

GitHub remote branch が Repository not found になるにハマる

GitHub に新しくリポジトリを作って、README に出てくる通りローカルリポジトリの remote に登録して push しようとしたら Repository not found. なエラーになってしまったので解決方法のメモ。 と言っても状況はそれぞれのマシンの ssh の設定とかで変わる…

環境構築 macOS Big Sur : Git の設定と GitHub への SSH 接続

新しいMacに Git の設定やり直したのを書き忘れてたので思い出しながらメモ。 環境 Intel Mac macOS Big Sur Homebrew インストール済み Git のインストール Xcode の Xcode Command Line Tools をインストールする ターミナルで git --version コマンドを叩…

Git 間違って rebase しちゃったのを元に戻したい

git rebase しくじった時。 私はよくしくじる! git reflog を使う git reflog で直近の変更がずら〜っと表示されるので、戻したい位置を選んでもとに戻すことができる $ git reflog 94677f475 (HEAD) HEAD@{0}: rebase (continue) (finish): XXXXX 94677f47…

Git 直前のコミットメッセージを編集したい

typo の達人なので git commit --amend $ git commit --amend 修正するコミットメッセージを直接渡したいときは $ git commit --amend -m "message" amend … 修正する 英語ちから is 無 だからすぐ忘れる… おわり わかばちゃんと学ぶ Git使い方入門作者:湊川…

Git マージコミットを残したまま rebase したい。

別 PR で機能を取り込んだりしたマージコミットのあるブランチでマージコミットを残したまま rebase したい時のメモ git rebase -i だとマージコミットが消えてしまう e.g. $ git log --graph --oneline * f3084e4 (HEAD -> master) 時はきた! * defc249 ね…

Git 削除されたファイルのログをみたい

チーム開発とかしてると、参照したいファイルが削除されてたりとか結構あります。 GitHub でも削除されたファイルは探すのが困難なので、logからコミットハッシュを探してきて最終状態や削除された経緯を探したい。 git log -- -- キーワードに続けて探した…

Git タグのいろいろメモ

TAG の作成 $ git tag -a <tag_name> # コメント付きで作成 $ git tag -a <tag_name> -m 'comment' TAG の確認 $ git tag TAG をリモートに push する $ git push origin <tag_name> # 一度にpush $ git push origin --tags TAG の削除 $ git tag -d <tag_name> # リモートのタグを削除 $ git push or</tag_name></tag_name></tag_name></tag_name>…

GitHub リポジトリ名を変えた時にすること

パッケージ名が被ってて使えなかったとか、名前がイケてないとか、GitHubのリポジトリ名を変えたいことが時々あります。 リポジトリ名の変更自体は GitHub のサイト上からカンタンにできるのですが、変更すると local のパスが変わってしまうので、パスを合…

Git リモートのブランチが先に進んでpushできなくなっているのをどうにかしたい。

複数人で同じブランチに手を入れていて、手元のブランチで変更をコミットして push しようとしたらリモートのブランチが force push とかで先に進んでそのまま push できない状態になっている時の対処方法のメモ --rebase オプションを付けて pull する $ gi…

Git fast-forward な状態にして update branch で master を取り込んだ commit を残さずに済むための git rebase

`$ git rebase ` で現在のブランチを親ブランチの先頭 (HEAD) から生えている状態にすれば fast-forward な merge ができるようになる。 GitHub の様なリモートリポジトリの場合は `$ git rebase origin/master` とすればOK

Git 空コミットしたい

最初のコミットが rebase しづらいから最初のコミットを空コミットにしたかったり、CI 回すテストしたいから空コミットで push したいような時のアレ。 --allow-empty オプションを使う $ git commit --allow-empty -m :sparkles: (完) ノンプログラマーなMa…

Git 削除されたファイルを探したい

Railsのプロジェクトでrakeタスクが作成されてproductionに反映したからタスク削除済み。local環境に反映してなくて削除されたファイル探したいという事が頻繁にありGitで削除されたコミットを見つけてくる必要があったのでやりかたのメモ 削除されたファイ…

GitHub PR のコミット順がローカルの log と違う件

git rebase で --fixup や --squash したり、コミット順を入れ替えたりしたブランチで PR を出すと、PR内や Commits タグで表示されるコミットの並び順がローカルのリポジトリで git log --oneline で表示した順番と違っていることがありました。 GitHub の …

Git ブランチ名を変えたい

git

ブランチ名が合ってないとか、タイポってるとかでブランチ名を変更したい時 今の作業ブランチ名を変更 $ git branch -m <new_branch_name> ブランチ名を変更 作業ブランチではない別のブランチ名を変更する場合は 対象ブランチ 新しいブランチ名 で指定する $ git branch -m <old_branch_name> <new_branch_name></new_branch_name></old_branch_name></new_branch_name>…

git 設定(config)内容を確認したい。

git

お仕事のリポジトリは社用の名前とメールアドレスにしてたかな?と、ふと思いgit configに設定した内容ってどうやって確認するんだったっけ?と忘れてたので備忘録 git config --list --listオプションで設定内容を確認できる。 ショートコマンドは-l $ git …

git コミットログを綺麗にしたい。fixupとsquash

git

チーム開発をしているプロダクトで タイポを修正しただけとか、コミットログが本当にただの履歴になっているままPRをだしたりしてmasterにマージされてしまうとmasterブランチに本質ではないコミットというノイズが混ざり、後から遡って見づらくなったりして…

Git ファイル名の大文字・小文字の変更が感知されないにハマる

git

Macのローカル環境だと画像のsrcで小文字でファイル名を指定していて、実際のファイルが大文字になってても表示されちゃったりするので、 うっかりPhotoshopとかでファイル名大文字にしてて大文字のまま画像書き出してコミットしちゃって、本番サーバーでpul…

Mac OSX High Sierra 開発環境セットアップのメモ (1) git homebrew ssh

新しいMacちゃんの開発環境とかのセットアップのメモ Finder 不可視ファイルの表示 macOS Sierraからはターミナルでコマンドを打ち込まなくてもcommand+shift+.ショートカットをFinderで実行すれば不可視ファイルの表示/非表示が切り替えられるようです macO…

Git 過去の特定のコミット位置からブランチを切りたい

git

git checkout -b で特定のコミット位置からブランチを切ることができる!(∩´∀`)∩わーい

Git log 指定日からの作業内容をテキストファイルに出力したい

git

日報とか週報とかの提出を求められる時、いちいちテキストを書くのがメンドーなのでgit logをテキストファイルとして出力したいと思いました。 1. 今日とか1週間とかの git log をいい感じにして表示する 1週間分の自分のコミットを [YYYY-MM-DD] ハッシュ: …

Git 変更のあるファイルの一部だけをコミットしたい。

git

ファイルを色々変更してしまったけど、コミットは別にしたいという時はgit add -p を使うと、変更の塊(Hunk)ごとにステージにaddすることができるので便利!

Git Submoduleのディレクトリを変更したい

サブモジュールのディレクトリを変更するのにハマったのでメモ。 EX 環境: git version 2.12.2 サブモジュールの追加 $ git submodule add git@my_module.git 追加した my_module を vendor/my_module に移動させたい。 1. ディレクトリを変更する方法 .gitm…

Git 除外したディレクトリ内の特定のフォルダをgit管理したい。

git

.gitignore /var |-/log |-.gitkeep 上記のような構成でvarディレクトリ内のファイルはgit管理から除外したいけどlogディレクトリは空フォルダでgit管理下に置きたいような場合 /var/* !.gitkeep 上記のように単に!.gitkeepとするだけではlogフォルダ自体が…