並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 35 件 / 35件

新着順 人気順

rebaseの検索結果1 - 35 件 / 35件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

rebaseに関するエントリは35件あります。 gitGit開発 などが関連タグです。 人気エントリには 『あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」』などがあります。
  • あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    BIGLOBEの開発現場の様子や、developブランチにrebaseで綺麗なコミット履歴を作る方法をご紹介します。 はじめまして! GitHubを中心に仕事がまわる開発現場 Git logが綺麗だとバグが起こりにくい? developブランチを綺麗に保つGit操作(マージ編) 1. そのまま気にせずdevelopにマージする。 2. 最新のdevelopをfeature/Bブランチに取り込んでからdevelopにマージする 3. 最新のdevelopにrebaseしてからマージする リベース コワクナイョ 最後に はじめまして! 基盤本部(開発部門)の江角です。 2021年8月にSIerからBIGLOBEに転職し、半年が経過しました。 転職期間中はもちろんコロナ禍で、カジュアル面談も面接も全てオンラインでした(多分今もそうだと思います)。 入社日当日は出社しましたが、入社してから半年の

      あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    • rebase 教から脱退します - Qiita

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

        rebase 教から脱退します - Qiita
      • Merge vs. Rebase vs. Squash

        merge_vs_rebase_vs_squash.md I get asked pretty regularly what my opinion is on merge commits vs rebasing vs squashing. I've typed up this response so many times that I've decided to just put it in a gist so I can reference it whenever it comes up again. I use merge, squash, rebase all situationally. I believe they all have their merits but their usage depends on the context. I think anyone who sa

          Merge vs. Rebase vs. Squash
        • コミット履歴を綺麗にするときの`git commit --fixup`と`git rebase --autosquash` - 理系学生日記

          Pull Request(PR)やMerge Request(MR)を作る中で、コミット履歴はできるだけ綺麗にしておきたいものです。 プルリクエストについて - GitHub Docs Merge requests | GitLab ぼくはあまりコミット履歴の綺麗さを気にしない方でした。 しかし大きめのPRやMRをレビューする側に回ると、「変更のまとまり」が追えないと「なぜこの変更をしたのか」が非常に追いにくくなります。 だからこそ最近は、コミット履歴をかなり意識するようになりました。 その時に活躍しているのが、タイトルの通りgit commit --fixupとgit rebase --autosquashです。 git commit --fixup git rebase --autosquash そのほかおすすめ git commit --fixup git commit --fixu

            コミット履歴を綺麗にするときの`git commit --fixup`と`git rebase --autosquash` - 理系学生日記
          • Gitのrebaseとmergeの挙動の違いをGitHubを用いて検証してみた - Qiita

            最近Gitを新卒に教えることがあった@oliver_diaryです。 その中で、mergeとrebaseの違いを教える機会があったので、記事にしました。 Gitを使っていると、はじめに立ちはだかる関門だと私が勝手に思っているrebaseとmergeの違いですが、しっかりとこの2つの違いを理解し、メリット、デメリットを抑えておくと、Gitを使いこなしてる感が出ると思っています。 また、実際の挙動について、GitHubなどのリモートリポジトリでの挙動をベースとした説明をしている記事があまりなかったので、そこについて触れることで、より実践的にイメージできればと思います。 mergeについて まずはmergeですが、日本語では合流などと表現したりします。 例えば、masterブランチとtopicブランチが存在し、masterブランチにtopicブランチをmergeさせると、その名の通り、maste

              Gitのrebaseとmergeの挙動の違いをGitHubを用いて検証してみた - Qiita
            • 「Git 2.26」リリース、git rebaseのデフォルトバックエンドが変更される | OSDN Magazine

              分散型バージョン管理システムGit開発チームは3月22日、最新版となる「Git 2.26.0」のリリースを発表した。rebaseメカニズムの変更など、多数の機能が強化されている。 Git 2.26は1月に公開されたGit 2.25に続く最新版。大きな変更点としては、rebaseメカニズムの再実装がある。git rebaseのデフォルトでは従来は「apply」バックエンドがデフォルトとなっていたが、本バージョンではデフォルトで「merge」バックエンドが使われるようになった。これらのバックエンドは挙動が異なるため、もしワークフローが影響を受けた場合は、「rebase.backend」設定変数を「apply」に変更して以前のデフォルトに戻すことを推奨している。 リポジトリ間でのデータのやりとりを行う「Transport Protocol」では、「Transport Protocol v2」がデ

                「Git 2.26」リリース、git rebaseのデフォルトバックエンドが変更される | OSDN Magazine
              • Git履歴をgit resetとgit rebaseで管理する(翻訳)|TechRacho by BPS株式会社

                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: How I manage my git history | Binary Solo 原文公開日: 2023/05/26 原著者: Ayush 日本語タイトルは内容に即したものにしました。 Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License. 私は全般的に、どちらかといえば規則にうるさい方ですが、自分のプロジェクトでgit履歴を管理するときはこの性格が役に立ちます。以前の私はGitHubの"squash & merge"方式をしばらく使っていましたが、その後Chris Mooreからいくつかのコツを教わりました。 私は"squash & merge"方式が好きになれません。どんなに巨大なプルリクエ

                  Git履歴をgit resetとgit rebaseで管理する(翻訳)|TechRacho by BPS株式会社
                • Gitでブランチの派生元を間違えたときの解決方法(rebase --onto、cherry-pick) | 株式会社グランフェアズ

                  Gitでブランチの派生元を間違えたときの解決方法(rebase --onto、cherry-pick) Posted by NAGAYA on Jan 31st, 2019 Gitを使って複数人で開発を行う場合、自分の作業用に「ブランチ」を作る機会が多いと思います。 Git初心者の人であっても、はじめの方に触れる工程のひとつですよね。グランフェアズではブランチ作成のコマンドを次のように教えています。 $ git checkout -b {作成するブランチ名} {親にするブランチ名} ところが、この{親にするブランチ名}が正しく指定されない(=ブランチの派生元を間違える)と後々問題になってしまうことも…。実際にどんなことがあったのか、事例をもとに見ていきましょう。 「ブランチの派生元を間違える」とは 派生元の間違い方として思いつくのはこんなところでしょうか。 親にするブランチが古かった(ブラ

                    Gitでブランチの派生元を間違えたときの解決方法(rebase --onto、cherry-pick) | 株式会社グランフェアズ
                  • git commit --fixup と git rebase --autosquash で簡単に commit が整理できて感動した話

                    git commit --fixup と git rebase --autosquash で簡単に commit が整理できて感動した話 Written by @ryysud Apr 2, 2019 00:07 · 2636 words · 6 minutes read #git よくある面倒なシチュエーション PR を作成した際に、開発中にメインとなる実装の commit とは別に、レビューを受けての修正であったり、ちょっとしたリファクタリングであったり、typo 修正などの細かな commit を、PR の中で粛々と対応するシチュエーションは、どなたにも経験があることだと思います。そして、マージ前に git rebase -i を使って commit を整理するにしても、エディタを開き、どれがどれに紐付く commit なのかをマッピングするのは非常に面倒な作業だと思います。 そこで今

                      git commit --fixup と git rebase --autosquash で簡単に commit が整理できて感動した話
                    • これで完璧! 図解でわかるgit rebaseの2つの使い方! | 侍エンジニアブログ

                      今回はまず「rebaseコマンド」の本質を、図を見てで学んでいきましょう。そのあとで、この手の話で、必ず話題に上がるmergeコマンドとの違いについて見てきましょう。それではよろしくお願いいたします。 rebaseとは まずrebaseコマンドを一言で言い表せば「指定したコミットを、ブランチを変えて作り直したり、ひとまとめにしたりして、ログを綺麗にするコマンド」です。 もっとシンプルにいえば「指定コミットを作り直して、ログを掃除するためのコマンド」とも言えるでしょう。と言葉で言っても理解しづらいと思います。その実践的な使い方を、図とともに見ていきましょう。 【なかなかエラーが解決できない…そんな悩みを解決します!】 登録無料で始められるプログラミングスクール「侍テラコヤ」 ・回答率100%のQ&A掲示板でエラーを解決! ・現役エンジニアとのオンライン相談で悩みを解決! ・50種類以上の教材

                        これで完璧! 図解でわかるgit rebaseの2つの使い方! | 侍エンジニアブログ
                      • 今更ながらGit rebaseの挙動をちゃんと理解して使えるようになる試み

                        TL;DR 最近チーム内で、mergeではなくrebaseを推奨する動きが出てきたので、この機会に rebase の動きをちゃんと理解しておこうという足跡です。 merge の動きを確認する まず、merge_aというブランチを作成し、一つコミットを作ります。 次にmerge_bというブランチを作成し、一つコミットを作ります。 再びmerge_aブランチに戻り、一つコミットを作ります。 ここで、merge_aにmerge_bをマージします。 すると以上のようにマージコミットが作成され、コミットの時系列の順にブランチが並びました。 rebase の動きを確認する まず、rebase_aというブランチを作成し、一つコミットを作ります。 次にrebase_bというブランチを作成し、一つコミットを作ります。 再びrebase_aブランチに戻り、一つコミットを作ります。 ここで b をベースにリベー

                          今更ながらGit rebaseの挙動をちゃんと理解して使えるようになる試み
                        • git rebaseが捗るオプション紹介 - madokaのブログ

                          git rebaseでfixupやsquashをよくつかうわたしが出会って感動したオプションたちを紹介してこうと思います。 rebase.autostash git rebase を行うとき、編集差分がある状態では実行できないため、stashして下さいてきなコメントが出てやり直しとなってしまうのが、なんとも面倒臭いと思うのです。 これを払拭するのがautostashです。 git rebase を実行した際に自動でgit stashを行い、rebaseの作業に移ります。そして、rebase作業が終わった際にはstashしたものを戻すgit stash popまでを自動でやってくれるというものです。ぜひ、おすすめしたい、、! rebase.abbreviateCommands git rebase -i で作業するとき、毎度出てくるこの画面。 pick 5f818fa edit file p

                            git rebaseが捗るオプション紹介 - madokaのブログ
                          • GUI GitツールのRebase, Cherry pick | フューチャー技術ブログ

                            Gitを使っての開発で、指定のツールや好みのGitクライアントを使っていると思います。 ターミナルの黒画面でGitコマンドを使うのはちょっと不安、GUI画面から画面を確認しながらGitを操作したい方向けの記事です。 GitのBranch作成やCheckout, Commit, Pushまで使えた方向けに、次の段階としてRebase, Cherry Pickなどの実行方法を説明します。 紹介するツール Sourcetree Visual Studio Code with Git Graphプラグイン IntelliJ IDEA Git操作イメージ説明にあたりGitツリーが以下の状態であることを前提としています。 feature ブランチは個人の開発ブランチです。master ブランチは状況により develop ブランチなどに適宜読みかえください。 初期状態 masterブランチへRebas

                              GUI GitツールのRebase, Cherry pick | フューチャー技術ブログ
                            • [小ネタ]git rebaseでコミットをまとめる | DevelopersIO

                              gitは大切です。とっても大切です。でも難しいです。 今回は、terminal上でgit rebaseを使用してコミットをまとめようとした際にハマったのでまとめます。 git rebaseでコミットをまとめる手順 以下の手順でコミットをまとめます。 git rebase -i HEAD~nコマンドの実施 (n個前のコミットから修正対象) viが立ち上がるので、まとめるコミットをpick -> fixupに修正する viを上書き保存して終了する(:wq) コミットをまとめる では実際にコミットをまとめてみます。 コミットログを確認 rebase_check.pyという足し算を行うpythonファイルを準備します。 rebase_check.py a = 2 b = 3 result = a + b print(result) git logコマンドを使用しrebase_check.pyのロー

                                [小ネタ]git rebaseでコミットをまとめる | DevelopersIO
                              • git merge squash と rebase - Qiita

                                merge の形式(メモ代わり) merge pr の時、選択は三つあります 普通の merge rebase merge squash merge この三つ何か違うのは、ローカルブランチ使って説明していきます ##masterブランチモデル 例えばこのブランチに幾つのcommitあったとして そして、また新しいブランチを作って、開発し幾つのコミットをします、そうすると、全体図はこういうふうになります 普通の Merge ブランチを合併する時、よくあるのは以下の操作になります masterブランチにcheckoutして,合併 :git merge devel そして用済みのブランチを削除 :git branch -D devel リモートブランチへpush :git push origin master 一見何の問題もないけど、でも実際どんな結果になったのでしょうか,合併前のブランチは以下

                                  git merge squash と rebase - Qiita
                                • Gitのパワーを最大限に活用するにはAtlassianによるチュートリアルがおすすめ - mergeとrebaseの比較や高度なgit logなど

                                    Gitのパワーを最大限に活用するにはAtlassianによるチュートリアルがおすすめ - mergeとrebaseの比較や高度なgit logなど
                                  • git rebase -iとgit rebaseをちゃんと理解する - 自分用メモ

                                    git rebase -iコマンドについてのメモです。 これまで、単に直前のnコミットをくっつけたり消したりして整理できる便利コマンドとして $ git rebase -i HEAD~n と叩いていましたが、なぜこれがrebaseなのかを理解していませんでした。 自分のこれまでの理解が狭かったという話で、同じような状況の方がどれだけいるのかわかりませんが、もしかすると役に立つかもしれないのでメモを書いてみます。 git rebaseで何が起こるのか まず、git rebaseすると何が起こるかを理解しました。 そのためにちょっと腰を据えて https://git-scm.com/docs/git-rebase#_description を読んでみると、git rebase <upstream>は以下のことをすると書いてあります: 現在のブランチにはあるが、<upstream>には無いコミッ

                                      git rebase -iとgit rebaseをちゃんと理解する - 自分用メモ
                                    • git rebase --rebase-margeについて - Qiita

                                      対象 gitでrebaseをよくするし、mergeはマージコミットを残す人。 rebaseするとmergeのマージコミットの記録が失われるのが困る人。 概要 付け替えたいブランチの先端を作業コピーにして以下を実施 git rebase --rebase-merge <付け替え先> -i git rebase --rebase-merge <付け替えたいブランチの根本> --onto <付け替え先> -i git rebase --rebase-merge=rebase-cousins <付け替え先> -i なるべく -i をつけてTODOリストを表示し、作業内容を確認する。 --rebase-merge とは By default, a rebase will simply drop merge commits from the todo list, and put the rebased

                                        git rebase --rebase-margeについて - Qiita
                                      • git のブランチを別のブランチへ付け替える (git rebase --onto)

                                        git-rebase--onto-tldr.md git のブランチを別のブランチへ付け替える (git rebase --onto) たまに --onto を使おうと思うと忘れているのでメモ. 基本(普通に rebase) これを %%{init: { 'gitGraph': { 'rotateCommitLabel': false, 'mainBranchName': 'develop' }, 'themeVariables': { 'commitLabelFontSize': '18px' } } }%% gitGraph commit id: "A" commit id: "B" commit id: "C" branch branch1 checkout branch1 commit id: "D" commit id: "E" commit id: "F" checkout d

                                          git のブランチを別のブランチへ付け替える (git rebase --onto)
                                        • 【Git】git rebase(リベース)でconflict(コンフリクト)が発生したファイルの修正方法をわかりやすく解説|エラー対処法:CONFLICT (content): Merge conflict in & error: Failed to merge in the changes.

                                            【Git】git rebase(リベース)でconflict(コンフリクト)が発生したファイルの修正方法をわかりやすく解説|エラー対処法:CONFLICT (content): Merge conflict in & error: Failed to merge in the changes.
                                          • Git mergeとrebaseの違い - Qiita

                                            概要 Gitのmergeとrebaseの違いが自分の中で曖昧だったのでまとめてみた。 ことの発端 「プルリク出す前に分岐元ブランチの最新状態にrebaseしてください」とよく聞く。 「履歴がきれいになるから」とか「差分が見やすいから」とかよく言われているが、実際どんなことなんだろうと気になった。 なんで「分岐元ブランチの最新状態を作業ブランチにmergeする」はだめなのかもよくわかっていない。 前提情報 今回の説明で使用する各ブランチの状況を図にまとめてみた。 言葉で説明する。(ごちゃごちゃ記載しているので「?」となったら図だけ見ていただければOK) mainブランチとworkブランチがある。 mainブランチは下記の順でコミットされている。 first_commit コミット1 コミット2 コミット3 workブランチはmainブランチのコミット1の直後から分岐して下記の順でコミットされ

                                              Git mergeとrebaseの違い - Qiita
                                            • gitのコミットの歴史を改変する(git rebase) 1 / 2 · けんごのお屋敷

                                              git には rebase というとても便利なコマンドがあります。その中でも特に便利なのが -i または --interactive オプションです。便利なのですがよく忘れるのでまとめもかねてこの記事で詳しく紹介します。 前提 この記事では説明のために以下のようなコミット状態である前提で話を始めます。よくあるコミットの流れです。 git rebase -i -i は --interactive とあるように、対話的に rebase が実行できるコマンドです。これでなにが出来るかというと コミットメッセージを編集する コミットをまとめる コミットを分割する コミットの順番を移動させる コミットを削除する など、いろんなことが出来ます。基本的な構文は [kengo@tkengo-mac] $ git rebase -i <commit> これだけ。 <commit> には特定のコミットを指定し

                                              • 【Git】カレントブランチの派生元確認方法・派生元を間違えていた場合のrebaseコマンドによる対応方法などなど - Qiita

                                                概要 先日Gitを使っていて「あれ、今いるブランチってどのブランチから派生して作ったんだっけ!?」「あ、派生元間違えていた...」となったことがあったので、その際の確認方法と付帯作業について備忘録を残します。 確認事項 カレントブランチがどこから派生したか ローカルに新規ブランチを作成するコマンド 派生元を間違えたときはどうすべきか ローカルブランチを削除するコマンド カレントブランチがどこから派生したか カレントブランチがどこから派生したかは、以下コマンドで確認ができます。 $ git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}'

                                                  【Git】カレントブランチの派生元確認方法・派生元を間違えていた場合のrebaseコマンドによる対応方法などなど - Qiita
                                                • git rebaseでconflictした際の対応をシンプルに確認 - Qiita

                                                  概要 下記のように、ある地点からfeatureブランチを切って開発を進めている間に、masterブランチにもcommitが行われるような状況はよくあると思います。 この状況にて、featureブランチからPRを出すときには、feature側にてmasterの先頭から変更コミットを生やすようにすることが多いと思います(fast-forward?)。 このときmasterのコミットとfeatureのコミットがコンフリクトした場合のgit rebase --continue、git rebase --skipの挙動を確認していきます。 状況 下記のようなgit logの状況から、featureブランチ側でgit rebase masterをしていきます。 target1 in feature、target2 in featureのコミットはmasterのコミットとコンフリクトしています。 tar

                                                    git rebaseでconflictした際の対応をシンプルに確認 - Qiita
                                                  • 『あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」』へのコメント

                                                    テクノロジー あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                                      『あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」』へのコメント
                                                    • Git 間違って rebase しちゃったのを元に戻したい - かもメモ

                                                      git rebase しくじった時。 私はよくしくじる! git reflog を使う git reflog で直近の変更がずら〜っと表示されるので、戻したい位置を選んでもとに戻すことができる $ git reflog 94677f475 (HEAD) HEAD@{0}: rebase (continue) (finish): XXXXX 94677f475 HEAD@{1}: rebase (continue): XXXXXXX 6cd481228 HEAD@{2}: rebase (continue): XXXXXXX b43e2b915 HEAD@{3}: rebase (start): XXXXXXX cb0a55a4e HEAD@{4}: checkout: moving from XXXXX // <- rebase 開始前のココ戻りたい … 戻りたい位置の HEAD@{n}

                                                        Git 間違って rebase しちゃったのを元に戻したい - かもメモ
                                                      • [git] rebaseが完了できない現象("--continue"を飛ばしてしまったため)の解消手順 - Qiita

                                                        rebaseでハマりました。 自力でなんとか解消できたのですが、ネットで情報を探せずに苦労したのでシェアします。 認識違いがありましたらコメントください。 現象 rebaseでコンフリクトが発生して、手作業で解消して、git rebase --continueを実行したら、以下のようなレスポンスが… $ git rebase --continue Applying: {コメント} No changes - did you forget to use 'git add'? If there is nothing left to stage, chances are that something else already introduced the same changes; you might want to skip this patch. When you have resolved

                                                          [git] rebaseが完了できない現象("--continue"を飛ばしてしまったため)の解消手順 - Qiita
                                                        • Image rebase and improved remote cache support in new BuildKit | Docker

                                                          Image rebase and improved remote cache support in new BuildKit We’ve just shipped new versions of the BuildKit builder engine, Dockerfile 1.4 frontend, and Docker Buildx CLI. Each of these comes with many new features. In this blog post, I’ll show one of them, a new copy mode in Dockerfiles, and explain why you should start to use it on your Dockerfiles. With the Dockerfile 1.4 release, the COPY a

                                                            Image rebase and improved remote cache support in new BuildKit | Docker
                                                          • [Git] 最初のコミットを含めてrebase -iする方法 | DevelopersIO

                                                            こんにちは。サービスグループの武田です。 結論だけ知りたい方!--rootだけ覚えてください! $ git rebase -i --root Gitを使っているとコミットの分割や統合が簡単に行えます。開発時は雑にコミットしておいたものを、PR前に整理するという方も多いのではないでしょうか。 そんな折に大活躍するコマンドがrebase -iですね。これを利用することで、歴史改変が簡単に行えます。そういえばVivy -Fluorite Eye’s Song-がおもしろいですね。見ていない方はぜひ。アマプラでも見れます。 さてそんなrebase -iなのですが、最初のコミットを対象にする場合、追加のオプションが必要となります。簡単に確認してみましょう。 $ mkdir git_rebase_test && cd $_ $ git init $ touch README.md $ git add

                                                              [Git] 最初のコミットを含めてrebase -iする方法 | DevelopersIO
                                                            • 【Git】将来の自分を救うのは、rebaseだと僕は思うよ | 技術は熱いうちに打て!

                                                              概要 どうも、@daiki1003です!先日、 @riscaitさんが Gitに関する興味深いアンケートを行っていました。 プルリクエストでマージ先(例えばfeatureブランチから見たdevelopブランチ)の更新を取り込みたいとき、どうしてますか? — 村松龍之介@FlutterとFirebaseでアプリ作る人 (@riscait) April 25, 2021 皆さんはどれに当てはまりましたか? 僕個人としては、強くrebaseを推し進めたいです。 本記事では、 ・rebaseすることによるメリット・デメリット について書いていこうと思います。 もし、意見があればぜひ@daiki1003までお気軽にお願いします! 僕もいろんなプロジェクトに参画させていただく中でこの手の話は 結構しているのでちょうど良い機会だなと思っています。 それでは行ってみましょう! ※記事を読みやすくするために

                                                                【Git】将来の自分を救うのは、rebaseだと僕は思うよ | 技術は熱いうちに打て!
                                                              • Learn to change history with git rebase!

                                                                One of Git's core value-adds is the ability to edit history. Unlike other version control systems that treat the history as a sacred record, in git we can change history to suit our needs. This gives us a lot of powerful tools and allows us to curate a good commit history in the same way we use refactoring to uphold good software design practices. These tools can be a little bit intimidating to th

                                                                • git rebase -iでsquashしすぎてしまった時に元に戻す

                                                                  B! 3 0 0 0 git rebase -iでコミットをまとめすぎてしまって元に戻って やり直したい、と思った時にどうやるか。 git reflogを使ってコミットを確認して戻す git reflogを使ってコミットを確認して戻す こんなGitのコミットがあるとします。 $ git log --oneline 03cf5a4 (HEAD -> master) commit 10 84d8c6c commit 9 46bf42c commit 8 3d8d4f2 commit 7 cc1a120 commit 6 512dcb6 commit 5 a3b1556 commit 4 4cce44d commit 3 b3c25fc commit 2 dcc7245 commit 1 f40706d test commit ここでcommit 7までのコミットをまとめたいとします。 reba

                                                                    git rebase -iでsquashしすぎてしまった時に元に戻す
                                                                  • git rebaseを初めて使った際のまとめ - Qiita

                                                                    環境 とくになし はじめに 今までrebaseを使ったことが無かったのですが、コードレビューを依頼した際に「マージコミットが邪魔で見づらい…」と言われてしましました。「ログを綺麗にするため」にrebaseについて学んだことのまとめです。 まず、ログがどのように綺麗になるのかを以下に説明します。 mergeを使った場合のログ(あまり綺麗ではないログ) 例えば下図のようなブランチが存在し、自分が今featureにいるとします。この状況でbugfixが入った最新のdevelopを取り込みたいと考えているとします。 マージを使って取り込みます。 無事取り込むことができました。しかし「git log」をしてみると時系列順に並ぶためfeatureのコミットが飛び飛びになってしまい、すごく見づらくなっています。 rebaseを使った場合のログ 最初の状況は先程と同じです。 rebaseを使って取り込んで

                                                                      git rebaseを初めて使った際のまとめ - Qiita
                                                                    • Git rebase 〜コミット履歴を綺麗にする技術〜 - Qiita

                                                                      はじめに ミライトデザイン Advent Calendar 2022 16 日の記事です。 昨日は ほげさんの 図解 DB インデックス でした。 データベースのインデックスについて図解で丁寧に書かれてます。 最近はあまり大きいデータに触る機会も少なく遅くなったらインデックス適当に張るか〜とふんわりとやってたのでこの機会に読んでとても学びになりました。 ほんと図解が超丁寧なのでこういう記事が書けるようになりたいです。 ほげさんほどではないですが、今年のアドベントカレンダーは気合を入れて書き上げました💪 今回はハンズオン形式でgit rebaseをマスターします💪 Gitシリーズ記事まとめ Git rebase 〜コミット履歴を綺麗にする技術〜 😈 あなたのコミット汚れてない? $ git log --oneline c1aa188 (HEAD -> topic-1) テストを実装し直

                                                                        Git rebase 〜コミット履歴を綺麗にする技術〜 - Qiita
                                                                      • rebaseをちゃんと理解して使えるようになろう! - Qiita

                                                                        bブランチ * f23vd43 Eコミット * 2f6c625 Cコミット * cf890e0 Bコミット * 8721950 Aコミット を aブランチ * e750862 Dコミット * 2f6c625 Cコミット * cf890e0 Bコミット * 8721950 Aコミット でリベースすると ⬇️ bブランチ * 34jfil3 Eコミット * e750862 Dコミット * 2f6c625 Cコミット * cf890e0 Bコミット * 8721950 Aコミット rebaseの場合はEコミットのハッシュ値が書き換わってしまいました。 コミットメッセージが一緒なだけで、別物のコミットと認識されてしまいます。 rebaseしたら何が変わる? 先ほどはハッシュ値が変わることを説明しました。 変わるのは他にもあります。 CommitDateです。 コミットにはAuthorDateとCo

                                                                          rebaseをちゃんと理解して使えるようになろう! - Qiita
                                                                        1

                                                                        新着記事