Git

git log で特定の期間のログだけを出力する方法

Git の git log コマンドで期間を絞ってログを出力する方法についてです。 歴史が長くコミットの多い OSS のコミットログを見たいとき等に便利です。

早速結論ですが、以下のオプションが使えるのでこれを利用すると OK です。

特定の日時 以降 のものに絞る:

--after
--since

特定の日時 以前 のものに絞る:

--before
--until

例えば次のように使用します。

Git で管理下にあるファイルのみをステージングする方法

Git リポジトリで、新しいファイルは追加せずに、すでに Git で管理されているファイルの変更及び削除のみをステージングする方法です。 ファイルを選り分けてひとつずつ add するのが億劫なときに便利です。

確認時の Git のバージョンは 2.18.0 です。

新しいファイルは除外して、 Git 管理下のファイルの変更のみを追加する:

Git のリモートリポジトリで削除されたブランチをローカルから削除する方法

Git で、リモートリポジトリで削除済みの不要なブランチをローカルから削除する方法についてです。

早速結論ですが、まさにそのための git remote prune があるのでこれを利用すれば OK です。

git remote prune は次のように使用します。

$ git remote prune [リモート名]

例えば、対象のリモートが origin の場合は次のとおりにします。

git apply を dry run する方法

Git の git apply コマンドを、実際にファイルを変更することなく事前にチェックしたいことがあります。 そういうときに取りうるオプションとしてどんなものがあるかをまとめました。 尚、今回の動作確認には Git のバージョン 2.17.0 を使用しました。

GitHub にリポジトリを追加する方法のパターン別まとめ

GitHub でのリポジトリの作成

GitHub にリポジトリを追加する方法についてパターン別にまとめてみます。

このあたりは Git 歴が短めの方や、 Git には慣れているが GitHub に馴染みの薄い方などには少しわかりづらいところかと思います。 そのような方はぜひ参考にしてみてください。

前提

GitHub アカウントが無いとそもそも GitHub 上のリポジトリは作れないので、 GitHub アカウントがあることを前提とします。

Git でリモートに push 済みのコミットを amend したときの対応方法

Git でリモートに push した後のコミットを、ローカルで commit --amend で変更してしまった場合の対応方法についてです。 凡ミスにより年に数回はこの状況に遭遇するので、やり方をまとめておきます。

対応オプション

対応方法のオプションがいくつかあります。

Git の「バウンダリーコミット」とは

Git のコマンドの説明を読んでいると、ときどき「バウンダリーコミット」( boundary commit )ということばが出てくることがあります。

「バウンダリーコミット」。 パッと検索してみましたが日本語での説明がなかなか見つからないので、私が理解している範囲のことをかんたんにまとめておきます。

「バウンダリーコミット」の使われどころ

まずはこのことばが使われている具体的な場面を見ていきます。

git log

例えば、 git log の場合はこんな感じです。

Git で最初のコミットも含むすべての差分を取得する方法

Git で最初のコミットも含む差分をすべて取得する方法について。

Git での最初のコミットの内容は git show で確認できますが、それを diff として取得したい場合があります。 また、最初のコミットも含む過去のすべての変更分を取得したくなる場合もあります。

そんな場合の方法なのですが、結論としては、ハッシュ値 4b825dc642cb6eb9a060e54bf8d69288fbee4904 で示されるポイントとの差分を取るとよいようです。

例をあげます。

最初のコミットを diff として取得する:

Git の 1 文字エイリアスでも自動補完を効かせる方法

私はふだん git コマンドの利用頻度が多いので、 git コマンドの 1 文字エイリアス g をよく使っています。

alias g='git'

1 文字エイリアスは一度慣れたらとても快適ですが、 Tab による自動補完が効くようにするとますます快適でやめられない止まらない状態になります。

私の場合は

ページ