Git
git diff で コミット間に変更されたファイルの一覧を取得する方法を確認したのでまとめておきます。 方法 --name-only オプションをつけることで変更があったファイル名だけ出力できます。コミット間はコミットのハッシュ値を「..」で繋げることで指定でき…
GitHub ActionsでPowerShellを実行する方法を調べて、サンプルコード書いたのでまとめておきます。ワークフローから直接実行するパターンと、ps1ファイルを実行するパターンがあります。今回まとめてみて分かったことは、書き方によって実行されるPowerShell…
git rev-parse --abbrev-ref @ というコマンドを見かけて、「rev-parse?」「--abbrev-ref?」とちんぷんかんぷんだったのでrev-parse コマンドについて調べました。ちなみに、git rev-parse --abbrev-ref @ を実行すると、現在のブランチ名が取得できます。…
はじめに GitHub Enterprise 3.0.0 で GitHub Enterprise にもGitHub Actions が搭載されました。これをきっかけに勉強を始めていきます。 docs.github.com今回はGitHub Acionsで Windows + Visual Studio + C# + nunit でビルドからテストまで実行してみま…
cloneするほどではないけど、GitHubのコードを確認したいときに使える便利方法「1s」を知りました。ブラウザ上のGitHubのコードがVisual Studio Code(VSCode)の見た目と操作方法に変わります。しかも、インストール不要。github.com 操作方法 1.GitHubのリ…
別ブランチの特定のコミットだけを取り込みたいことはありませんか。そんな時に使えるコマンドが git cherry-pickです。git cherry-pickは特定のコミットだけを取り込めます。 git-scm.com今回の検証に使ったgit version は 2.28.0 です。 変更を取り込む gi…
git 2.28でgit statusにsparse checkoutのレポートが追加されました。sparse checkoutは過去に記事を書いていますが、リポジトリの一部のディレクトリだけをチェックアウトするコマンドです。不要なオブジェクトを除外してダウンロードできるので、大きなリ…
以下の記事で紹介したPartial Cloneとgit sparse-checkoutコマンドの組み合わせが、git 2.27 から使えなくなっていました。自分の記事を参考に同じ手順で進めても成功しなかったので気づきました。本記事はgit 2.27 以降で同じようなことをする解決策をまと…
push前のブランチを消してしまったり、間違ってresetしてコミット消えたり、したことありませんか。そんな時に使えるコマンドがgit reflogです。git reflogはローカルブランチに対する操作履歴が見れます。その確認した操作履歴から間違う前の操作まで戻れま…
大きなリポジトリを扱うときにリポジトリの一部だけcloneしたい時があります。そんなときに使えるコマンドがgit sparse-checkoutです。Partial Cloneとgit sparse-checkoutコマンドを使うとリポジトリの一部ディレクトリだけcheckoutできます。 Partial Clon…
Your local changes to the following files would be overwritten by merge: The following untracked working tree files would be overwritten by merge: この2つのエラーを対処する方法
開発中、最新の環境にしたくてPullしたとき、競合することはありませんか。または急ぎで別の開発を頼まれて今の変更をコミットせずにおいておきたいことはありませんか。そんな時に使えるコマンドがgit stashです。git stashは現在の変更点を一時領域に退避(…
前回の記事はgit bisectを紹介しました。 iucstscui.hatenablog.com今回は同じくバグ調査に役立つgit blameです。 git blameは変更された行の情報(コミットのハッシュ値や更新者)を確認するコマンドです。誰が変更したか分かれば変更の意図などを確認できま…
開発をしているといつの間にかバグが混入することがありますよね。混入タイミングが分からない場合はとりあえず正しく動く時期のコミットを見つけて、バグが発生するまで地道に調べていくと思います。そんなときに使えるコマンドが git bisect です。 git bi…
テレワークが始まって家で仕事される方も増えましたね。家のネット環境が弱くてgitのcloneが遅いという声を聞くことがあったのでcloneを早くする方法はないかと調べました。 shallow cloneで取得するコミット数を減らす git-scm.com取得するコミット数を減ら…
git checkoutは「指定ブランチに切り替え」と「指定したコミットのファイルをワーキングツリーに復元」ができる機能を持っています。「指定ブランチに切り替え」は git switchでも行えるようになりました(git switch でブランチの切り替え - はんなりと、ゆ…
git でブランチを切り替えるには "git checkout"を使っていましたが、 Version 2.23.0 から"git switch"が追加されました。 git checkoutはブランチの切り替えと、変更の取り消しの二つの機能として使えるコマンドでした。それゆえ、少し違和感のあるコマン…
gitで追跡されていないファイルを再帰的に消したいけど、消せない場合があってgit cleanを調べました。 git cleanとはgitで追跡されていないファイルを削除するコマンド です。 公式ドキュメントはこちら Git - git-clean Documentation git clean に関する…
Gitで別ブランチのフォルダを取得する際に迷ったのでまとめておきます。 git checkout で取得できる git checkout で取得できるのはファイルだけだと勘違いしていて、調べるのに時間がかかってしましたが、フォルダーも同じように取得できました。 git check…