タグ

gitに関するdamehumanのブックマーク (75)

  • Gitを作ってみる(理解編) - Qiita

    はじめに 都内でひっそり見習いエンジニアをしている@noshishiです。 addしてcommitするプログラムの作成を通じて、Gitを内部から理解しようという記事です。 前書き 昨年末、Gitの記事を書いて、理解できたなら作れるのではと思いったったのがこの記事の出発点です。 これを機に新しいプログラミング言語にも触れてみて、いろいろ学べたらと思いRustで今回挑戦しました。 (この時は、新たなことを同時に取り組み絶望すること知る由もない著者でした。軽い気持ちで手を伸ばした自分をしばきたいです。。。) 実際に作成した(継続開発中ですが)リポジトリは、こちらです。 ※一応ローカルでの一直線の開発はできそうな程度までは作成できました。コードのしょぼさはご容赦ください。 この記事だけでは説明しきれない部分があることをご容赦ください。 もちろん、間違い等あれば、ぜひコメントいただけると幸いです。

    Gitを作ってみる(理解編) - Qiita
  • Terraform でAWS 環境にDockle + git-secrets を組み込んだCIを構築する - Qiita

    はじめに コンテナセキュリティのガイドライン NIST SP800-190(アプリケーションコンテナセキュリティガイド) では、イメージのリスクの1つとして 「イメージの設定の不備」 について言及されています。 さらに、NIST SP800-190 では、このリスクへの対策として、 「セキュアな設定のベストプラクティスへの準拠を検証および実施するためのツールとプロセスを採用すること」 を推奨しています。 記事では、この 「イメージの設定の不備」 へのリスク対策ツールとして、Dockle とgit-secrets を採用し、このツール群を組み込んだCI パイプライン(ビルドのプロセス)をTerraformAWS 環境に構築する方法を記載しています。 コンテナイメージのセキュリティ対策の一例として参考になれば幸いです。 Terraform で構築する全体構成図 構成の概要 Dockerf

    Terraform でAWS 環境にDockle + git-secrets を組み込んだCIを構築する - Qiita
  • あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    BIGLOBEの開発現場の様子や、developブランチにrebaseで綺麗なコミット履歴を作る方法をご紹介します。 はじめまして! GitHubを中心に仕事がまわる開発現場 Git logが綺麗だとバグが起こりにくい? developブランチを綺麗に保つGit操作(マージ編) 1. そのまま気にせずdevelopにマージする。 2. 最新のdevelopをfeature/Bブランチに取り込んでからdevelopにマージする 3. 最新のdevelopにrebaseしてからマージする リベース コワクナイョ 最後に はじめまして! 基盤部(開発部門)の江角です。 2021年8月にSIerからBIGLOBEに転職し、半年が経過しました。 転職期間中はもちろんコロナ禍で、カジュアル面談も面接も全てオンラインでした(多分今もそうだと思います)。 入社日当日は出社しましたが、入社してから半年の

    あなたはmerge派?rebase派?綺麗なGitログで実感したメリット - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
  • Gitのオブジェクトの中身

    はじめに Gitのインデックスの中身、Gitのブランチの実装に続く、Gitの中身を見てみようシリーズです。Gitが管理するオブジェクトの種類や中身について見てみます。基的にはPro Gitの10. Gitの内側をまとめなおしたものです。 オブジェクトの種類 Gitは、内部でファイルやコミットを「オブジェクト」として.git/objects以下に保存しています。オブジェクトには以下の4種類があります。 blobオブジェクト: ファイルを圧縮したもの。ファイルシステムの「ファイル」に対応 treeオブジェクト: Blobオブジェクトや別のTreeオブジェクトを管理する。ファイルシステムの「ディレクトリ」に対応 コミットオブジェクト: Treeオブジェクトを包んだもの。コミットのスナップショットに対応するTreeオブジェクトに、親コミット、コミットメッセージなどを付加する タグオブジェクト:

    Gitのオブジェクトの中身
  • コミットはスナップショットであり差分ではない

    Git は紛らわしいという評判です。用語や言い回しが意味するものと、そこから想像する挙動が違ってユーザーが混乱すると言われます。これは、git cherry-pick や git rebase のような「履歴を書き換える」コマンドに最も顕著です。私の経験では、この混乱の根的な原因は、コミットは 差分 であり順番を入れ替えることができるという解釈にあります。しかし、コミットはスナップショットであって、差分ではありません! Git がリポジトリデータをどのように保存しているかを見てみると、Git を理解しやすくなります。このモデルを調べた後に、この新しい視点が git cherry-pick や git rebase のようなコマンドを理解するのにどのように役立つのかを探っていきます。 当に深く 掘り下げたいのであれば、Pro Git という書籍の Git Internals の章を読むと

    コミットはスナップショットであり差分ではない
  • Quipper の Monorepo な Web アプリ開発における Git 戦略 - スタディサプリ Product Team Blog

    Rails Developers Meetup 2019 の自社スポンサーセッションはいっそ休憩室にすればいいのでは? と言い出した Web dev の @mtsmfm です。お弁当や神授業、そして Quipper からは 3 名が登壇しましたが、発表は楽しんでいただけましたでしょうか。 僕は自分の発表 を @jeremy さんが聞いてくださったり、キーノートでは Rails 6 で入ったパッチを紹介してもらったりして感無量です。 この場を借りて Rails DM の開催に尽力された @yhirano55 さん他みなさまには感謝を述べたいと思います。当にありがとうございました。 今日は、Quipper における GitランチKubernetes を組み合わせた、開発から番デプロイまでの流れを紹介したいと思います。 流れ ざっくりとした概要としては Git flow をアレンジ

    Quipper の Monorepo な Web アプリ開発における Git 戦略 - スタディサプリ Product Team Blog
  • Gitはどうやってテキストファイルとバイナリファイルを自動識別しているのか? - Qiita

    tl;dr 先頭 8000 バイト以内に NUL が有ったらバイナリファイル。 Gitの実装 Gitの内蔵diffは FIRST_FEW_BYTES だけ検索するようになっている。 https://github.com/git/git/blob/6e0cc6776106079ed4efa0cc9abace4107657abf/xdiff-interface.c#L187 #define FIRST_FEW_BYTES 8000 int buffer_is_binary(const char *ptr, unsigned long size) { if (FIRST_FEW_BYTES < size) size = FIRST_FEW_BYTES; return !!memchr(ptr, 0, size); }

    Gitはどうやってテキストファイルとバイナリファイルを自動識別しているのか? - Qiita
  • 「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化

    「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化 ソフトウェアの開発プロセスにおいて、「Jenkins」はビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られています。 そのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、GitDockerKubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです。 Jenkins Xは、Git/Docker/Kubernetes環境に特化 オリジナルのJenkinsは汎用的なビルドやテストの自動化ツールとして、さまざまな環境やツールと連係できるように作られています。そのため柔軟なコンフィグレーションが可能になっていますが、一方でそれが導入や

    「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化
  • Git submoduleの押さえておきたい理解ポイントのまとめ - Qiita

    みなさんgitのsubmoduleって理解して使ってますか? 親プロジェクトをpullしたら、submoduleがmodifiedになって混乱してgit addして...あばばばば。みたいな事ないですか? 私はsubmoduleがなかなか理解できずに結構苦労しました。^^; ブランチ単位で管理する通常のリポジトリと違い、submoduleはCommitID単位で管理するというのが一番理解しにくい部分だと思います。 今回は、プロジェクトにsubmoduleを追加、更新、削除の動きを更新を掛ける側のプロジェクトと更新を受け入れる側のプロジェクトの2つの視点から追いながら、CommitIDで管理するとはどういう事なのかを解説していきます。 (結論だけ見たい人は末尾のまとめへ) 準備 「submoduleを開発する役割のプロジェクト test_app_A」と「submoduleを取り入れる役割のプ

    Git submoduleの押さえておきたい理解ポイントのまとめ - Qiita
  • Gitをバックエンドにしたタスク管理bot

    Gitをバックエンドにしたタスク管理bot posted at 2017-12-04 00:00:10 +0900 by kinoppyd この記事は、ドワンゴ Advent Calendar 2017 の4日目の記事です。 TL; DR すごい簡単なゆるいタスク管理のバックエンドに、内容アドレスファイルシステムとしてのGit使うのもまあいいんじゃないの? とおもってGemを作った。 ゆるいタスク管理システムが必要だった 通常、仕事タスク管理はJIRAとかRedmineとかGithubとかTorelloとかなんかそういう専用のやつを使うと思います。とはいえ、「もう今日は帰ってるけど、明日こののプルリク見てください」とかSlackで伝えたり、「このプルリクレビュー通ってるんで、明日マージしといて」とかSlackで伝えたり、その程度のことをチケットにするのも妙な感じです。デイリーミーティング

    Gitをバックエンドにしたタスク管理bot
  • Linus Torvalds氏によるGitの内部構造の解説 - Qiita

    初めに LinusによるGitのinitial commitのREADMEの訳です。 社内のSVNからの移行を促すために資料を整備していたのですが、SVNでやっていたことを移し替えたりコマンドを覚えたりするより内部構造を知ったほうが早いことに気づきました。 それで、gitの内部構造についての解説資料を色々見ていたのですが、データ構造については原作者のこのREADMEに言い尽くされている気がします。のみならず、gitを使うものが抱くべき精神性のようなものが示されており、深い感銘を覚えました(ヒャッハー)。 README: ”GIT - 馬鹿コンテンツトラッカー” コミットメッセージ:git, 地獄からきたインフォメーションマネージャ gitの意味 "git" は何を意味することも出来る、お前の気分次第だ。 3文字で、発音可能で、実際のUNIXシステムで共通コマンドとして使われていないものであ

    Linus Torvalds氏によるGitの内部構造の解説 - Qiita
  • SVN脳患者から見たGit - Qiita

    はじめに 僕はSVN脳患者である。SVN脳とは、SubversionのポリシーでGitを理解しようとしたり、使おうとしたりする病気で、中年プログラマに発症例が多い(気がする)。それまでSubversionを使ったことがない人がGitを使う場合には問題にならなかったことが、SVN脳患者がGitを使おうとすると問題になることが多い。特に、SVN脳を発症したプログラマは、そうでない人に比べてGit学習コストが爆発的に増大する。最初からGitに触れた人は、なぜSVN脳患者がGitを理解できないのかを理解できないだろう。 これは、SVN脳患者である僕1が、なぜGitを長いこと理解できなかったかをつらつら書くポエムである。病人の書いたポエムであるからして、所謂マサカリの類はほどほどにしていただきたい。 以下、「SVN脳患者」という大きな主語を多用するが、要するにこれは僕のことであり、言うまでもなくSu

    SVN脳患者から見たGit - Qiita
  • gitで特定のファイルだけ前の状態に戻したいときのコマンド - うめすこんぶ

    gitで何かのファイルを編集していて、しまった、失敗したから戻したい、となった時に、 git resetを使うと戻さなくていいファイルまで戻してしまう。 そうならないように、特定ファイルだけ戻す方法です。 git log ファイルパス git checkout ad9772b1dbcf4e3d7f658305c7184d673fc32637 ファイルパス git logでファイルのパスを入力、コミットログのハッシュ値 (ad9772b1dbcf4e3d7f658305c7184d673fc32637) を調べ、git checkoutで戻せます。

    gitで特定のファイルだけ前の状態に戻したいときのコマンド - うめすこんぶ
  • git stashで新規追加したCSSや画像も一時的に退避させる方法 | Raksul ENGINEERING

    はじめに フロントエンド周りを担当している野口です。 昨年の8月に入社して、約9ヶ月が経過しようとしています。入社当時はバックエンドのエンジニア5名(インターン含む)、フロントエンドエンジニアは私ひとりで、デザイナーは不在でした。現在はというと、バックエンドのエンジニア10名(インターン含む )、変わらずフロントエンドはひとりで、デザイナー2名といったメンバー構成です。 作り手の人数が倍以上になり、プロジェクトも複数走り、GitHub のトピックブランチの数が入社当時と比べてえらい増えたな〜と。10名のバックエンドのエンジニアに囲まれ、複数プロジェクトやタスクを並行して作業しているので、ブランチを切り替えることが頻繁に発生します。急な修正もあったりしますし。 そんな時はおなじみの git stash で一時的に変更を退避させます。commit してしまい、あとで reset するとか他にも

    git stashで新規追加したCSSや画像も一時的に退避させる方法 | Raksul ENGINEERING
  • 開発フロー研修 @ Wantedly - Qiita

    Githubでの開発 - Issue, Commit, Pull Request, Mention, Code Reviewに関する基的なルール ゴール 「 チーム で 長期にわたって 生産性を上げる 」 前提 みんながサービス・プロダクトについて自主的に考える組織 エンジニア全員がそれぞれオーナーシップを持ってよりプロダクトを良くすることを考える いわゆるPM職の不在 = コードは書かずに、マネージだけする人がいない これは組織による。(e.g. 外注やディレクター職の存在) けれど、Wantedlyは、多少変化しつつも、より良いサービスを生み出すために、役割の程度の差はあれ全員がプロダクトについて考え責任を持ったほうが良いと考えている。 理想型 図:「青と黄色」のチーム構成が従来の縦割り+統括チーム、「緑(金)色」のところが目指すべきマイクロサービスチーム マイクロサービスチームは、

    開発フロー研修 @ Wantedly - Qiita
  • Gitでやらかした時に使える19個の奥義 - Qiita

    タイトルは大目に見てください><。 内容は危険な操作を伴うのでくれぐれも自己責任でお願いします。 間違いもあったら指摘ください。 ローカル編 自分のローカル環境だけで閉じていて、他の人への影響がない場合に有効です。 リモートにプッシュしちゃってる時は、他人への影響が発生するので危険です。 やらかし1:コミットメッセージに禁止ワード入ってて人生やめたい時 コミットメッセージを修正するのは簡単です。 ファイルの追加なんかもできちゃいます

    Gitでやらかした時に使える19個の奥義 - Qiita
  • FLINTERS Engineer's Blog

    2023-04-06 DigdagからBigQueryを動かす - ChatGPTを使用してエラーを解決した話 AI BigQuery Digdag こんにちは、植村です。今回は弊チームで使用しているワークフローエンジンのdigdag(AWS, EC2)からGCPへアクセスしてBigQueryを動かした時のお話を書きます。やりたいこと:DigdagからBigQueryのExport機能を使用してGCSにデータを格納するGCPの環境は既にで… digdag BigQuery Chat GPT 2023-04-01 週休7日に興味あり?新しいBingが弊社の魅力をご紹介します! AI こんにちは、菅野です。 もう一年の4分の1が終わりましたね。 新生活の季節となった4月1日なので(?)唐突に弊社を紹介する記事を書きました! と言っても、私が紹介するのでは面白くないので「新しいBing」に会社の

    FLINTERS Engineer's Blog
  • コンセプトから理解するGitコマンド

    会社関係の勉強会向けに作った資料です。 パラパラマンガ調のためページ数は多いですが、内容は基礎的なものです。 このスライドを読み終わった人にオススメ: 「図解gitworkflows(7)」 資料一覧: https://docs.google.com/spreadsheets/d/1VZMz_31Z7FQBnK139o8yMqzwrTJgZWtPqgoG-mx1zh0/edit?usp=sharingRead less

    コンセプトから理解するGitコマンド
  • 初心者がプルリクまでに覚えるべきたった 9つの厳選 Gitコマンド - akiyoko blog

    この投稿は 「Git Advent Calendar 2014 - Qiita」 の 2日目の記事です。 2年前の 「Git Advent Calendar 2012 - Qiita」 では、「Gitコマンド総選挙」と題して、当に使える Git コマンドのベストテン発表というネタを書いたのですが、今振り返ってみても、Git コマンドって、よく使うものから普段あまり使わないものまで様々なコマンドが取り揃えられていて至れり尽くせり感がある一方で、Git 初心者が覚えるにはぶっちゃけ 数が多過ぎて辛い ですよね。 そこで今回は、Git 初心者がプルリクできる ようになるまでに覚えるべきコマンドを絞りに絞って、9つだけ紹介したいと思います(9つでも多いよ!というツッコミは受け付けません!)。 【コマンド その1】 git clone 【コマンド その2】 git log 【コマンド その3】 g

    初心者がプルリクまでに覚えるべきたった 9つの厳選 Gitコマンド - akiyoko blog
  • [初心者向け]こんなときどうする⁉︎ GitのTips31選! - Qiita

    Help us understand the problem. What is going on with this article?

    [初心者向け]こんなときどうする⁉︎ GitのTips31選! - Qiita