タグ

gitに関するnobeansのブックマーク (140)

  • 派生元のブランチでの部分的な履歴改変をgit rebase -iで簡単に取り込む - Qiita

    この記事はNTTテクノクロスアドベントカレンダー 2021 13日目の記事です。 はじめに こんにちは。NTTテクノクロスの中野です。 とツイートした内容なのですが、ちょうどいいのでここでまとめておきます。 もしかするとよく知られた方法かもしれませんが、気にしません。 状況設定 トピックブランチAで一通り実装した後、マージリクエスト1を出してレビュー待ちしている間に、次のタスクの実装を進めたい。 でも、さっきのトピックブランチAの実装内容を利用する必要がある。 みたいな状況ってありますよね。で、そういうときに、 (1) ローカルのトピックブランチAをもとにトピックブランチBを生成する。

    派生元のブランチでの部分的な履歴改変をgit rebase -iで簡単に取り込む - Qiita
    nobeans
    nobeans 2021/12/13
    この前見つけた方法をアドベントカレンダーの記事にまとめようとしたらさらに良い方法を教えてもらえたので完全に俺得
  • なぜ git rebase をやめるべきか - Frasco

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

    なぜ git rebase をやめるべきか - Frasco
    nobeans
    nobeans 2017/12/19
  • git のエイリアスとして peco で branch 一覧を表示し checkout できるようにする - blp1526 blog

    ターミナルから tig refs と打つと refs の一覧画面が表示されます。 さらに、refs の中から checkout したいものを選択し、 Shift + c を打つと、選択したものにチェックアウトすることができます。 大変便利な機能ですが、ローカルブランチだけでなくリモートブランチやタグも表示されてしまいますので、 ローカルブランチだけを見たい場合には表示される量が多すぎますし、 また、チェックアウト時には当にチェックアウトをするか否かの確認の [Yy/Nn] を打たなければならず、確認を飛ばしたくなる場合もあるかと思います。 そこで、git のエイリアスとして、tig に倣い git refs を用意しました。 .gitconfig に [alias] refs = !git checkout $(git branch | peco | awk '{ print $NF }

    git のエイリアスとして peco で branch 一覧を表示し checkout できるようにする - blp1526 blog
    nobeans
    nobeans 2017/01/12
  • Gitで、事前にUnicodeの結合を行う - Faith and Brave - C++で遊ぼう

    WindowsMacでリポジトリを共有していると、日語ファイル名の問題が出てきます。「ボタン.png」のようなファイルがあった場合、Windowsのファイルシステムでは「ボ」はひとつのコードポイントとして扱われますが、Macのファイルシステムでは「ホ」と「゛」が分解されます。 これは、Unicodeの結合文字に対する正規化の扱いが、OSのファイルシステムごとに異なるということです。 これによって、Gitを使ってWindowsで「ボタン.png」をコミットし、Macでそのコミットを持ってくると、「ボタン.png」を削除して「ホ゛タン.png」を追加するような動作になるのです。 この問題を解決するために、Mac OSでのGit実装には、core.precomposeUnicodeという設定があります。configファイルで以下のようになっていた場合、 [core] … precompose

    Gitで、事前にUnicodeの結合を行う - Faith and Brave - C++で遊ぼう
    nobeans
    nobeans 2016/02/08
  • Gitのデータモデル

    近藤です。こんにちは。Gitは様々な利用の仕方ができますが、その基盤となるモデルは8個だけの簡単なモデルです。これらのモデルを理解していない状態でGitを利用すると、あたかもリポジトリが壊れたように見えてしまいます。Gitは難しいと言われますが、そういう感想を持つ人はGitのモデルを理解していない事が多いようです。 今回はGitを構成する中心モデルと、基的なコマンドを実行した時のオブジェクト関係を解説します。 基概念 Gitの基概念は大きく2つにわかれます。 GitObject Reference GitObjectはGitで管理するオブジェクトです。CommitなどがGitObjectです。Gitリポジトリである.gitを開くとobjects配下にあるファイルがGitObjectです。GitObjectはそのコンテンツをハッシュ化した文字列を元に、先頭2文字で配置フォルダ、残りの文

    Gitのデータモデル
    nobeans
    nobeans 2015/07/17
  • GitHubコミットメッセージの英語の書き方の文例が検索できるサービス作った - 城陽人の本棚

    経緯 個人的にgit commit -m " うっ、英語でなんて書けばよいんだろう。。。。ってなることが多くて、GitHubの公式の検索ってソースコードは検索できても、コミットメッセージをリポジトリ横断的に検索したいなんてことはできないんですよねぇ。まぁネイティブな人にはそんなこと思いもしないのかも知んないですが。調べてみたらGitHub APIでコミットメッセージ取れるようなので、現場のリアルな生の文例を集めて検索できるようにすればよくね?ということで勉強がてら作ってみたので、需要あるか分からないけど同じこと思ってた人のために晒す。 作ったもの http://commit-m.minamijoyo.com/ 使い方 テキストボックスにキーワード「fix bug」などを入力してSearchボタン押すと検索結果が表示される。以上。 機能の補足説明 キーワードはスペース区切りでAND検索になる

    GitHubコミットメッセージの英語の書き方の文例が検索できるサービス作った - 城陽人の本棚
    nobeans
    nobeans 2015/05/25
  • http経由の git コマンド(push,clone,fetch..)等がなんかうまく動かないときにデバッグする方法 - tanacasinoのメモ

    git push、git pull なんかがどうにもこうにもエラーだなーって時に使えるかもしれないワザ。 リモートレポジトリのURLがhttp/https の場合に限るです。 GitBucketを使った際に、 git cloneできない問題 に引っかかった時にデバッグで使用しました。 環境変数「GIT_CURL_VERBOSE=1」を設定しておくと、通信内容(curl)のDEBUGを出すことができますという話。 $ GIT_CURL_VERBOSE=1 git clone http://localhost:18080/gitbucket/git/root/test01.git Cloning into 'test01'... * Couldn't find host localhost in the .netrc file; using defaults * About to connec

    http経由の git コマンド(push,clone,fetch..)等がなんかうまく動かないときにデバッグする方法 - tanacasinoのメモ
    nobeans
    nobeans 2015/05/21
    “GIT_CURL_VERBOSE=1”
  • OS XとWindows上のGitとMercurialに致命的な脆弱性

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    OS XとWindows上のGitとMercurialに致命的な脆弱性
    nobeans
    nobeans 2015/01/06
  • GitLab flowから学ぶワークフローの実践 | POSTD

    Gitによるバージョン管理では、従来のSVNなどよりずっと簡単にブランチングやマージができます。さまざまなブランチ戦略やワークフローが可能であり、以前のシステムに比べるとほとんど全てが改善されたと言えるでしょう。しかしGitを利用する多くの組織はワークフローの問題に直面します。明確な定義がなく複雑で、Issue Tracking Systemと統合されていないからです。そこで、明確に定義された最良の実践的方法としてのGitLab flowを提案したいと思います。issue trackingには feature driven development と feature branches を組み合わせます。 他のバージョン管理システムからGitに移行する際によく耳にすることは、効果的なワークフローの開発が難しいということです。この記事ではGitワークフローとIssue Tracking Sys

    GitLab flowから学ぶワークフローの実践 | POSTD
    nobeans
    nobeans 2014/10/23
  • コミュニケーションツールとしての Git & GitHub

    PHP Conference 2014 Web デザイナ向け GitHub ハンズオン #p4d #phpcon2014 で発表させていただきました。 https://joind.in/talk/view/12049

    コミュニケーションツールとしての Git & GitHub
    nobeans
    nobeans 2014/10/16
    "生煮え"
  • git-ignoreというコマンドを書いた話 - ( ꒪⌓꒪) ゆるよろ日記

    git-ignore add みたいのが欲しい— azu (@azu_re) August 24, 2014 ちょろっと書けそうだったので書いた。 yuroyoro/git-ignore · GitHub Demo Installation PATH通った場所においてくれ curl -sL https://raw.githubusercontent.com/yuroyoro/git-ignore/master/git-ignore > ~/bin/git-ignore Examples `git ignore add "pattern"`で、.gitignoreへ追加する。 $ git ignore add '*.log' .gitignoreから削除するには、`git ignore remove "pattern"`を実行する。 $ git ignore remove '*.log' a

    git-ignoreというコマンドを書いた話 - ( ꒪⌓꒪) ゆるよろ日記
    nobeans
    nobeans 2014/08/25
    便利そう
  • Atom Contribution Guideline - r7kamura per second

    Atomの開発者向けガイドライン で紹介されている、汎用的に適用出来そうな項目をまとめた。 Pull Request 出来るだけスクショやアニメGIFを貼ろう 期待する挙動を書こう 似た機能をどこかで見たことがあれば紹介しよう 言語ごとのガイドラインに従おう コードにドキュメントを書こう 良い文章を伴った構造化されたテストを書こう ファイルの末尾には改行を入れよう プラットフォーム依存のコードは避けよう Commit Message 現在時制で書こう 命令形で書こう 1行目は72文字以内に収めよう 関連するIssueやPull Requestに参照を貼ろう 形式的なものには絵文字を使おう (整形、速度改善、ドキュメント更新など)

  • Atomのコード読みまくったので、git-grepの結果へジャンプできる拡張を作ってみた - mizchi's blog

    ここしばらく気が狂ったようにGithubのAtomのコードを読んでた。 コードリーディングの成果はここに貼ってる。まだ更新するかもしれない atom-reading.md で、大体のコードを読んだのはいいとしてなんか作らないと勿体無い気がしたので、エディタ内でgit-grepの結果見てジャンプできるやつ作った。 mizchi/atom-git-grep 自分で作っといてなんだけどくっそ便利だと思う。Sublimeで作りたかった。 プラグインの作り方の大雑把な概要 nodeのモジュール使って、普通のブラウザっぽいUIを組む。基パーツはatom側に揃ってるので継承して使う。 必要なインスタンスはだいたいatom変数以下に入ってる。shift+cmd+I でデバッガ開いて叩きまくるとだいたい察することができる。 プラグインのスケルトン生成 shift+cmd+p でコマンドパレット出して、 P

    Atomのコード読みまくったので、git-grepの結果へジャンプできる拡張を作ってみた - mizchi's blog
    nobeans
    nobeans 2014/05/12
    git-grep大好き人間だけどこれ便利すぎる
  • .gitattributesのeol=crlfは改行コードをCRLFに変換してチェックインするものではない - エンジニア的考察ブログ

    https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html eol This attribute sets a specific line-ending style to be used in the working directory. It enables end-of-line normalization without any content checks, effectively setting the text attribute. Set to string value "crlf" This setting forces git to normalize line endings for this file on checkin and convert them to CRLF when the f

    .gitattributesのeol=crlfは改行コードをCRLFに変換してチェックインするものではない - エンジニア的考察ブログ
    nobeans
    nobeans 2013/12/17
  • Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば

    Git に同梱されている contrib/diff-highlight を使います。 あとは README に書いてあることの引き写しですが、PATH の通ったディレクトリに置いて、~/.gitconfig に以下のように設定を書く。 [pager] log = diff-highlight | less show = diff-highlight | less diff = diff-highlight | less すると、対応するコマンドの出力がこんな風になります。 行レベルの diff に加えて、単語レベルでの diff もハイライトされ、GitHub での diff のように描画されました。 組み込みのオプションで --color-words というのがありますが、こちらを使うと行レベルの diff 情報が失われるので、少し不便だったわけですね。とすべて README に書いてあ

    Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば
    nobeans
    nobeans 2013/11/27
    GIT_PAGER指定してる場合ははずすべし
  • Git - gitattributes Documentation

    English

    nobeans
    nobeans 2013/11/23
  • GTUG Girls原稿

    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

    GTUG Girls原稿
    nobeans
    nobeans 2013/11/07
  • hub · an extension to command-line git

    hub is an extension to command-line git that helps you do everyday GitHub tasks without ever leaving the terminal. Read the full documentation: man hub, or visit this project on GitHub. # install with Homebrew (macOS, Linux) # or see other installation options brew install hub hub version git version 2.25.0 hub version 2.14.2 # ← it works! # indicate that you prefer HTTPS to SSH git clone URLs git

    nobeans
    nobeans 2013/09/30
    browse便利
  • 2012-05-06

    コミットメッセージなんて、一般的にはgit自体のガイドラインや Gitのコミットメッセージに関する注意点を守ってればなんの問題もないと思います。先頭行は先頭大文字の現在形ではじめて、一行開けて詳細云々。 ただ最近gitに慣れてきて、rebase -iしまくるために過去のコミットをgit log --onelone | grepで一発特定できると嬉しい、という特殊事情が私の中だけで発生してまして、そのためにある程度コミットメッセージを統一しておきたくなりました。探しても深く主張しているものはあまり見当たりませんでしたので、俺ルールをどう作るかってエントリです。 全体の体裁 基的に一行で全て済ませます。一行目に書かないと--onelineに出てこないのでgrepできません。72文字ルールは無視します。 3行目以降の詳細は余程のことがない限り書きません。主流とは逆になると思いますが、diff見

    2012-05-06
    nobeans
    nobeans 2013/09/04
    "なおgit rebaseはマージコミットの再現に関しては非常に弱くて、...(snip)...rebaseすると消失します。--preserve-mergesを付けても自動マージ分しか再現してくれません。"
  • 作業中のGitリポジトリをSourceTreeで開くコマンド「stree」

    @kasumiiです。こんにちは。 遅ればせながらGitGUIクライアントとして有名な「SourceTree」をインストールしまして、いろいろググってたら以下のブログ記事から「stree」というコマンドを発見。便利そうなので設定してみることに。 【参考】コマンドラインから今いるgitレポジトリをSourceTreeで開く | MemeTodo SourceTreeのバージョン1.3から、Command Line Toolsをインストールすれば「stree」コマンドで作業中のリポジトリをすぐ開けるようになったらしい。 【参考】SourceTree 1.3 Release Blog – Welcome to the Party! | Atlassian Blogs 公式ブログを見てみると、SourceTreeのメニューからCommand Line Toolsをインストールできるけど、AppS

    作業中のGitリポジトリをSourceTreeで開くコマンド「stree」
    nobeans
    nobeans 2013/07/18