タグ

gitに関するNobiNobiKotaのブックマーク (19)

  • git pull を強制し、リモートでローカルを上書きする方法 | WWWクリエイターズ

    git pull して、リモートブランチの最新に合わせようとしたら・・、あれ?コンフリクト・・?なにこれ、うまくいかない!「git push -f origin masterして強制Pushはできたのに。git pull -f origin master的な強制コマンドはないの?!」 とにかくリモートに合わせたい。そんなあなたのための、解決方法と解説です。 「git pull --force」は存在しない・・。 「git push --force」というコマンドがあるので、そこから連想してしまいますが、「git pull --force」というオプションは存在しません。 git pull の強制的に実行するには、別のコマンドが必要になりますので、見ていきましょう。 git pull で、ローカルを強制上書きする方法 ローカルのmasterを、強制的にリモートのmasterに合わせる //

  • 慣れてきたらコミットをまとめてPull Requestしよう(git merge –squash)

    Git使い始めは、コミットの内容や粒度にまで気が回らない!ですよね。それに、「リポジトリは非公開で見るのは社内のメンバーのみ」といった環境や、厳密な「バージョン管理」が必要ないプロジェクトを扱う場合は、リモートにある統合ブランチ(masterやdevelop)のコミットが多少荒れていても気にならない・問題にならない事が多いと思います。 特にGitは慣れるまでに時間がかかるので、最初からルールが厳しいと導入が難しくなることも。グランフェアズでも、コミットのルールは特に決めていませんでした。なので、リポジトリのコミットは荒れ放題です…!(苦) 全社的にGit稼働させてから1年半。日常的な操作はだいぶスムーズになったので、そろそろリモートで共有されるコミットの状態を気にしよう、というお話です。 コミットをまとめてPull Requestを送る グランフェアズでは、開発最新状態を維持する統合ブ

    慣れてきたらコミットをまとめてPull Requestしよう(git merge –squash)
  • git worktree コマンドを使って複数ブランチを並行して操作する - kakakakakku blog

    個人で使っている Git リポジトリ(GitHub リポジトリ)の中に「複数ブランチを並行して操作する頻度が高いリポジトリ」がある.例えば,以下のように「4個」のブランチがあり,どれも操作する可能性がある場合など.今までは頻繁にコミット(git commit コマンド)をしてからブランチを切り替えたり,一時的に退避(git stash コマンド)をしていたけど,頻度が高くなると少し面倒だった. master or main ブランチ branch-a ブランチ branch-b ブランチ branch-c ブランチ git-worktree(git worktree コマンド) 操作を改善するために調べたところ「git-worktree」という機能があった.今まで知らなかった!そして Git 2.5(2015年7月リリース)から使える機能だった📣「git-worktree(git wor

    git worktree コマンドを使って複数ブランチを並行して操作する - kakakakakku blog
  • Git 戻す系の処理を自分の理解の為にまとめてみた - ロックとチュウーハイとこりんがるな日々

    先週Gitでファイルを巻き戻す時にどうするのかを聞かれてうまく説明できなかったので以下に自分がちゃんと 理解していないかを痛感したので自分の為にまとめてみる事にしました ※Gitのinstallや基的な操作についてはふれません Gitは以下の3つのファイルの状態を持っています ワーキングツリー 現在のファイルの状態 インデックス addした時点のファイルの状態 HEAD commitした時点の状態 Gitが上記の3つのファイルの状態を持っている事をふまえて一連の流れを書きます git init 適当なディレクトリを作成しそのディレクトリ内で以下のコマンドを発行する $ git init この時点のGitの状態 ファイルを作成する $ vim index.html <!DOCTYPE HTML> <html lang="jp"> <head> <meta charset="UTF-8">

    Git 戻す系の処理を自分の理解の為にまとめてみた - ロックとチュウーハイとこりんがるな日々
  • Git - 配管(Plumbing)と磁器(Porcelain)

    1. 使い始める 1.1 バージョン管理に関して 1.2 Git略史 1.3 Gitの基 1.4 コマンドライン 1.5 Gitのインストール 1.6 最初のGitの構成 1.7 ヘルプを見る 1.8 まとめ 2. Git の基 2.1 Git リポジトリの取得 2.2 変更内容のリポジトリへの記録 2.3 コミット履歴の閲覧 2.4 作業のやり直し 2.5 リモートでの作業 2.6 タグ 2.7 Git エイリアス 2.8 まとめ 3. Git のブランチ機能 3.1 ブランチとは 3.2 ブランチとマージの基 3.3 ブランチの管理 3.4 ブランチでの作業の流れ 3.5 リモートブランチ 3.6 リベース 3.7 まとめ 4. Gitサーバー 4.1 プロトコル 4.2 サーバー用の Git の取得 4.3 SSH 公開鍵の作成 4.4 サーバーのセットアップ 4.5 Git

  • git-flow cheatsheet

    About git-flowはgitの拡張であり、Vincent Driessenの提唱するブランチモデルを実現するための高度なリポジトリ操作を提供します。 more ★ ★ ★ このチートシートは基的な使い方とgit-flowの効果を表します。 ★ ★ ★ Basic tips Git flow は素晴らしいコマンドライン補助と出力を提供します。何が起こるか注意深く読み解いてください。 macOS Clientの Sourcetree は素晴らしいGUIgit-flowサポートを提供します。 - Git-flow はマージすることをベースとして考えるソリューションです。リベースは行いません。 ★ ★ ★ macOS Homebrew $ brew install git-flow-avh Macports $ port install git-flow-avh Linux $ apt

  • ぼくが実際に運用していたGitブランチモデルについて

    オペレーションとかインフラ系のエンジニアリングからは少々離れそうなので、個人的な備忘録がてら、Gitのブランチモデルについて。淡々と書くよ。 見えないチカラ: A successful Git branching model を翻訳しました 基的に、このA successful Git branching model(上記は翻訳記事)を参考にしています。ですが、完全ではありません。運用しながら都合よく省略していますし、悪く言えば曲解もしています。あくまで、わたしが都合良く解釈して取り回した結果と考えてください。 さて、このようなドッシリとしたブランチモデルが、あらゆる規模のプロジェクトに対して有効であるかといえば、もちろんそうではありません。コツコツ個人で開発しているライブラリなどは、ブランチを使わなくても良いケースがあるでしょうし、作ってもバージョン番号ブランチぐらいのケースだってザラ

    ぼくが実際に運用していたGitブランチモデルについて
  • Git - Book

    The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com. The version found here has been updated with corrections and additions from hundreds of contributors. If you see an error or have a s

  • 【翻訳】Gitをボトムアップから理解する

    John Wiegleyさんの "Git from the bottom up" を翻訳しました。 元PDFはこちらからダウンロードできます: http://newartisans.com/2008/04/git-from-the-bottom-up/ 元記事のライセンスがクリエイティブコモンズのBY-SAであったため、この翻訳もBY-SAとなります。 ライセンスを守って自由にご利用ください。(詳しくは記事内の最初にも書いてあります) 翻訳ミスの指摘や改善の提案等があればブログコメントやTwitter(@oshow)などで遠慮なくどうぞ。 Git をボトムアップから理解する Wed, 2 Dec 2009 by John Wiegley 私が Git を理解しようと調査した時、高級なコマンドの視点から眺めるよりボトムアップ式に理解することが役立った。そしてボトムアップ視点で見る Git

    【翻訳】Gitをボトムアップから理解する
  • Git の仕組み (1) - こせきの技術日記

    目次 はじめに Git を使ったことがない方へ 生のデータが見たい方へ Git の全体像 .git の中身 Git オブジェクトデータベース 4種類のオブジェクト リファレンス リファレンスのリファレンス 大きなツリー Git オブジェクトの ID と 中身 ハッシュ関数 SHA1 の簡単な説明 tree と blob オブジェクト tree と blob の参照関係 ルートツリーの ID でツリー全体を識別する commit オブジェクト リファレンスとブランチランチランチ先頭を指すリファレンス HEAD リファレンス detached HEAD 2種類のタグ 一時待避 (stash) インデックス キャッシュとしての役割 マージ Fast-Forward マージ non Fast-Forward マージ rebase reset 2種類のブランチ 各リポジトリが自分のブランチ

    Git の仕組み (1) - こせきの技術日記
    NobiNobiKota
    NobiNobiKota 2017/08/12
    “Git の仕組み (1)”
  • 【Git】fetch / merge / pull の違いと強制的にmergeする方法について - haruakinosuke's blog

    自分でgithubにアカウントをもってgit add とか git pushとかはやっていたんだけど、 今回他の方が管理しているリポジトリをいじることになって、fetch / merge / pullとか使ってなくて、 頭の中で整理できていなかったのでメモ。 ついでに強制的にmergeする方法についても調べました。 まず、fetch / merge / pullの役割はこんな感じ。 git fetch origin ➡ リモートリポジトリ(origin)の変更をローカルリポジトリのブランチ(origin/master)に反映させる git merge origin/master ➡ ローカルリポジトリのブランチ(origin/master)の変更をローカルリポジトリ(master)に反映させる git pull ➡ fetch + merge ※masterとorigin/masterの違

    【Git】fetch / merge / pull の違いと強制的にmergeする方法について - haruakinosuke's blog
  • なぜdevelopブランチは必要なの?

    「Gitのブランチ構成どうしましょうか?」 「とりあえずdevelop切ってやっていきますね。」 そのdevelopブランチ当に必要でしょうか。 developブランチだけ使われていて、masterが全く使われていなかったりしないでしょうか。 よく聞かれるブランチ戦略としてはgit-flowGitHub Flow、、GitLab Flow等があります。 git-flowにおいてはdevelopやhotfix、releaseといったブランチがありますが、GitHub Flowにはmasterブランチと機能開発ブランチの2つしかありません。GitLab Flowはmasterを中心に開発を行い、productionブランチを安定させていくスタイルです。 実際に新しいプロジェクトを始めるとしたら、どの構成が良いのでしょうか。 今回はカウルを開発するにあたり採用したブランチの構成とその背景につ

    なぜdevelopブランチは必要なの?
  • Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ · DQNEO日記

    Home Subscribe この2行のコマンドを見て((;゚Д゚))ガクブルした経験はないでしょうか? 私は恐怖を感じました。 "remote"と"add"と"origin"と"push"と"master"の意味がわからん!! 人間(というか私は)は、わからないものが3つ以上同時に登場すると、ストレスを感じるものです。 この場合は5つもあるのでものすごいストレスです。 でもご安心を! これから超わかりやすく解説します! git remote add origin ... の意味は? ずばり、 URLに"origin"という短縮名(ニックネーム)を付ける したがって、git remote add unko .... と書いてもかまいません。 慣習上、"origin"という名前が使われることが多いというだけのことです。 そして、ここが重要なのですが 別にニックネームをつけなくてもよい。(

    Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ · DQNEO日記
  • 引数なしのgit pushは危険なので気をつけましょう · DQNEO日記

    絨毯爆撃pushの例 いまmasterブランチに、未プッシュのコミットがあるとします。 ここで、新たにbr1ブランチを作ってチェックアウトします。 $ git checkout -b br1 master $ git branch * br1 master br1ブランチでコミットを作ります。 echo hello >> hello.txt git add . git ci -m "add file" 引数なしでプッシュします。 git push すると、どこに何がpushされると思いますか? 実は、master -> masterにpushされます。 masterがまだpushできる状態でない場合、これはかなり痛い。すごく痛い。頭が頭痛でおなかが腹痛。 しかもpushしたかった当のbr1ブランチはpushされないというオチ。(リモートにbr1ブランチがない限りは) この挙動は大半のユーザ

  • git stashの使い方 - weblog of key_amb

    ローカルのワーキングツリーを編集した状態でgit pullすると、警告が出てpullできないことがある。 そんなときは、git stashで一時保存するとよい。 すると、ローカル編集がstashに退避されるので、pull可能になる。 pullした後、git stash pop で stash に退避した内容が自動でマージされる。 まとめると、下記の順にコマンド実行するとよい。 git stash git pull git stash pop 参考 transitive.info - git stash 使い方

    git stashの使い方 - weblog of key_amb
  • git add の取り消し方法と、関連コマンドまとめ | WWWクリエイターズ

    git add してステージしてしまったファイルを取り消しする Git コマンドについてです。勢いよく git add したはいいけど・・、あれ?元に戻せない・・・。というのはよくある話です。 今回、git add の取り消し方をマスターして、うまくコミットをコントロールしましょう。 git add とは? まずはおさらいですが、git add は、作業ツリー�の更新内容を、インデックスに反映するための Git コマンドです。インデックスに追加された変更内容は、「git commit」を実行した際に、そのコミットに含まれる事になります。 さて、今回のテーマは「いったん git add してしまったインデックス上の変更内容は、どうやって取り消すのか?」という問題でした。さっそく見ていきましょう。 git add した変更を、全て一括で取り消す方法 git reset で、インデックスを HE

    git add の取り消し方法と、関連コマンドまとめ | WWWクリエイターズ
  • Gitのステージング領域の正体を探る | メルカリエンジニアリング

    ソフトウェアエンジニアの @DQNEO です。こんにちは。 Gitの内部構造を深掘りするシリーズ3回目です。 前回までのお話はこちら Gitのつくりかた – Mercari Engineering Blog Gitのコミットハッシュ値は何を元にどうやって生成されているのか – Mercari Engineering Blog 今日はみんなだいすき「ステージング領域」の中身について解説してみます。 ステージング領域とは何か? 簡単に説明すると「次にコミットしたときにコンテンツとして登録されるもの」リストです。(別名「インデックス」ともいいます。) このリストは、 git addやgit rmしたときに書き換わります。 (古くはcacheと呼ばれていました。内部実装やgit diff --cachedに今もその名残があります。) git addのマニュアルに説明があります。 Git – git

    Gitのステージング領域の正体を探る | メルカリエンジニアリング
  • ステージを理解して git をもっと便利に使う

    git には「stage(ステージ)する」という概念があります。あるいは「index」と言い換えてもいいかもしれません。 簡単にいうと「stageする」=「特定の変更内容をindexに登録する」=「次回コミットに含めるようgitに指示する」ということなのですが、この概念は今まで主流だった CVS や Subversion といったバージョン管理システムにはありませんでいした。 長年CVSを使っていて、その考え方に凝り固まっていた私は、gitを使い始めてしばらくはstageやindexの概念を理解できなかったので、今回ここで紹介することにしました。 このstageとindexを覚えると「ひとつのコミットには、その主題となる変更と無関係な変更を含めない」という「バージョン管理システムを使う上で重要なはずなのに、つい疎かにしてしまいがち」なポリシーを簡単に実践できるようになります。 今回stag

  • 【git】git pushを取り消す - tweeeetyのぶろぐ的めも

    はじめに git pushを取り消すメモ。 ほとんど手順メモ程度な感じ+他記事で使うスニペット記事。 とはいえ、数あるgit便利コマンドの中で毎回使うものではないけど いざって時に役立つ、もしくは、困るのは取り消し系のコマンドですよね。 補足 他の取り消しもぱっと見たい自分用にまとめたので参考までに。 【git】add、commit、push、merge、pull request、merge pull requestの取り消し アジェンダ git resetでmasterへのgit pushを取り消す git resetでbranchへのgit pushを取り消す git resetでリモートのみgit pushを取り消す git revertでgit pushを取り消す commitの取り消しと操作は似てるのでそちらも参考にしてみてください。 →【git】git commitを取り消す

    【git】git pushを取り消す - tweeeetyのぶろぐ的めも
  • 1