Just do IT

思うは招く

Git

git fetch してリモートリポジトリの変更確認だけしたいときの方法

Git

結論 リモートリポジトリの変更を確認だけしたいとき。 # リモートリポジトリの変更履歴をローカルリポジトリに持ってくる git fetch # これでリモートリポジトリの変更確認ができる git log origin/master --oneline --graph 詳しく git fetch(git fetch or…

git デフォルトブランチ名を main にする

Git

git initすると自動でブランチ名をmainにしてほしい。 git config --global init.defaultBranch main

ローカルがmasterで、リポジトリがmainのときにGitHubへpushする方法

やりたいこと GitHubにリポジトリを作って、ローカルからpushしたい。 状況 ローカルでrails newをして作ったメインのブランチ名がmaster ただGitHub上でリポジトリを作るとリポジトリ初期化のコマンドはメインのブランチ名がmainになっている …or push an e…

【Mac】Homebrew で git をアップグレードする

Git

brew update brew upgrade git

git pull をすると出る warning: Pulling without specifying how to reconcile divergent branches is discouraged の対処

Git

$ git pull をすると以下の警告が出る。 warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git config …

複数のコミットを git revert したい

Git

結論としては、 revert したいコミットをとりあえず revert していく rebase -iをして、revert をしたコミットをまとめる という解決が妥当なところかもしれない。 ただし revert する個数にもよるので、そこはチームの git の運用方法に従ったほうがよさげ…

git log で表示するログの数を指定したい

Git

たとえば最新のログ10個を表示したい場合 $ git log -n 10 --oneline 普通にgit logをしてしまうとたくさん表示される。revert や rebase -i をするときなんかに便利。

直前のコミットを削除したい

Git

git reset --hard HEAD^ [Git]コミットの取り消し、打ち消し、上書き - Qiita

コードやファイルを削除する系のコミットメッセージは delete か remove どちらを使えばいいか

Git

どちらも似たような意味で迷っていたので、Rails のリポジトリを見てみたらremoveが使われていた。 https://github.com/rails/rails/pulls?q=is%3Apr+is%3Aclosed+remove+ 参考:Gitのコミットメッセージの書き方 - Qiita

プルリク(PR)を出した後にリモートのブランチ名を変更したい

やりたいこと PRを出したあとに、「やべ、ブランチに入れた Issue 番号間違えてた」みたいなとき、リモートブランチの名前を変更したい コミットの内容は変えずにただブランチ名だけを変えたい 方法 たとえば、fix-issue-#1ブランチを作ったけど、本当はfix-…

git でリポジトリ管理をやめる

Git

gitでリポジトリ管理をやめるには.git/を削除する やりたいこと:git でのリポジトリ管理をやめたい・削除したい・git initを取り消したい。 rm -rf .git/ これでリポジトリ管理を中止できる。 git 管理をやめる - Qiita

git pull origin master → Couldn't find remote ref master エラーを解決

問題 git pull origin masterをすると、以下のエラーが表示される。 fatal: Couldn't find remote ref master 「リモートにmasterブランチは存在しません」という意味のエラーだ。しかし、GitHubには確実にリポジトリは存在している。 解決 GitHubの仕様変更…

git rebase -i の使い方と手順

Git

git rebase -i で何ができるの? なんのために使うの? git rebase -i 手順例 応用編 push するときは rebase -i を中止したい 感想 参考 git rebase -i で何ができるの? 複数のコミットを1つにまとめられる コミットの履歴を変更できる -i は --interactiv…

git rebase を取り消す

Git

rebase 周りでミスってしまったので、解決方法をメモする。 事の顛末 ref-books から派生した amazon-api ブランチをつくった PRを出すときに master を rebase してしまった ← ミスった 本来は ref-books を rebase して push すべき 解決 reflogはその名の…

git push origin master の意味

Git

git の勉強中によく見ることになるコマンド第一位のこちら。 git push origin master あらためて、これは一体どういう意味なのか振り返ってみた。 push ローカルのコードをリモートリポジトリに送る origin リモートリポジトリの保管場所名を省略したもの ma…

git stash の使い方

Git

どんなときに git stash を使うのか? 「今この Issue やってるけど、この前出したプルリクのレビューがきた。少ない修正なので、そっちをすぐやってまたプルリクを出したい。」 Git では、今いるブランチで変更を加えてから別のブランチへ移動すると、その…

git rebase の動作をイメージで理解する

Git

git rebase がわかりづらいので、図解して整理した。(わかりやすさを重視したので、正確には違う点もあるかもしれないがご勘弁を) たとえば、あなたは feature ブランチをつくり、新しい機能を開発し、いくつかコミットをしたとする。 git checkout -b fea…

レビュー中のブランチに依存する機能を新たに開発したい場合の対処

こんな状況のときはどうするか? ブランチA で機能を開発し、PRを出した ブランチA はまだマージされてない でも、ブランチA の機能が実装されている前提で新たな機能を開発したい この場合、ブランチA から新しくブランチB を切る。 では、ブランチB のPRを…

他メンバーが開発中のリモートブランチをローカルに持ってくる方法

やりたいこと 他のメンバーが途中まで作業した GitHub のリモートブランチをローカルに持ってきて開発を進めたい 先輩が開発中のブランチを勉強のためにローカルに落としたい 方法 まず、fetchでリモート追跡ブランチを最新の状態にする。 git fetch これで…

Git で空コミットを作る方法

Git

以下コマンドで空コミットを作ることができる。 git commit --allow-empty -m "first commit" しかし、「意味のない空コミットを含めていいかどうか」は、チームの方針によって変わるのでその都度確認するべき。 first commit を修正する方法は以下の記事が…

まだ push してない直前の git commit を取り消してステージング状態に戻したい

Git

直前のコミットだけを取り消して、変更内容はそのまま残し、ステージング状態に戻したい場合。 # --softオプションを使う git reset --soft HEAD^ 直前のコミットも、変更内容も取り消したい場合。(使用注意) git reset --hard HEAD^ [Git]コミットの取り…

git rebase からの push --force-with-lease

Git

PRを出す前に rebase して、安全に push する方法。 以下は開発ブランチ上(feature branch)ですべて行う。 #開発ブランチに最新のリモートリポジトリをリベースで取り込む git pull --rebase origin master #リモートリポジトリに安全にpushする git push …

空のコミットをして Draft Pull request をつくる

参考:Gitの最初のコミットは空コミットにしよう - Qiita $ git co -b draft-pr-test Switched to a new branch 'draft-pr-test' $ git commit --allow-empty -m "空のコミット" [draft-pr-test adb49e8] 空のコミット $ git push origin draft-pr-test あと…

git リモートリポジトリの更新があったかどうかを確認したい

Git

gitのリモートリポジトリの更新を確認する - Qiita でいろいろ紹介されている。 個人的には以下コマンドが使いやすく感じた。 $ git remote show origin ~ ~ Local ref configured for 'git push': master pushes to master (local out of date) 最終行に「l…

gitのcommitメッセージを間違えたときに修正する方法

Git

「やべ、コミットメッセージをタイポしちゃった」てなとき。 --amendオプションを使う。 $ git commit --amend -m "修正したメッセージを入れる" するとこれで最新のコミットのメッセージが修正できる。 コピペ用に。 git commit --amend -m "" Gitでcommit…

まだgit addしてない状態で変更を取り消して、最新のコミット状態に戻したい

Git

やりたいこと 今作業している変更を取り消して、最新のコミット状態に戻したい 「うわ、この変更まずいかも?前のに戻したいなぁ…」 「ちょっと試した変更、微妙だったわ。戻そ」 「やば、間違えてこのディレクトリ消しちゃった!」 みたいなとき、どんなgit…

git でタブ補完する設定方法

Git

MacOSでもLinuxでも共通する方法。 設定に必要なファイルをまずダウンロードする。 curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash もしかしたらLinuxだとcurlコマンドが入って…

GitHubのリモートブランチをローカルブランチにpullする方法

結論 ローカルブランチを作りチェックアウト、以下を実行する。 git pull origin リモートブランチ名:ローカルブランチ名 例 たとえば、 リモートブランチ名: test ローカルブランチ名: test の場合。 git pull origin test:test リモートブランチ名とローカ…

git push.default の意味と設定方法

Git

安全にGitHubへpushしたい 開発チームに迷惑をかけたくない 怒られんの絶対イヤ 理解してないまま使うの怖い といった思いで、gitのpush.defaultについて設定を必死で調べた。 GitやGitHub関連は本当に気をつけないと、ひとつのコマンドでおじゃんになってし…

git でローカルのブランチ名を変更する方法

Git

現在のいるローカルブランチの名前を変える。 git branch -m <新しいブランチ名> 名前を変えたいローカルブランチにいないとき(masterブランチにいるときなど)。 git branch -m <変えたいブランチ名> <新しいブランチ名> やってみる。 # testブランチを作…