タグ

gitに関するkiririmodeのブックマーク (69)

  • 【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita

    はじめに こんにちは、kenです。みなさんコンフリクト解消してますか! チーム開発をしているとコンフリクトとは嫌でも向き合うことになりますが、コンフリクト解消って緊張感のある作業なのでやりたくないですよね。 そんなコンフリクト解消をちょっぴり楽にする(かもしれない)コマンドを最近知ったので今回はそれを紹介します、その名もgit rerereです。 git rerereとは Gitの公式ドキュメント(日語版)には次のように記載されています。 git rerere コマンドはベールに包まれた機能といってもいいでしょう。これは “reuse recorded resolution” の略です。その名が示すとおり、このコマンドは、コンフリクトがどのように解消されたかを記録してくれます。 そして、同じコンフリクトに次に出くわしたときに、自動で解消してくれるのです。 ここに書かれているように、git

    【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita
    kiririmode
    kiririmode 2024/07/20
    git rerere: conflict解消時の内容を記録しておき、次回同様のconflict発生時に対応を自動適用してくれる
  • Git の Squash マージをやめた話 - Mobile Factory Tech Blog

    こんにちは!ブロックチェーンチームでエンジニアをしている id:dorapon2000 です。最近買ってよかったものは「潮の華 あおさといわしふりかけ」です。 今回は Git の Squash マージについての知見を共有したいと思います。端的に言うと、 チーム開発で Non Fast-Forward マージをやめて Squash マージを採用し、再び Non Fast-Forward マージに戻した経緯の説明です。Squash マージを運用に導入するか考えたことがある方の参考になればと思います。 Squash マージとは マージには 3 種類ありますね。みなさんはトピックブランチを main へマージする際にどのマージ方法を利用していますか? Fast-Forward マージ git merge --ff-only Non Fast-Forward マージ git merge --no-f

    Git の Squash マージをやめた話 - Mobile Factory Tech Blog
    kiririmode
    kiririmode 2023/11/30
    squash mergeのメリデメ
  • GitHub - carloscuesta/gitmoji: An emoji guide for your commit messages. 😜

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - carloscuesta/gitmoji: An emoji guide for your commit messages. 😜
    kiririmode
    kiririmode 2023/01/05
    コミットメッセージに絵文字を入れ込むためのCLIツール。コミットフック設定して利用
  • gitmoji | An emoji guide for your commit messages

    :chart_with_upwards_trend:Add or update analytics or track code.

    gitmoji | An emoji guide for your commit messages
    kiririmode
    kiririmode 2023/01/05
    コミットメッセージに使う絵文字のガイド
  • GitHub - dandavison/delta: A syntax-highlighting pager for git, diff, grep, and blame output

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - dandavison/delta: A syntax-highlighting pager for git, diff, grep, and blame output
    kiririmode
    kiririmode 2021/10/17
    gitに組み込むことでgithubとかのdiffのUIをCLI上で再現できる
  • git pull と git pull --rebase の違いって?図を交えて説明します! | KRAY Inc

    はじめに こんにちは、クレイの亀井です。ここ最近一気に気温が上がりましたね。顔に重点的に汗をかくタイプの私には憂な季節がやってまいりました さて、今月正式リリースしました(!) DocBase プロジェクトではクレイ外部のデザイナーの方と一緒に開発しています。SourceTree で Git を使っている方で、軽いデザイン修正などは弊社の Rails プロジェクトに直接手を加えてプルリクエストを送ってくれます。 こちらのデザイナーさんに「プルリクエストを送る際は、作業ブランチで git pull --rebase origin master してから送ってもらえますか?」とお願いすると「pull はわかるんですけど、この --rebase ってなんですか?これつけると何が変わるんですか?」と質問がきたのです。 作業ブランチで git pull --rebase origin master

    git pull と git pull --rebase の違いって?図を交えて説明します! | KRAY Inc
    kiririmode
    kiririmode 2021/09/12
    してほしい派
  • Bring your monorepo down to size with sparse-checkout

    CommunityOpen SourceBring your monorepo down to size with sparse-checkoutGit 2.25.0 includes a new experimental git sparse-checkout command that makes the existing feature easier to use, along with some important performance benefits for large repositories. This post was written by Derrick Stolee, a Git contributor since 2017 who focuses on performance. Some of his contributions include speeding u

    Bring your monorepo down to size with sparse-checkout
  • モノリポ時代に知っておくと便利な「git sparse-checkout」 - kakakakakku blog

    今まで使っていなかった Git コマンドを学んでいく.今回は git sparse-checkout を試す. git-scm.com git sparse-checkout とは? コマンド名にある sparse は「わずかな」という意味で,Git リポジトリの「一部」を取得できる.git clone --depth を使ってコミットを刈り取るのではなく,指定したディレクトリを取得する.モノリポ(モノレポ)構成のときに効果的に使える.git sparse-checkout は歴史的な変化もあり,今年になって改善されている.記事を検索すると Git 2.25 より前の git sparse-checkout を紹介した記事が多いように感じたため,今回は Git 2.26.2 を使って試した. Git 1.7 2010年2月 リリース git sparse-checkout 導入 Git 2

    モノリポ時代に知っておくと便利な「git sparse-checkout」 - kakakakakku blog
    kiririmode
    kiririmode 2021/04/29
    巨大リポジトリから特定ディレクトリをチェックアウト
  • monorepoのCI/CDで変更された部分だけをビルド/デプロイする - orangain flavor

    2020-07-11: Cloud Buildでの記述が誤っていたので修正しました。 はじめに 今年のゴールデンウィークは暇があり、勤務先で複数のリポジトリを使っているのが辛く感じてきていたため、monorepoについて調べてみました。monorepoについての説明やメリットについては他の記事に譲ります。 www.graat.co.jp この参考記事でmonorepoの当の課題として挙げられている以下の4点のうち、3点目に相当する「CIで変更によって影響を受けた部分だけをビルドする方法」を調査・検討しました。 トランクベース開発は、より一段と重要になります すべてのサービスがモノレポで上手く動くわけではありません より精巧なCIセットアップが必要です あなたは大規模な変更について考える必要があります この参考記事ではnxが挙げられていますが、nxは主にJavaScriptプロジェクト

    monorepoのCI/CDで変更された部分だけをビルド/デプロイする - orangain flavor
    kiririmode
    kiririmode 2020/05/06
    変更箇所によってビルドパイプラインを変更する。git diff —name-onlly でなく、各種 CI サービスは結構な部分を設定のみで対応できる。GitHub Actions とかは特に便利そう。
  • GitHub - lint-staged/lint-staged: 🚫💩 — Run linters on git staged files

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - lint-staged/lint-staged: 🚫💩 — Run linters on git staged files
    kiririmode
    kiririmode 2020/03/29
    stageされたファイルに対して様々なコマンドを実行できる
  • LintとFormatをGitのコミット時に自動でかける方法 | Trial and Spiral

    lint-stagedはgit addした対象に対して特定のコマンドを走らせるもの。READMEにもあるとおりhuskyと合わせて使うのがオススメとされている。ちなみに以前はhusky以外にもpre-commitをやり方やいろいろあった。あと、名前はlint-stagedだけどやることはstagingされたコミット前のものに対して何かをするのでlint以外にも使える。 ちなみに昨年前半あたりまでずーっとハンク(git add -p)したファイルの対応する方法に関してissueで議論されていたが、昨年中頃にlint-stagedがアルファ版を経て正式に対応した。個人的にハンクはかなり使うのでずっと動向を追っていたし、これが解消されたからプロジェクトに導入したし、紹介するに相なりました。 インストールnpmに慣れてる人には言うまでもないだろうけど $ yarn add -D husky lin

    LintとFormatをGitのコミット時に自動でかける方法 | Trial and Spiral
    kiririmode
    kiririmode 2020/03/29
    huskyとlint-stagedを使ってstageされるファイルを対象にlintをかける方法。リポジトリにコミットしておけばプロジェクト全体で共有できる
  • Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog

    はじめに Swift はじめました。と聞くと、読者の方は「いまさら?遅すぎじゃない?」とか、「大切なのは何の言語で書くかよりも設計じゃないの?」などと思われるかもしれません。気持ちはわかります。 しかし実際、ゼクシィアプリのコードベースは今まで Objective-C 100% でした。そして、つい最近、はじめてプロダクションコードとして Swift のコードをリリースすることができました。稿では、そこに至るまでに考えたことや、具体的なやり方を紹介できればと思います。 申し遅れましたが、この記事はゼクシィ iOS アプリの開発を担当している @tondol がお送りします。好きな結婚式ソングは lily white で「ふたりハピネス」です。1)ラブライブ!のキャラクターソングです。わざわざ脚注までお読みいただき、ありがとうございます。 背景 前述の通り、ゼクシィアプリはこれまで Obj

    Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog
    kiririmode
    kiririmode 2020/02/14
    変更があったファイルにだけlintをかけるシェルスクリプトが乗ってる
  • スケールする組織を支えるドキュメンテーションの技術を”GitLab Handbook”から学ぶ|Anno Takahiro

    ドキュメント文化は健全な組織のスケールのために必要 組織の中でドキュメント/文章を残し活用していくことはとても重要だ。クオリティの高いドキュメントがあることで、組織に情報が流通し、透明性を確保できるようになる。情報を流通させるためにいちいち口頭の説明がいらないから、メンバーの数が増えた時でもスケールしやすくなる。過去の結論にアクセス可能になるので、議論を積み上げていき、意思決定のクオリティを高めることにもつながる。そもそも何かを読むということは何かを聞いて教わるよりも時間あたりの処理量が多いし、非同期に実施できる。良いドキュメントをアセットとして社内に蓄積していくことはスタートアップのみならず、ありとあらゆる組織が成長していく上でとても重要であると言える。 しかしその一方で、良質なドキュメント文化を徹底できている会社は多くないように見える。例えば、社内のドキュメントを蓄積させていく場所とし

    スケールする組織を支えるドキュメンテーションの技術を”GitLab Handbook”から学ぶ|Anno Takahiro
    kiririmode
    kiririmode 2020/02/14
    組織の全てがGitリポジトリで管理されてSSoTになってる
  • サクッと使いこなすためのgit stash Tips & stashの仕組み - Qiita

    便利ですよね、stash。 普通に使ってるだけでも便利なんですが、知っておくと更にサクッと使いこなせるTipsをQ&A形式で紹介します。 おまけとして、Tipsで紹介したオプションを実現するstashの仕組みにもチラっと触れています。 Q. add済みなファイルだけゴニョゴニョしたいからnot stagedなファイルだけを退避しておきたい A. stash --keep-index (-k) オプションを使う 今の状況 : add済みなファイルだけをゴニョゴニョしたいのにnot stagedなファイルがあって邪魔、ちょっと消えてて欲しい。 $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: bar # #

    サクッと使いこなすためのgit stash Tips & stashの仕組み - Qiita
    kiririmode
    kiririmode 2020/01/01
    index 領域も含めた stash の使い方
  • Conventional Commits

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

    kiririmode
    kiririmode 2019/12/06
    コミットメッセージの仕様
  • GitOpsで絶対に避けて通れないブランチ戦略 - 水底

    Kubernetes Advent Calendar 2019 その3 の 2日目です。 WeaveworksによってGitOpsが提案されてから2年ほどが経ち、僅かですが番導入事例も耳にするようになりました。とはいえ案外まとまったドキュメントは作られていません。特にGitOpsで複数の環境 (e.g., 開発環境、番環境、etc.) をハンドリングするためには欠かせないブランチ戦略については殆ど語られていないようです。これではたとえGitOpsの概要 (Single Source of Truthの概念等) を知っていても番導入には大きなハードルが残ったままで、番導入事例がまだまだ少ないことにも納得できてしまいます。そこでこの記事ではブランチ戦略に焦点を当て、サンプルプロジェクトを交えながら紹介していこうと思います。k8s/GitOps中級者向けです、多分。 以前GitOpsにつ

    GitOpsで絶対に避けて通れないブランチ戦略 - 水底
  • gitのdiff-highlightを使い始めた - りんごとバナナ

    git log -p や git diff などで差分を見るとき、行単位での追加/削除は表示されるが、行の中のどこが変わったのかは表示してくれない。例えば行の中の一単語を書き換えただけで、しかもその行が長い場合、どこに差分があるのか目で探すのが結構大変だった。 しかし先日、 diff-highlight という便利なモジュールが提供されていることを知り、早速導入してみた。 diff-highlightとは github.com gitコマンドの、行単位での差分を探す動作のポストプロセスとして実行され、同じ行の中の差分をハイライトしてくれる。 例えば、行の一部分だけ変えたときの git diff は、今までこんな感じだった。 それがこうなる。差分がわかりやすい。 diff-highlightの設定 この機能は gitコマンドに同梱されているため、インストールは不要。設定作業のみで使える。 ま

    gitのdiff-highlightを使い始めた - りんごとバナナ
    kiririmode
    kiririmode 2019/12/01
    入れたい
  • git aliae so that you never lose work (part 2)

    Git is an incredibly powerful tool for version control. Much of this power stems from its underlying append-only object database which ensures that once you’ve made a commit it can never be changed or unmade. This is great because it means you can refactor history safe in the knowledge that you can git reset back to a working version if something goes wrong. One thing I’ve yearned for however is t

    kiririmode
    kiririmode 2019/10/26
    reset --keep の解説有り
  • Delicious Screencasts

    kiririmode
    kiririmode 2019/10/26
    git reset における --keep --merge --hard の違い。
  • How to undo (almost) anything with Git

    Open SourceProductHow to undo (almost) anything with GitOne of the most useful features of any version control system is the ability to "undo" your mistakes. In Git, "undo" can mean many slightly different things. One of the most useful features of any version control system is the ability to “undo” your mistakes. In Git, “undo” can mean many slightly different things. When you make a new commit,

    How to undo (almost) anything with Git
    kiririmode
    kiririmode 2019/10/26
    git を使った "取り消し" 方法