タグ

Gitに関するs_ryuukiのブックマーク (579)

  • 結局 Git のブランチ戦略ってどうすればいいの? - Qiita

    1つのIssueが大きくなると1 Pull Requestで大量の差分が発生します。 そうなるとレビュワーに負担がかかり、コンフリクトの可能性も高まり、コードレビューを効率よく進めることができません。 このINVEST原則を守ることでチームはより効果的に作業を進め、柔軟に対応して開発を進めることができます。 Git Flow Git Flowは5種類(main, hotfix, release, develop, feature)のブランチを運用するブランチ戦略です。 2010年に提唱された有名なブランチ戦略です。 オンラインサービスのように継続的デリバリーするコードを想定して作られた戦略ではないです。 main ブランチ 常にリリースできる状態を保つ hotfix, develop へ切り出す このブランチへの直pushはNG hotfix ブランチ バグ修正など緊急時に対応するためのブ

    結局 Git のブランチ戦略ってどうすればいいの? - Qiita
    s_ryuuki
    s_ryuuki 2024/09/24
  • Dangit, Git!?!

    Gitって難しい。簡単にぐちゃぐちゃの状態になっちゃうし、失敗を直す方法を知ろうとしたところで不可能。Gitのドキュメンテーションって卵とニワトリの問題みたいなところがあって、ハマりから抜け出すために知ってないといけない事柄の名前をあらかじめ知っていないと、どうやって問題を解決したらいいのか検索することすらできないんだよね。 だからここに、私が遭遇したことのあるよろしくない状況から、最終的にどうやって抜け出したかをフツーの日語で書いていこうと思う。 もー、超絶やらかした。お願い、Gitには魔法のタイムマシンがあるって言って? git reflog # こうすると、Gitでやったことがすべてのブランチに渡って全部見えるよ! # どのブランチにも HEAD@{index} ってインデックスがあるはずだから # やらかす前のやつを見つけて git reset HEAD@{index} # ほら

    s_ryuuki
    s_ryuuki 2024/08/10
  • Home

    Aider is AI pair programming in your terminal Aider lets you pair program with LLMs, to edit code in your local git repository. Start a new project or work with an existing git repo. Aider works best with GPT-4o & Claude 3.5 Sonnet and can connect to almost any LLM. Getting started You can get started quickly like this: python -m pip install aider-chat # Change directory into a git repo cd /to/you

    Home
  • git lfsに含まれていないファイルの中でデカいファイルを探すbash script - きゅぶろぐ

    コメントからChatGPTと一緒に育ててきたのがよくわかる

    git lfsに含まれていないファイルの中でデカいファイルを探すbash script - きゅぶろぐ
    s_ryuuki
    s_ryuuki 2024/07/27
  • 初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita

    Gitを学びたての人へ Gitを学びたての皆さん、こんにちは!今年の4月よりエンジニアとして新卒入社した k_uki512です!🎉 会社の新人研修や、プログラミングスクールでGitを初めて触り始めた方もいらっしゃるのではないでしょうか。そんな方が「分からない」という状態に陥りやすいのが "Git" のコマンドだと思います。 分からない理由を分析してみた Gitのコマンドが分かりづらい理由として以下のような原因があると考えました。 データをコマンドでやり取りすることがなかった 用語いっぱい。違いが分からない、、(add,commit…) データ(変更履歴)の流れが見えづらい つまり変更履歴という概念が抽象的かつ、pushまでのステップが多いことが原因だと考えました。 そこで、この記事ではGitの一連の流れを、わかりやすく電車に例えて解説していきます! この記事を通じてGitの流れを学び、会

    初めてのGitは電車で例えて学ぼう!初学者向け基本Gitコマンド入門 - Qiita
    s_ryuuki
    s_ryuuki 2024/07/10
  • 【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita

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

    【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita
    s_ryuuki
    s_ryuuki 2024/07/07
  • コミット履歴が " きれい " なPRはすごく助かる。ありがたい。好き。 - Qiita

    ※ 最小の意思決定にしては粒度が粗めですがイメージはつくかなと思います 開発プロセスも同様で、目的に対して複数のステップを踏むことがほとんどですよね。リファクタリングであれば単体テストをあてる ⇒ メソッドの内部実装変える ⇒ テストのリファクタリングする、みたいな。 こうした1つ1つの小さな意思決定という単位で履歴(意図)を残すことは、開発者の責任です。なぜなら、変更の差分はPRを見ればわかりますが、「なんでその意思決定(コードの変更)をしたのか?」はコミットメッセージを見ないと分からないからです。そういう意味で、開発者の Why? を把握するために、最終的なPRの差分がどのようにして出来上がったのかを知るために、最小単位の意思決定の履歴はレビュワーが欲しいと思う重要な情報なのです。 コミットメッセージが簡潔で分かりやすい コミットが意思決定の最小単位になっている と関連しますが、意思決

    コミット履歴が " きれい " なPRはすごく助かる。ありがたい。好き。 - Qiita
    s_ryuuki
    s_ryuuki 2024/06/16
  • Diversion - 最大10人で100GBまで無料のバージョン管理システム!Unreal Engine 5のソースコントロール対応プラグインも公開!

    技術-Technology VMP: Versatile Motion Priors for Robustl... 2024-08-22 Disney Researchによる、ロボットがより人間らしく踊ったり飛び跳ねたり出来るような動きを学習させる技術「VMP: Versatile Motion Priors for Robustly Tracking Motion on Physical Characters」 続きを読む Unreal Engine アセット アセット-Asset EasySnow for Games - メジャーアップデートゲームなどのリア... 2024-08-22 以前紹介したWilliam Faucher氏によるリアルな雪生Unreal Engineアセット「EasySnow」のメジャーアップデートが公開!パフォーマンスを改善しゲームなどのリアルタイムコンテン

    Diversion - 最大10人で100GBまで無料のバージョン管理システム!Unreal Engine 5のソースコントロール対応プラグインも公開!
  • Gitのブランチの役割を考える | フューチャー技術ブログ

    Gitのブランチ戦略にはいくつかあります。 Gitフロー GitHubフロー GitLabフロー チームの戦略を考えるときにどれかを参考にしつつカスタマイズするときにいろいろ不都合が生じてしてきて複雑になってしまうことってありますよね? 社内でブランチの管理の議論をする中で、ブランチの役割を明確にした上で、どのブランチがどのような役割を持っているのかを明確にした方が混乱が少なくなるのではないか? というのを考えていました。 特に、プロジェクトごとに同じ名前でも役割が違うなー、というのとかもあり、ブランチ名=役割ではなく、ブランチの上位概念として役割を考えて、それを実際のブランチとの対応づけを行う必要があるのではないかな、と。 CI/CDと組み合わされることで、releaseブランチ==ステージング環境となってしまい、ステージング環境を使いたいリリース前のブランチと、ホットフィックスの検証の

    Gitのブランチの役割を考える | フューチャー技術ブログ
    s_ryuuki
    s_ryuuki 2024/06/12
  • git の Merge made by the 'ort' strategy. ってなんだ?!!

    ラブグラフのエンジニア、横江 (@yokoe24) です。 みなさんは git コマンドで merge をしたことがありますか? ありますね!! (※ git を g でエイリアス振っていますが、 git merge develop です) merge をしたときの出力をよく見ると、地味に気になる一文があります。 Merge made by the 'ort' strategy. なんでしょう、これ・・・? sort じゃなくて ort ・・・? 気になったので調べてみました。 すぐに出てくるのがこの記事。 2021/08/17 にリリースされた Git 2.33.0 についての記事です。 Gitの新しいマージ戦略「merge-ort」は、再帰的戦略をスクラッチで書き直したもので、正確性やパフォーマンスの問題に対処しています。GitHubによると、名前の変更が多い大規模なマージの場合、me

    git の Merge made by the 'ort' strategy. ってなんだ?!!
    s_ryuuki
    s_ryuuki 2024/06/06
  • Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita

    稿は当初チーム開発時のメンバー向けにまとめたものです。 ある程度、端折っていた背景などを記載しました。 git初心者同士でのチーム開発において、git操作を詳しく知らないメンバーも含め安全に行う必要がありました。しかし、開発期間はごくわずか...この状況を回避するために、下記の対応をとりました。 Gitコマンドの基礎的な内容を理解する(私) 各種操作をGUI上で完結させる拡張機能を色々と導入する シンプルな開発フロー(Github flow)を採用し、コマンド実行に相当する操作を限定する 各操作をGUI上での操作に置き換え、チームメンバーに教える 稿はその際の、コマンドやGUI操作に関するメモをまとめたものになります。 こういった取り組みのおかげか、チームの開発をすんなりフローに乗せることができました。 ■ 前提条件 対象とする動き Github flowを回すうえで、 cloneする

    Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita
  • Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO

    Gitは、バージョン管理に強力なツールで、開発者がコード変更を追跡し、プロジェクトで協力し、作業履歴を維持することを可能にします。Gitは複雑なプロジェクトを管理するための堅牢なフレームワークを提供しますが、同時にプラットフォームの初心者にとっては習得の曲線があり、一般的なミスにつながる可能性があります。これらのエラーは、些細な面倒から、プロジェクトのワークフローに重大な混乱をもたらすまでさまざまです。 これらの落とし穴を理解し、回避することは、プロジェクトの整合性と安定性を維持するだけでなく、チームメンバー間の効果的な協力関係を育むためにも不可欠です。このブログでは、Gitを使用する際にユーザーが直面する最も一般的な課題について掘り下げます。メインブランチへの直接コミット、ブランチの非効率的な使用、不適切なコミットの処理、マージコンフリクトの解決など、さまざまな問題を探ります。 一般的な

    Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO
    s_ryuuki
    s_ryuuki 2024/05/24
  • Gitの仕組みと用語 / GitHub Term

    物理情報工学ソフトウェア開発演習

    Gitの仕組みと用語 / GitHub Term
    s_ryuuki
    s_ryuuki 2024/05/17
  • Unity ライブラリを Git submodule で管理する - たるこすの日記

    はじめに Unity で長期的なプロジェクトやライブラリを作成する際、 ソースコードが公開されている Unity ライブラリや社内ライブラリを使う場合に、 Git submodule でコードを取り入れるようにしています。 自分の Git リポジトリにライブラリのコードを入れることに比べて、以下のようなメリットがあります。 ライブラリのコードが自分のリポジトリに入らない ライブラリのバージョン変更が楽 ライブラリのリポジトリに対してコミットや Pull Request がやりやすい この記事では、自分がどのように Git submodule を使ってプロジェクトを構成しているかを紹介します。 フォルダ構成と仕組み リポジトリのルートフォルダの中の _external フォルダにライブラリのコードが入ります。 このままでは自分の Unity プロジェクトから使えないため、 Assets フォ

    Unity ライブラリを Git submodule で管理する - たるこすの日記
  • 中級Git操作

    今回の記事の内容はGitHub共同創業者のScott Chacon氏の「Pro Git」と同氏の今年の「So You Think You Know Git」(Gitがわかっているとでも思っているか?)発表をベースにしている。 コンフィグ ここでコンフィグにてデフォルトとして指定して損がないオプションをいくつか紹介します。 git rerere git rerereは"reuse recorded resolution"(記録ずみ解決方法を再利用)の略語になっている。 名の通りマージコンフリクトがどう解消されたかを記録し、次に同じようなコンフリクトが発生した際、同様の解決方法を自動的に適用するためのコマンドです。 また、基的にデフォルトにしてもときに差し支えないため、ぜひgit config --global rerere.enabled trueを実行してみてください。 git main

    中級Git操作
    s_ryuuki
    s_ryuuki 2024/05/03
  • より良い Git コミットメッセージを書こう - Qiita

    より良いコミットメッセージを残すことは Git を使った開発をする上で重要なことです。優れたコミットメッセージは、それを読んだ人がコードを理解するのに大いに役立ちます。 では、どのようなメッセージが良いもので、どのようなメッセージが悪いものなのでしょうか? それについて掘り下げていきたいと思います。 基的な Git Commit Message の書き方 詳しいところは、以下の3サイトを参照してください。特に「How to Write a Git Commit Message」には基がすべて書かれています。 How to Write a Git Commit Message https://cbea.ms/git-commit/ Gitのコミットメッセージをうまく作成する7つのルール (「How to Write a Git Commit Message」の和訳記事) https://

    より良い Git コミットメッセージを書こう - Qiita
    s_ryuuki
    s_ryuuki 2024/04/29
  • AIにお任せして、Gitコミットメッセージを書かなくなってしまった。

    前提 お使いのPCにNode.jsがインストールされていることが前提条件になります。 インストールされていない方は、拙著で恐縮ですがこちらをご参照ください。 方法 aicommitsを利用します。 事前にOpenAIAPIKeyを取得する。 npm install -g aicommits aicommits config set OPENAI_KEY=***********************

    AIにお任せして、Gitコミットメッセージを書かなくなってしまった。
    s_ryuuki
    s_ryuuki 2024/04/28
  • 【Git/UE5】Git を用いた Unreal Engine のバージョン管理の始め方 - Qiita

    はじめに 前提条件 GitHub アカウントを作成してある事 Git をダウンロードしてある事 Git LFS をダウンロードしてある事 Sourcetree をダウンロードして GitHub アカウントの認証などの初期設定を行ってある事 テスト環境 UE 5.1.1 Visual Studio 2022 UEGitPlugin 3.15 手順 GitHub でのリポジトリの作成 手順1 GitHub に行き、右上の「+」から「New repository」を押す。 手順2 「Repository name」や公開範囲などを設定して右下の「Create repository」を押す。 Sourcetree でのリポジトリの作成 手順3 通信プロトコルが「HTTPS」になっている事を確認してリポジトリの URL をコピーする。 手順4 Sourcetree を開いて上の「Create」を押し

    【Git/UE5】Git を用いた Unreal Engine のバージョン管理の始め方 - Qiita
  • rebase 教から脱退します - Qiita

    rebase で色々あったので、備忘録として簡単に書いていきます。 前提背景 開発作業中、元のブランチに変更があった場合、私は変更を取り込むために常に rebase を使用します。これを選ぶ主な理由は「コミットログが見やすく保たれるため」です。 Gitには同様のコマンドとして merge がありますが、これは変更を取り込む際にマージコミットを作成する点が異なります。私はマージコミットによってコミットログが煩雑になると感じています。 このような理由から、私はrebaseを積極的に使用しています。 何があったのか 簡単に言うと、レビュー中にブランチ元の変更があったので、 git rebase からの git push -f origin [ブランチ名] やったらレビュアーのコメントが吹き飛びました。 いやー、めっちゃ怒られたよね💦 原因 「レビュー中」という状況がまずかった。 コードを共有し

    rebase 教から脱退します - Qiita
    s_ryuuki
    s_ryuuki 2024/04/21
  • VSCodeでGitのコミットを楽に整理して、レビュワーに「コイツできる」と思わせよう。

    はじめに Git Graphという拡張機能を使います。 Git GraphとGitLensという拡張機能を使います。[1] また、gitから開かれるエディタをvscodeにしておきます。 コミットのまとめかた(1分未満でできるよ) ステータスバーのGit Graphのボタンをクリックして、Git Graphの画面を開きます。 まとめたいコミットの一つ前のコミット(今回だとinit)を右クリックして、「Rebase current branch on this Commit...」を選択します。 「Launch Interactive Rebase in new Terminal」にチェックを入れて「Yes, rebase」をクリックします。 こんな画面が開きます。 まとめたいコミットを上から順にpickからsquashに変更します。最後の一つはpickのままにしておきます。そして「STAR

    VSCodeでGitのコミットを楽に整理して、レビュワーに「コイツできる」と思わせよう。