タグ

rebaseに関するngzmのブックマーク (5)

  • 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 をやめるべきか - Frasco

    Git での開発を数年間経験した後、徐々に日々の仕事の一部として、より高度な Git コマンドを使うようになりました。私は Git rebase を見つけてすぐにそれを毎日の仕事に使いました。リベースに精通している人は、どれだけ強力で魅力的なツールであるのか知っているでしょう。しかし、リベースには、初めてリベースを触ったときにはわからなかったのですが、いくつかの課題があることに気が付きました。これを説明する前に、マージとリベースの違いをおさらいしておきましょう。 最初に、feature ブランチを master にマージする例を考えてみましょう。マージすることにより、新しいマージコミット g を作成します。下のコミットグラフではマージした際に何が起こるのかを説明しています。また、開発が盛んなリポジトリでよく見かける「線路」のようなグラフになっているのが見て取れるでしょう。 マージの例 ある

    なぜ git rebase をやめるべきか - Frasco
  • [git]特定のコミットの内容を修正する - dackdive's blog

    直前のコミットを間違ったのでちょっと修正したい場合は $ git reset HEAD~ で1つ前に戻して修正後、再コミットすればいいんですが、 2つ以上前のコミットの内容を修正する場合にはどうすればいいのか調べてみました。 方法 先に、方法だけを書きます。 git rebase -i HEAD~[戻したいコミット数+1] コミットログの中から修正したいコミットを探し、pickをedit(または単にe)として保存 通常通りファイルを修正する git commit --amend(-m "[新しいコミットメッセージ]"をつけてもよい) git rebase --continue やってみる たとえばこんなコミット履歴になっているとします。 (コミットが新しい順に上から並んでいます) $ git log --oneline 1d6bb15 modified index.html 6b327c4

    [git]特定のコミットの内容を修正する - dackdive's blog
  • 初心者でもわかる!リベースの使い方を解説します | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、エンジニアの王です。今回は、Git初心者を悩ませるリベースについて解説してみたいと思います。 リベースが初耳 リベースを聞いたことはあるけど、使っていない 不安を抱えながらも、リベースをなんとなく使っている 上記に当てはまる方は、ぜひ読んでくださいね。 リベースで何ができる? コミットが綺麗になる! 以上です! この一言に尽きる! 具体的にどのように綺麗になるかというと…… コミット履歴がわかりやすくなる コミットメッセージを後から変える コミットの順序を後から変える 2つ以上のコミットを1個に統合する 一度コミットした内容を編集する といった具合でしょうか? 整理整頓が好きな方は、ぜひリベースを使いこなしていただきたいと思います! マージとリベース 2つのブランチの変更点を統合するとき、Gitの最も一般的なやり方は、マージとリベースを使うことです。マージは初回で説明したので、

    初心者でもわかる!リベースの使い方を解説します | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • プルリクエストの画面でMerge出来ない事がわかった場合にどうすればよいか考える。 - Qiita

    githubを使っていて、プルリクエストのMergeボタンが灰色になってて、 あ、コンフリクトが起きそう! と思った時にどう対応するのが一番よいのか考える。 前提条件 github flowを使っている hogehogeブランチ→masterに対してpull requestを送っている。 自分がhogehogeブランチで作業していて、最新の状態がローカルにある。 案 僕がいいと思った順に書いていきます。 案1.灰色になっていたのを確認した瞬間にgit rebase masterして解消する 前提 自分一人しかそのbranchで作業していない ある程度rebaseがどういうものなのかわかっている。 作業内容 git fetch origin git checkout master git pull origin master git checkout hogehoge git rebase

    プルリクエストの画面でMerge出来ない事がわかった場合にどうすればよいか考える。 - Qiita
  • 1