[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

gitに関するgolden_egggのブックマーク (87)

  • git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ

    この画像は文とは関係ありません。 こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 みなさん、git submodule コマンドは好きですか?git submodule は特定の状況下では便利なコマンドです。 社内アンケートでも25%が怖いという結果に しかし、なぜか世間にはgit submodule が怖いという人が相当数いるようです。推測ですが、git submodule は動作モデルや使用手順が誤解されがちなところがあり、それで「怖い」と思われているのないでしょうか。git 体でも昔そんなことがありましたよね。 この記事では git submodule の誤解を解き、適切な使い方を解説します。また、記事の最後にチートシートをつけます。 git submoduleはトモダチ!怖くないよ! git submodule って何? 誤解1 「プロジェクトが大きくなっ

    git submodule はトモダチ!怖くないよ! (チートシート付き) - エムスリーテックブログ
    golden_eggg
    golden_eggg 2020/11/06
    watchしたい&ローカルのエディタで開いてコード読みたい、というOSSを"watch-xxx"というreposにsubmoduleで纏めて管理してる。逆に言うとこれ以外は"使うべきシーンはそんなに多くありません"って感想
  • Better Git diff output for Ruby, Python, Elixir, Go and more

    The regular Git users amongst you will be familiar with the diff output that breaks down into “hunks” like so: @@ -24,7 +24,7 @@ class TicketPdf ApplicationController.render( "tickets/index.html.haml", layout: "tickets", - assigns: { tickets: tickets } + assigns: { tickets: tickets, event_name: event_name } ) end The first line (starting @@) is known as the hunk header, and is there to help orient

    Better Git diff output for Ruby, Python, Elixir, Go and more
  • gitで2つのリポジトリを混ぜる戦略を考える - golden-luckyの日記

    「2つのgitリポジトリがあって、その片方をもう一方に取り込みたい」という状況を考えます。依存ライブラリのソースを自分のプロジェクトで保持したい、といった状況が典型的でしょう。 この場合、通常は git submodule を使うと思います。 git submodule であれば、他のプロジェクトを履歴ごと自分のソースの一部として管理できて、かつ双方の履歴をきれいに分離できます。 Git - Submodules ただ、双方の履歴が分離できるということは、双方の履歴を混ぜられないということでもあります。そのため、 git submodule は、他のプロジェクトのソースに自プロジェクト独自の変更を加えて管理するといった用途には向かないように思います。ではどうすればいいだろうか、という試行錯誤の記録です。 git submodule で取り込む 「Aのcloneにおけるsubmoruleへの

    gitで2つのリポジトリを混ぜる戦略を考える - golden-luckyの日記
  • gitの便利なfilterまとめ - webネタ

    gitのfilterは、checkout時 と add時 に任意のフィルターをかけることができる。 svnでやってた $Id$ みたいな変数の展開したり コードを自動で整形したり 任意のコマンド/スクリプトを実行できる 概念図 出元 $Gcid$にコミットIDを埋め込むフィルターを作ってみる やりたいこと git checkout時に指定ファイルの、 echo "$Gcid$"→echo "$Gcid: bcc4bbe68b26a65a1597752a$"に展開。 git add時は逆に、 echo "$Gcid: bcc4bbe68b26a65a1597752a$"→echo "$Gcid$"に戻す。 手順 gitの設定でfilterを定義 (.git/config) フィルターの対象を定義 (.gitattributes) フィルター時に実行するスクリプトを用意 (embed-comm

    gitの便利なfilterまとめ - webネタ
  • Bring your monorepo down to size with sparse-checkout

    AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

    Bring your monorepo down to size with sparse-checkout
  • 中の人に聞いたGitHub flowの本当の使い方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 背景 今日GitHubの中の人のLTを聞く機会があって当のGitHub-flowを聞いてきたので 忘れない間にメモ GitHub-Flowのお約束 Masterにあるものは即座にデプロイ可能な状態に保つこと ブランチの上で必ず作業し、その生存期間を短くすること すぐにPRを作り、フィードバックやサインオフを求めること マージしたらすぐにデプロイすること 当のGitHub-flow 中の人曰くよくマージしてからデプロイすると言っている人がいるらしい。 だが当のGitHub-flowは違う。 当のflowは PR作成 ⇩ 修正 ⇩

    中の人に聞いたGitHub flowの本当の使い方 - Qiita
    golden_eggg
    golden_eggg 2016/07/03
    良い "コミュニケーションには常にURLをつける"
  • GitベースのコードリーディングTips - クックパッド開発者ブログ

    こんにちは、投稿推進部の森川 (@morishin127) です。 エンジニアが既存のプロダクトの開発に携わる際、他人の書いたソースコードを読み解くところから始まります。過去に書かれたコードの意図を理解することは自分が書いたものでもしばしば難しく、他人が書いたものならなおさらです。この記事では過去に書かれたコードを理解するための工夫についてお話したいと思います。 なお、この記事ではプロダクトのソースコードはgitおよびGitHubのPull Requestを利用して開発が進められていることを前提としています。 特定の行から関連するPull Requestページを開く クックパッドのソースコードには概してコメントがあまり書かれておらず、見ただけでは理解しづらいような特殊な方法をとっている場合のみコメントを書いている印象です。基的に実装に関する説明はソースコード中ではなく、GitHubのPu

    GitベースのコードリーディングTips - クックパッド開発者ブログ
    golden_eggg
    golden_eggg 2016/04/17
    コミットハッシュからpull request特定とか
  • git log history simplification

  • Vimとgitで俺たちの開発速度はさらに加速した - pixiv inside [archive]

    gitという、とっても便利なツールをご存知だろうか。 git とはソフトウェア開発に特化したバージョン管理ツールである。もはや、git 無しで僕らの開発は立ち行かないし、GitHubを中心としたエコシステムに僕らは支えられている。 日々の開発では、毎日数え切れないgitコマンドを打ち続けてプロダクトの歴史をアップデートしている。 この記事を見ているエンジニアの皆さんもきっとそうだろう。 いや? ちょっと待ってくれ。 そういえば、僕はしばらくgitコマンドをコンソールで叩いた記憶がない。 そうだ! vimをカスタマイズしてからというもの、gitを直接たたくより遥かに便利な開発環境になったんだった! Vimmerはunite-gitiなしでは生きられない unite-gitiというプラグインがある。 これがすこぶる便利なのだ。 github.com サヨナラ git add git statu

    Vimとgitで俺たちの開発速度はさらに加速した - pixiv inside [archive]
  • gitとプルリクエストに関して思うことまとめ - Qiita

    ※この記事は元々「Gitのこれやめて!リスト」として2015年11月に投稿したものを改訂したものです。 この記事について 私が個人的にgitとプルリクエストについて、「こうして欲しい」とか「これはやらないで!!」とか思っていることをまとめたものです。 元々は2015年に私がコードレビューをしてる時に気になったことを、あまり推敲もせず思うがままに書いた記事でした。今改めて読み返すと稚拙な文章なのと、他に思うところとがあったりしたので、改めて書き直しました。いいね貰ってるのに書き直すのに若干後ろめたさがあるのですが、よりいい内容にできればと思います。 コミットログがきれいだとレビューしやすい 一人で開発するときはgit使っててもブランチ切らないし、プルリクもださないしで、コミットログも"First Commit"の次が"Second Commit"とかでも支障はないです。しかし、チームで開発す

    gitとプルリクエストに関して思うことまとめ - Qiita
    golden_eggg
    golden_eggg 2015/11/10
    "VWテスト" ワロタw
  • gitslaveで複数のリポジトリを管理する - Qiita

    この記事は Git Advent Calendar / Jun. 25日目の記事です! 24日目はrosylillyさんの「複数人での Git 開発に便利な 3 つのコマンド」でした。 gitslaveとは gitslaveはこちらで公開されているツールで、あるgitリポジトリの中にサブディレクトリとして別のgitリポジトリを置いて管理するためのツールです。 似たようなツールとしてgit submodule(sotarokさんの「Git submodule の基礎」がとてもわかりやすい!)があります。 しかし、submoduleで管理しているリポジトリ内も頻繁に更新するような使い方だと、以下のような操作が結構煩雑です。 親リポジトリとsubmoduleで管理している子リポジトリに一緒に変更を加えてcommitやpushをしたい。 親リポジトリと子リポジトリで同じ名前で一緒にブランチを切りた

    gitslaveで複数のリポジトリを管理する - Qiita
  • Gitのデータモデル

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

    Gitのデータモデル
  • Caching your GitHub credentials in Git - GitHub Docs

    Tip If you clone GitHub repositories using SSH, then you can authenticate using an SSH key instead of using other credentials. For information about setting up an SSH connection, see "Connecting to GitHub with SSH." GitHub CLI GitHub CLI will automatically store your Git credentials for you when you choose HTTPS as your preferred protocol for Git operations and answer "yes" to the prompt asking if

    Caching your GitHub credentials in Git - GitHub Docs
    golden_eggg
    golden_eggg 2015/03/08
    https経由でのアクセス時にユーザー/パスワードを毎回聞かれなくする
  • 私のpeco活用事例 - k0kubun's blog

    pecoというインタラクティブに入力をフィルタして出力するコマンドがあって、使い始めてからシェルの操作方法が大幅にかわり、だいぶライフチェンジングだった。 最近このへんが流行ってるのでやたら記事あるけど、せっかくなので僕も使い道を紹介しようと思う。 pecoをzshで使う 1. peco ghq ghqを使ったローカルリポジトリの統一的・効率的な管理についてのこと。 僕も$GOPATHは$HOMEにしていて、今のところ別に困ることはない。 go getしたりghq getしたりして美しくディレクトリ切った上で、pecoに割り当てておいたC-sですぐ目的のディレクトリ開けるようにしてあるので、めちゃくちゃソース管理が楽になった。 function peco-src() { local selected_dir=$(ghq list | peco --query "$LBUFFER") if

    私のpeco活用事例 - k0kubun's blog
  • ZFSがあればGitなんか要らない? | POSTD

    ZFS を少し触ってみました。ZFSはOracle(その前はSun)の次世代ファイルシステムです。元はSolaris向けに開発されたものですが、オープンソースなのでLinux(0.6.1以降が 製品版として安定しているようです と Mac にも移植されています。ファイルシステムといっても、ZFSはボリュームマネージャでもあるので、ディスクのパーティション管理もやってくれます。ZFSがなぜそんなにクールかといえば、データ破損対策、RAIDのサポート、スナップショットやコピーオンライトの実装、そしてバックアップ時のフレキシブルで効率の良いデータ転送などが装備されているからです。ZFSを使って、バージョン管理システムのGit(Gitじゃないバージョン管理システムでも構わないのですが)のいろいろな機能をどこまで実行できるのか、お見せしようと思います。もちろん、気で”ちゃんとした”バージョン管理シ

    ZFSがあればGitなんか要らない? | POSTD
  • develop ブランチなんてオワコン

    Yosuke Furukawa @yosuke_furukawa @sonots masterは絶対に安定して動作させたいとかそういう思想だよね。developブランチ、 develop で安定してきたらmasterにmergeするって思想だけど、僕も最近作ってない… 2014-05-30 11:16:02 そのっつ (Naotoshi Seo) @sonots @yosuke_furukawa master ブランチが絶対安定してるなら、今度は release ブランチいらない感ある。で、どちらかというと release ブランチを安定させて master ブランチで開発すれば良い。そのほうが github とも親和性高い感ある。 2014-05-30 11:38:51

    develop ブランチなんてオワコン
    golden_eggg
    golden_eggg 2014/05/31
    うーむ、体制や業務規模にもよる気がする
  • 提言: コミットメッセージの一行目には要求仕様を書け - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど

    提言: コミットメッセージの一行目には要求仕様を書け - Qiita
    golden_eggg
    golden_eggg 2014/05/30
    面倒くさくて"add" とか "fix" で済ませてる事が多々あります大変申し訳ございませんブクマ
  • 巨大なリポジトリ を Git で上手く扱う方法 | Atlassian Japan 公式ブログ | アトラシアン株式会社

    git は、コードベースの発展過程を記録し、開発者間の協同作業を効率化する強力なツールです。でも、記録対象のリポジトリがとてつもなく巨大なものになったときは何が起こるのでしょうか? この記事では、いくつかの異なる意味での巨大化に正しく対処するためのアイデアと手法を少し紹介してみたいと思います。 二種類の 巨大なリポジトリ よく考えてみると 巨大なリポジトリ が生ずる理由はおおまかに言って二つあります: 非常に長い期間にわたって履歴が積み上げられた (プロジェクトが非常に長い期間継続的に拡大を続けたために開発成果が積み重なった) 場合 巨大でしかも履歴の記録が必要なバイナリ データが存在し、それがコードに反映される場合 その両方の場合 即ち、リポジトリの巨大化は二つの異なる方向に向かって起こることになります。それは、作業ディレクトリのサイズ (即ち直近のコミットのサイズ) の問題と全体の履歴

    巨大なリポジトリ を Git で上手く扱う方法 | Atlassian Japan 公式ブログ | アトラシアン株式会社
  • git pull を --set-upstream-to で引数無しで実行可能にする - Qiita

    $ git pull There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details git pull <remote> <branch> If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/<branch> branch_name

    git pull を --set-upstream-to で引数無しで実行可能にする - Qiita
  • Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう

    Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう Jenkin developers accidentally do "git push --force" to over 150 repos on github | Hacker News Jenkinsの開発者、Luca Milanesioによって、Jenkinsの多くのgitレポジトリに対してpushが行われた。不思議なことに、pushをしたというのに変更点はほとんどみられない。一体ルカは何をやったのだ。 Dominik Bartholdi やあみんな、とくにルカ。 昨日、GitHub上のJenkinsの多くのレポジトリ(50以上)に、なにか変なことが起こった。 どうやら、Luca Mmilanesioが、何の変更もないのに、たくさんのたくさんのレポジトリにpushしたらしいのだ。

    golden_eggg
    golden_eggg 2013/11/12
    enterprise使っておけば、、という話ではなく、push -f を何気なく普段使うような癖が付いてしまうのがマズイのかなと