ごらくらいふ

プログラミングしたりゲームしたり

Git

posh-gitを導入した

Windows + PowerShell環境におけるGitの使い勝手を改善したくなり、posh-gitを導入した。 手順 repositoryの取得 2021/02/17時点において、posh-gitの v1 はまだ beta らしい。 v1未満のバージョンも、v1のbetaも不安定であることに変わりはないので、reposi…

git: 書き出しが同じコミットメッセージの手間を省く

コミットメッセージの書き出しがしばらく同じで、でもコミットメッセージはエディタで書きたいとき。 git commitを叩いて律儀に手入力するのも疲れるし細かい無駄が発生するのでどうにかしたい。 結論 git commit -em 'template message' -m はコミットメッ…

一括でRenameしたよ、というコミットをサクッとレビューする

gitのお話。 ディレクトリ整理とかで多数のrenameが発生した修正のレビューをすることになった。 pathの変更を見ればいいだけなんだけど、長すぎてGitHubのPull-Requestでは省略されてしまう。といったシーン。 結論 fetchしてdiffやshowで確認する。 --summ…

gitが追跡していないファイル(untracked files)を消す方法は、ちゃんとgitが用意している。(git clean)

git help読んでないマンが露呈していた!! 追跡していないファイルの削除には git clean コマンドを使用するとよい。 # dry-run。対象ファイルを確認できる。 git clean -n # 実施。 git clean -f # 追跡していないディレクトリも対象とする。 git clean -n…

Gitでuntracked filesの一覧を出したあと削除するとき、ヒストリ展開を使わなくてもxargsで十分削除できた

git cleanコマンドを使うのです。 yajamon.hatenablog.com xargsうまく使えないマンが露呈している。 結論 # 一覧から消したいものだけgrepで絞る。 git status --untracked-files | grep '*.foo' # コマンド履歴から直前のコマンドを持ってきて、xargsを加…

Gitでuntracked filesの一覧を出したあと削除するとき、ヒストリ展開を使えば楽だった

git cleanコマンドを使うのです。 yajamon.hatenablog.com git resetでちょっと巻き戻したときとか、非追跡なファイルの削除にはいつも手間取っていた。 まずコマンドで一覧を出して、絞って、同じコマンドのあたまに rm をつけて。 手作業でめんどうなこと…

現在のbranchを(branch nameを書かずに)リモートにPushしたい

結論 git push -u origin $(git branch --contains | cut -d' ' -f2) git branch --contains=[ref]はrefの示すcommitを含むbranchを列挙する。 特に指定しなかった場合、HEADを指定したものとする。 branchをチェックアウトしている前提なので、cutコマンド…

gitのコミットハッシュを見て、処理を続行するか判断する

結論 git rev-parseでコミットハッシュを取得できる。 たとえば、リモートで変更があるかどうかによって、処理を分岐させることができる。 git remote # origin # upstream git fetch --all --prune if [ $(git rev-parse master) = $(git rev-parse upstrea…

CentOS7に`tig`をインストールした

(追記:2017-09-19 19:04)なんか変だなと思ったらCentOS6じゃなくて7だった。はやくdnfの世界に行かないと永遠に混乱し続けることになりそう。 Windowsの手元でCentOSのローカルマシンよく立ち上げてて、「ここにもtigが欲しいなー」と思ったのが始まり。 ち…