👋

Gitの細かいナレッジ

2024/04/04に公開

はじめに

弊社のテックブログでGit関連の記事がありますが、使う頻度こそ低いものの
月1ぐらいの頻度で使うことがあるのでそのナレッジを共有します。

Fork元のCommitをCherry-pickする

  • Fork元のリポジトリを登録する。
    すでに実施済みであれば不要
git remote add upstream <fork元のリポジトリのURL>
  • 実施済みかどうかの確認

    git remote -v
    

    → upstreamの登録があれば登録されている

  • リモートリポジトリの情報を取得する

git fetch upstream
  • cherry-pickしたいコミットのハッシュを確認します。
    これは、git logコマンドを使用してFork元のブランチを確認することで見つけることができます。
git log upstream/<ブランチ名>
  • 確認したコミットハッシュを使用してcherry-pickを行います。
git cherry-pick <コミットハッシュ>

Branch間でのファイル操作

  • 別ブランチのファイルをもってくる
git checkout <ブランチ名> -- <ファイル名>
  • 別ブランチのファイルとの差分を確認する
git diff <ブランチ名1>..<ブランチ名2> -- <ファイル名>

Push したコミットを取り消す

  • 取り消したいコミットのハッシュを確認します。
git log
  • Revertを実行します。
git revert <コミットハッシュ>
  • Revertの内容をpushします。
git push origin -u head

コミットをまとめる

コミットしてしまったけどまだコミットしたい内容が残っていて
追加コミットしたものまとめることで前述したcherry-pickの回数などを減らすことができます。

  • 直近のコミットをまとめる
git rebase -i HEAD~<コミット数>

エディタが起動するので
pickの箇所をsquashに変更して保存します。 squashの箇所はsでも代用可能です。

まとめ

他にもこのようなGit操作便利、実施しているなどがあれば
コメントで教えていただけると幸いです。

Goals Tech Blog

Discussion