タグ

gitに関するpetite_blueのブックマーク (54)

  • 新しくプロジェクトに入った人がリポジトリの現状を素早く把握するためのGitコマンド5選

    ITエンジニアのアリー・ピエホフスキー氏が、「全然知らないプロジェクトの現状を素早く把握できるGitコマンド」を5つ紹介しています。 The Git Commands I Run Before Reading Any Code https://piechowski.io/post/git-commands-before-reading-code/ ◆過去1年間で最も変更されたファイル20個 以下はファイル名を過去1年間の変更数の多い方から20個並べるコマンド。 git log --format=format: --name-only --since="1 year ago" | sort | uniq -c | sort -nr | head -20 変更頻度の高いファイルを確認することで「活発に開発されている部分」や「予測不可能な影響を広い範囲に与えてしまっている部分」を知ることができま

    新しくプロジェクトに入った人がリポジトリの現状を素早く把握するためのGitコマンド5選
  • git diff --color-wordsが日本語だと見づらい問題への対処

    この記事の内容は macOS でしか動かないことがわかりました。どの環境でも動く解決策を「続・git diff --color-wordsが日語だと見づらい問題への対処」に書きましたので、併せてご確認ください。 Git で単語単位で差分を見たい場合、 git diff --color-wordsが便利です。特に 1 行が長くて差分が多い場合は変更箇所がわかりやすくなります。 しかし、このコマンドは単語区切りを英語基準で考えるため、日語の文章に対する差分が大きく判定されてしまい、パッと見で理解できないことがあります。 この問題に対し、日語の文字集合も考慮した単語区切りオプション「--word-diff-regex="[a-zA-Z0-9_]+|[ぁ-ん]+|[ァ-ヶー]+|[一-龥々〇〆]+|."」を使うといい感じになります。 この --word-diff-regex オプションを常時

    git diff --color-wordsが日本語だと見づらい問題への対処
  • 並列開発を支えるtmux, git, zsh設定集

    私は普段 Alacritty + tmux + Neovim で開発しています。 ターミナルから離れずに複数リポジトリやworktreeを行き来したりgit操作を楽にするため、キーバインドやutilityをいろいろ作り込んでいます。 今回の記事では私がターミナルの操作を快適にするために設定している内容を紹介します。 tmux-fzfを使ってwindowを切り替える tmux-fzf はfzfのポップアップウィンドウ上でtmuxsessionやwindowの切り替えができるプラグインです。 さらに、window名を自動的にカレントディレクトリのGitリポジトリ名にするプラグインを自作しました。 これで、複数のwindowを開いて同時に作業を進めていても、どのWindowがどのリポジトリだったか迷子にならなくなりました。 Window一覧を見るだけで一瞬で目的の場所に飛べるようになっています

    並列開発を支えるtmux, git, zsh設定集
  • GitをCUIで強力にサポートする超高機能ツール「lazygit」

    バージョン管理システムはソースコードなどの電子ファイルを世代管理するためのシステムであり、特にソースコードの変更履歴を重視するソフトウェア開発においては不可欠なツールと言えます。そして、数あるバージョン管理システムの中でもGitは多機能かつ軽快であることから広く利用されています。Gitは一般的にコマンドラインインターフェース(CLI)を通じて操作されることが多いのですが、CLIはコマンドを理解する必要があるため初心者にとって敷居が高く、操作ミスや理解不足による問題が発生しやすいという欠点があります。そんなGitの操作を簡素化するために開発されたのが、ターミナル上で動作するGitUI「Lazygit」です。 GitHub - jesseduffield/lazygit: simple terminal UI for git commands https://github.com/jesse

    GitをCUIで強力にサポートする超高機能ツール「lazygit」
    petite_blue
    petite_blue 2025/11/23
    ここ数年使ってるが使いごごちがいい。自分は `lg` というエイリアスですぐに起動できるようにしている。
  • Gitの中身

    はじめに Gitで管理するプロジェクトには.gitというディレクトリがあり、その中にGitの管理情報が入っている。その中には、全てのコミットや、いろんなバージョンのファイル、ブランチ、タグといった情報が格納されている。Gitを操作するにあたり、この中身がどうなっているかを理解する必要はないし、もし中身を覚えたとしても、操作方法は変わらないまま、内部実装だけ変更になる可能性もある。それでも、Gitの仕組み、特に様々な情報が.gitにどのように格納されているかを知っておくのは二つの理由から有用だと考える。 一つ目の理由は、「物が動く仕組み」を知っておくことが教養だからだ。車を運転するのに、アクセルを踏めば進み、ブレーキを踏めば止まり、ハンドルを回せば曲がることを知っていれば十分だ。しかし、シリンダーにガソリンが噴射され、ピストンで圧縮したところで点火し、爆発する力でピストンが押される、という直

  • 2024年Gitワークフロー再考 | フューチャー技術ブログ

    春の入門祭り2024の2記事目です。 Gitは、出自としては1週間で作られたLinuxカーネルのための分散バージョン管理システムでした。当時のワークフローに合わせてパッチをテキスト化してメールに添付できるような機能だったりが備わっています。 一方で、現代のGitは、デファクトスタンダードなバージョン管理システムになりLinuxカーネル以外のアプリケーション開発で利用されています。分散バージョン管理ではあるものの、サーバー・クライアント型の使われ方をしていて、GitHubGitLabを核にして、ローカルで作ったブランチをpushして、Pull Requestの形にして管理しています。少なくとも周りで見る限りでは、それ以外の使われ方の方が少なくなってきてます。そんなこんなで求められている使われ方が変わってきていて、それに合わせた機能がぼちぼち増えています。それを活用することで、ウェブ画面上で

  • So You Think You Know Git - FOSDEM 2024

    Scott Chacon's FOSDEM 2024 talk on Git Tips and Tricks and why he's working on GitButler now (https://gitbutler.com) Scott talks about: 00:00 - Introduction 01:06 - About Me (well, Scott Chacon) 02:36 - How Well Do You Know Git? 05:09 - Our Agenda 06:25 - Some Helpful Config Stuff 09:42 - Oldies But Goodies 16:22 - Some New Stuff (You May Not Have Noticed) 23:48 - Some Big Repo Stuff / Monorepo

    So You Think You Know Git - FOSDEM 2024
  • Popular git config options

    February 16, 2024 Hello! I always wish that command line tools came with data about how popular their various options are, like: “basically nobody uses this one” “80% of people use this, probably take a look” “this one has 6 possible values but people only really use these 2 in practice” So I asked about people’s favourite git config options on Mastodon: what are your favourite git config options

  • git worktreeを使ってみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    git worktreeを使ってみる - Qiita
  • あるレポジトリを別のレポジトリのサブディレクトリへ履歴付きで移動する - $shibayu36->blog;

    あるレポジトリのサブディレクトリ配下を別のレポジトリへ履歴付きで移行する - $shibayu36->blog; の逆バージョン。 あるレポジトリでずっと開発していたが、やっぱりモノレポの中に入れたいとなって、履歴付きでモノレポの特定のサブディレクトリ配下に移動したい時があった。たとえば https://github.com/shibayu36/go_todo_app の履歴をすべて https://github.com/shibayu36/go-playground のgo_todo_appディレクトリに移したいみたいなケースだ。この時コミット履歴としてはgo-playgroundのgo_todo_app/配下で初めから開発していたかのように移したい。 この解決策として Gitのサブツリーのマージについて - GitHub Docs にあるように、サブツリーマージという方法も取れる。しか

    あるレポジトリを別のレポジトリのサブディレクトリへ履歴付きで移動する - $shibayu36->blog;
  • 『GitUI』を使ってターミナルからでも直感的なGit操作を|NAVITIME_Tech

    こんにちは、みみぞうです。 ナビタイムジャパンで『システムや開発環境、チームの改善』を担当しています。 今回はターミナルで動くGitクライアントツール『GitUI』を紹介します。 稿は以下のいずれかに当てはまるような方をターゲットにしています。 ターミナルで動くGitクライアントツールを探している方 NeovimからシームレスにGitの操作をしたい方 Windowsで使えるGitクライアントツール探しに困っている方 ℹ️ Neovimは、Vimをベース拡張性を考慮してモダンな技術で作られたプロダクトです。 GitUIとは『GitUI』はターミナル上でもGUIのように快適なGit体験を提供するOSSのツールです。 GitUI provides you with the comfort of a git GUI but right in your terminal extrawurst/gi

    『GitUI』を使ってターミナルからでも直感的なGit操作を|NAVITIME_Tech
  • git logの内容を検索する-Sと-Gの違い - $shibayu36->blog;

    ずっとgit logの内容を検索するときに-Sオプションを使っていたが、実は近いオプションに-Gオプションもあり、探したい内容によっては使い分けないとダメということを初めて知った... 詳しくはhttps://git-scm.com/docs/git-logの-Sと-Gのドキュメントを見てほしい。簡単にまとめると -Sは指定した文字列の出現回数が変わるdiffがあるcommitを検索する -Gは指定した正規表現がマッチする文字列がdiffにあるcommitを検索する ドキュメントの事例部分が結構わかりやすくて、以下のようなdiffがあった場合 + return frotz(nitfol, two->ptr, 1, 0); ... - hit = frotz(nitfol, mf2.ptr, 1, 0); -S frotzで検索をかけると、frontsの出現回数は変わってないのでマッチしない

    git logの内容を検索する-Sと-Gの違い - $shibayu36->blog;
  • Metaの大規模ソースコード管理システム「Sapling」がオープンソース化

    Metaが10年間にわたり開発・使用してきたソースコード管理システム「Sapling」がオープンソース化されました。Git互換で基的なコマンドは類似しており、すべてのコマンドがシンプルで使いやすいように設計されているとのこと。Saplingは2022年11月15日から一般向けに公開されています。 Sapling: Source control that’s user-friendly and scalable https://engineering.fb.com/2022/11/15/open-source/sapling-source-control-scalable/ MetaはSaplingについて「ユーザビリティとスケーラビリティを重視した、Metaで使用されているソース管理システム」と紹介。GitやMercurialのユーザーにとって基的な概念の多くがなじみのあるものであり、

    Metaの大規模ソースコード管理システム「Sapling」がオープンソース化
  • ワークフローを改善できるGitのヒント15選 #GitLab #Git - クリエーションライン株式会社

    投稿者:Suri Patel 2020年で、Gitが誕生してから15周年を迎えました。Git Merge 2020での体験や、Gitフローの問題、最新のGit機能であるPartial Clone など、Gitの誕生と影響について今まで様々な投稿をしてきました。 Gitを使い始めたばかりの人であっても、コマンドラインを使いこなすレベルの人であっても、自分自身のスキルを自己研磨する姿勢は素晴らしいものです。そこで今日は、Gitを使用してワークフローを改善できる15の方法を紹介します。 1. Gitのエイリアス 日々のワークフローを改善できる最もインパクトのある方法の1つは、一般的なコマンドのエイリアスを作成し、ターミナルでの作業時間を短縮することが挙げられます。 次のコマンドを使うと、最もよく使われる Git コマンドである checkout 、 commit 、 branch のエイリアスを

    ワークフローを改善できるGitのヒント15選 #GitLab #Git - クリエーションライン株式会社
  • Gitのおすすめエイリアス5選 - 詩と創作・思索のひろば

    緊急新人エンジニア応援企画! ということで自分が Git のエイリアスとして設定している便利コマンドを紹介していく。 直前のコミットに追いコミットする (git fixit) git commit --amend --no-edit もろもろ整えて git push しよう、とすると「あっちょっと修正したい」となるのはよくあること。その際いちいちコミットメッセージを書いて rebase するかというとそんな面倒はとりたくなく、一撃で終わらせたい。--no-edit でコミットメッセージを編集せずに --amend できる。 git fixit に設定している。git commit の引数をそのまま受け付けるので、git fixit -a や git fixit <file> のように使える。 メインブランチに戻る (git com) f() { remote_head=$(git symb

    Gitのおすすめエイリアス5選 - 詩と創作・思索のひろば
  • Conventional Commits

    Conventional Commits 人間と機械が読みやすく、意味のあるコミットメッセージにするための仕様 Conventional Commits 1.0.0 概要 Conventional Commits の仕様はコミットメッセージのための軽量の規約です。 明示的なコミット履歴を作成するための簡単なルールを提供します。この規則に従うことで自動化ツールの導入を簡単にします。 コミットメッセージで機能追加・修正・破壊的変更などを説明することで、この規約は SemVer と協調動作します。 コミットメッセージは次のような形にする必要があります: 原文: <type>[optional scope]: <description> [optional body] [optional footer(s)] 訳: <型>[任意 スコープ]: <タイトル> [任意 文] [任意 フッター] あな

  • 追加の依存パッケージなしでプロジェクトごとのGitコミットフックを設定する方法

    Git 2.9以降はcore.hooksPathというオプションでグローバルまたはローカルのGitフックのディレクトリを指定できるようになっています。 Gitのcore.hooksPathオプションを利用するとhusky、simple-git-hooksのような追加の依存がなくても、Gitの機能だけでGitフックのコードをバージョン管理して、プロジェクトのセットアップ時にプロジェクトごとのGitフックを設定できます。 📝 類似するGitフックを管理するツールとしてpre-commitやLefthookもあります。これらのツールはGitフックの管理だけではなく、ファイルの種類ごとに実行するコマンドをわけて書けるようになっています。 つまり、lint-stagedのような機能も含むので、この記事で紹介するアプローチ以上の機能も同梱されています。 Node.jsプロジェクトの例 ここでは具体例

    追加の依存パッケージなしでプロジェクトごとのGitコミットフックを設定する方法
  • 内部構造から見るGit - Qiita

    こんにちは@a_suenamiと申します。 これはGit Advent Calendar 2012の17日目の記事になります。 前日はid:akiyokoさんのGitコマンド総選挙でした。 Gitの内部構造 みなさんはGitがどういう風にデータを管理しているか意識したことはありますか? コマンドの使い方に関するTipsはよく見かけるのですが、なかなかデータ構造に着目した解説は少ないのが実情かと思います。 そこで日は僕が以前社内で行ったGit勉強会の話をもとにして、Gitの内部でどのようなデータがやりとりされているのかという話をしたいと思います。以下が以前僕が社内で勉強会をしたときの資料です。 http://www.slideshare.net/asuenami/git-15199548 タイトルの通り、非プログラマ向けの内容なのですが、PART2ではGitの内部構造を擬人化して説明すると

    内部構造から見るGit - Qiita
  • 【初心者向け】「コミットの粒度がわからない問題」の模範解答を考えてみた - Qiita

    はじめに 先日参加したRails Developers Meetupの中で、「コミットの粒度がわからない問題」が少し話題になっていました。 「commitの粒度がわからない」すいません、私もです…!よく迷っちゃいます…!!! #railsdm — まえとー (@maetoo11) July 20, 2017 commitの粒度がわからない問題、ある。(ほんとわからない) #railsdm — おおた (@ota42y) July 20, 2017 普段僕は感覚的に「それっ、ここでコミット!」とコミットしているんですが、具体的にどういうルールでやってるの?と聞かれると、きれいに明文化しづらいものです。 とはいえ、できるだけ明文化できるよう、模範解答を考えてみました。 この記事ではそんな「適切なコミット粒度」について解説します。 動画で明文化・・・!? すいません、「明文化した模範解答」という

    【初心者向け】「コミットの粒度がわからない問題」の模範解答を考えてみた - Qiita
  • リダイレクトの警告

    表示中のページから https://www.it-swarm-ja.tech/ja/project-management/%E5%8D%98%E4%B8%80%E3%81%AE%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%81%AF%E3%81%A9%E3%81%AE%E3%81%8F%E3%82%89%E3%81%84%E3%81%AE%E5%A4%A7%E3%81%8D%E3%81%95%E3%81%AB%E3%81%99%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/l967434859/amp/ にリダイレクトしようとしています。 このページにリダイレクトしないようにする場合は、前のページに戻ってください。