タグ

gitに関するnitoyonのブックマーク (46)

  • git push -f が更に安全になる --force-if-includes - id:onk のはてなブログ

    歴史改変、してますか? 私は歴史改変が大好きで、毎日 rebase しています。なので割と毎日 git push -f することになっています。 口で -f と言っても、実際には --force-with-lease --force-if-includes をしているので、これらのオプションのご紹介。 この記事は はてなエンジニア Advent Calendar 2022 の 18 日目です。昨日は id:rokoucha さんで 壊れたデータベースとの向きあいかた - rokoucha でした。 qiita.com -f の危険性 ...--F--G--H <-- main という状態で push した後、H をコミットし直したとしよう。 ...--F--G--H' <-- main \ H <-- origin/main このまま H' (main) を origin/main に p

    git push -f が更に安全になる --force-if-includes - id:onk のはてなブログ
    nitoyon
    nitoyon 2022/12/18
  • Gitで巨大プロジェクトを扱うときに少し便利なupdate-ref|TechRacho by BPS株式会社

    ビルドに時間がかかる(数十分~数時間以上)プロジェクトを扱うときに役立つかもしれない、Gitの小ネタです。 Gitには git help しても出てこない( git help -a すれば出る)便利なコマンドがたくさんあり(※)、そのうちの1つ update-ref のご紹介です。 ※他には例えば update-index --assume-unchanged なども有名ですね。 どんなときに欲しくなるか こんな感じの、あるヘッダファイルに多数のソースファイルが依存するプロジェクトがあったとします。 repos |- common.hpp |- source1.cpp |- source2.cpp |- source3.cpp |- source4.cpp |- source5.cpp |- ... まずは master ブランチにいます。 $ git status On branch m

    Gitで巨大プロジェクトを扱うときに少し便利なupdate-ref|TechRacho by BPS株式会社
    nitoyon
    nitoyon 2019/09/28
    git branch -f master origin/master
  • gitにおけるコミットログ/メッセージ例文集100

    私はコミットログの書き方に悩む英語の苦手な人間である。実際、似たような人は世の中に結構いるようで、頻出単語を集計したりまとめたものは既にあって役に立つのだけれど、これらはあくまで単語の話であり、具体的な文を構成する過程でやっぱり困る部分がかなりあった。 要するに、どういう時にどういう文が使われているのか、ということを示した例文集が欲しいのである。ググると他にも「例文集があればいいのに」みたいな声はあるくせして、しかし誰も作ろうとしない。何なんだお前ら。それじゃ私が楽できないじゃないか。 仕方なく自分でまとめたので、増田に垂れ流しておく。 はじめにここで挙げているコミットログは全て実際のコミットログからの転載である。当然ながら各コミットログの著作権はそれぞれの書き手にある。いずれも各英文でググれば出てくるし、フェアユースの範囲なら許してくれるだろうと考え名前とプロジェクト名は割愛したが、ここ

    gitにおけるコミットログ/メッセージ例文集100
    nitoyon
    nitoyon 2016/07/25
    コミットログの1行目例文集。
  • Linking merged pull requests from commits

    ProductLinking merged pull requests from commitsWe've been including the containing branches and tags on commit pages to give you more context around changes. Now, commits in a repository's default branch will also show you the… We’ve been including the containing branches and tags on commit pages to give you more context around changes. Now, commits in a repository’s default branch will also show

    Linking merged pull requests from commits
    nitoyon
    nitoyon 2014/10/14
    GitHub でコミットのページから Pull request に飛べるようになった。便利。
  • 提言: コミットメッセージの一行目には要求仕様を書け - Qiita

    これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど、一行目を特別に処理する機能が多いので、一行目にできるだけ多くの情報を凝縮させることは重要です。またメッセージを一行しか書かない不届きな慣習のプロジェクトでは、十分な情報を持たないメッセージは無用の長物と化します。 良くないコミットメッセージ しかし私は、情

    提言: コミットメッセージの一行目には要求仕様を書け - Qiita
    nitoyon
    nitoyon 2014/05/30
    コミットログを Add や Fix で始めないための考え方。プログラマーではなくプログラムを主語にして書く。
  • 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 - 詩と創作・思索のひろば
    nitoyon
    nitoyon 2013/11/26
    contrib/diff-highlight を使う / Git for Windows にはついてない...
  • git コミット ID の衝突確率 - 2011-12-28 - はてなるせだいあり

    git はコミットを SHA1 で管理していることは、こんな場末の日記を好きこのんでご覧になられている皆さんならよくご存じかと思いますが、最近メイドガチャピン先生の「革命の日々! git のsha1は何桁あれば安全か」など、Linux において Git デフォルトの 7 桁表示のコミット ID が被りまくっていると話題のようですので、これについて考えてみましょう。 さて、ハッシュ関数については昔まとめたことがありますが、ようするに Radium Software Development さんの記事が素晴らしいという話です。それによると、Bob Jenkins 曰く「2^n 個のキーに関して,衝突の可能性を 1/(2^m) 程度に抑えたいならば, 2(n+m) ビットのハッシュ値を用いる必要があります」だそうな。 Linuxのコミット数は 220k=~262144=2^18 なので、衝突確率

    git コミット ID の衝突確率 - 2011-12-28 - はてなるせだいあり
    nitoyon
    nitoyon 2013/05/15
    SHA ハッシュの衝突確率について。
  • SourceTree for Windows beta signup | SourceTree Blog

    About SourceTree SourceTree is a free Mac client for Git and Mercurial version control systems. Learn More » Follow @sourcetree Subscribe to the Blog Looking for Git hosting? Meet Bitbucket – our free Git and Mercurial code hosting site with unlimited public and private repositories. Recent Posts Sourcetree for Mac 2.7 Sign-In Deprecated Sourcetree for Windows 2019 Preview Sourcetree 3.0 branches

    nitoyon
    nitoyon 2013/02/15
    Mac で有名な git クライアントの SourceTree の Windows 版が出るらしい。
  • こわくない Git

    8. コミットに入ってる情報 リビジョン (SHA-1 ハッシュ) 例: 23cdd334e6e251336ca7dd34e0f6e3ea08b5d0db Author (コミットを作成した人) 例: オープンソースプロジェクトにパッチを送った人 Committer (コミットを適用した人) 例: 受け取ったパッチを取り込んだ人 ファイルのスナップショット (tree) コミットで変更されたファイルを含むツリー(説明は省略) 1つ前のコミットのリビジョン 例: 4717e3cf182610e9e82940ac45abb0d422a76d77 9. コミットに入ってる情報 リビジョン (SHA-1 ハッシュ) 例: 23cdd334e6e251336ca7dd34e0f6e3ea08b5d0db Author (コミットを作成した人) 例: オープンソースプロジェクトにパッチを送った人 Co

    こわくない Git
    nitoyon
    nitoyon 2012/11/22
    ブランチの基本、merge --no-ff が推奨される理由、rebase 厳禁なケースについて。とても分かりやすい。/ http://kotas.hatenablog.jp/entry/2012/11/22/000046
  • 天下一gitconfig大会

    天下一gitconfig大会(サイボウズ社内git勉強会@2012/11/20)の@teppeisの資料です。 ぎっとぎとにしてやんよ GistDeck gistでmarkdown書いたらbookmarkletでプレゼンになるよ。 ↓これをBookmarkに登録してこのページで実行してみよー! javascript:(function()%7Bvar%20s%3Ddocument.createElement(%27script%27)%3Bs.setAttribute(%27src%27,%27https://raw.github.com/teppeis/gistdeck/fix/gistdeck.js%27)%3Bdocument.getElementsByTagName(%27head%27)%5B0%5D.appendChild(s)%3B%7D)()%3B 複数行のcodeとかが微

    天下一gitconfig大会
    nitoyon
    nitoyon 2012/11/21
    gitconfig の設定集。merge の ff=false 知らなかった。
  • git merge or rebase, ff or no-ff

    Kazuho Oku @kazuho バージョン管理システムの目的は変更履歴を管理することなんだから、git rebase とか履歴を改変するコマンドは言うまでもなくダークサイド 2012-11-09 16:58:32

    git merge or rebase, ff or no-ff
    nitoyon
    nitoyon 2012/11/15
    コンフリクトが頻繁に発生しうる環境では rebase すると「動かない」コミットになりがち。topic を rebase してマージではなく、topic を master へマージするか、master から topic へマージすべき、という話。
  • GITLAB: Self Hosted Git Management Application

    1. Keep your source code at your server! Your own lite app for projects/repositories hosting on your server. Fast, secure and stable solution based on ruby on rails. 2. Use Git! We use git as version control system for projects 3. Browse source-code, issues, comments. Manage team access to repository

    nitoyon
    nitoyon 2012/10/21
    GitHub クローン。
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    nitoyon
    nitoyon 2012/08/12
    msysgit でファイルの実行ビットを立てるには config core.filemode=false しておいて、"$ git update-index --chmod=+x filename" する。chmod の結果は反映してくれない。
  • サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

    ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。

    サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
    nitoyon
    nitoyon 2012/07/18
    入門だけじゃなく、逆引き辞書もある。たいていのことは、これで事足りそう。
  • Git Cheatsheet

    stash workspace index local repository upstream repository status Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the workspace and the index file, and paths in the workspace that are not tracked by git. diff Displays the differences not added to the index. diff commit or branch View the changes you have in your workspace

    nitoyon
    nitoyon 2012/06/16
    stash, workspace, index, local repository, upstream repository の関係。配色は変だが分かりやすい。プリントアウトできないからシートではないような気はする・・・。
  • GitHub for Windows

    GitHub Desktop Focus on what matters instead of fighting with Git. Whether you're new to Git or a seasoned user, GitHub Desktop simplifies your development workflow. Download for macOS Download for Windows (64bit)

    nitoyon
    nitoyon 2012/05/22
    GitHub が提供する C#/WPF 製の Windows 向けクライアント。GitHub 以外のリポジトリも管理できる模様。ソースは現時点では非公開。msysGit、Chromium embedded。 (リリース)https://github.com/blog/1127-github-for-windows
  • イラストでわかる!git入門の入門

    こんにちは、アシアルの志田です。 社内でもgitが浸透し、皆バージョン管理といえばgitだよね、という空気になってきました。 ですが、これまでバージョン管理システムを使ったことがない人にオススメしても、 「gitて…まあ…そりゃ…ねえ、いつかやらないといけないけど…」 「ギット?ジット?俺はgiはジと読む派なので、gitは胡散臭いと思う」 「そもそもバージョン管理して何が嬉しいの?なんか難しそうでいやだ」 というような反応ばかりでした。 きっとみんな、gitって難しくて訳のわからんもんだと思っているのでは?と思い、 今回はgit入門の入門、gitってなんだ?というところから、簡単にgitを使う際の流れについてご説明します。 ちょっと不安を覚えるようなイラストがついていますので、頑張って読んでください。 バージョン管理ってなに? プログラムを書いていて、こんなことありませんか?私はあります…

    イラストでわかる!git入門の入門
    nitoyon
    nitoyon 2012/05/10
    git の概念を分かってもらうために使うと役立ちそう。
  • Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashi

    Webサーバに Subversion のサーバを立てておき、HTMLCSS を commit することでWebサイトを更新する方法は、良く知られているテクニック、らしいですね*1。更新の履歴を残すことができるし、ましてチマチマとFTPやsftpでアップロードするよりずっと簡単です。 しかし SVN の代わりに git を使おうとすると、pushしてもリポートリポジトリではファイルを更新してくれません。 また、リポジトリはWebサーバ上に作るよりも、便利な管理インタフェースがある github(や噂のgitosis)に置いておきたいところです。 そこで、github の Post-Receive Hook を使うと、リポジトリに変更を push すると同時に、Webサーバにも同期させることができます*2。 Webサーバに同期する前に、Sphinxでドキュメントを整形したり、SassをC

    Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashi
    nitoyon
    nitoyon 2012/03/05
    github の Post-Receive Hook でデプロイ。
  • UsingGitWithWebKit – WebKit

    Tips and Tricks for using Git with WebKit See also: Proposed workflow for using GitHub for WebKit development ​How to setup an always up-to-date git-svn mirror of QtWebKit Proposal for moving WebKit development to Git Install See ​https://webkit.org/getting-started/#installing-developer-tools Checkout See ​https://webkit.org/getting-the-code/ Updating If you're not tracking the Subversion reposito

    nitoyon
    nitoyon 2012/02/20
    WebKit 開発者の git 利用手順。
  • about the unicode git

    nitoyon
    nitoyon 2012/02/12
    Unicode 対応版 msysGit が 1.7.9 の次のバージョンで出てきそうな気配? http://groups.google.com/group/msysgit/browse_thread/thread/408f7613d096f2c0