分散型バージョン管理システムのGitは2005年の登場以降シェアを伸ばし続け、2022年の調査では約94%のユーザーに利用されるほど一般的なツールとなっています。Gitにはさまざまな機能が搭載されていますが、その中で特に混乱を引き起こしがちな用語について、Gitを15年近く使用してきたというジュリア・エヴァンスさんが解説しています。 Confusing git terminology https://jvns.ca/blog/2023/11/01/confusing-git-terminology/ ◆HEADと「heads」 HEADは現在チェックアウト中のブランチやコミットを指しており、「.git/HEAD」に保存されています。一方「.git/refs/heads」に保存されているのはブランチで、「heads」は「branches」と読み替えればOKとのこと。 ◆detached HE
GitHub、GitHub Innovation Graphを公開 ―世界各国の開発者の動きを見える化 GitHubは2023年9月21日(米国時間)、GitHubを利用している世界中のソフトウェア開発者の動きや影響をオープンデータとインサイトとして可視化するGitHub Innovation Graphを公開した。 GitHub Innovation Graphを公開 -GitHubブログ GitHub Innovation Graph URL:https://innovationgraph.github.com/ GitHub Innovation Graphは、2020年にさかのぼり、gitプッシュ、開発者、組織、リポジトリ、プログラミング言語、ライセンス、トピックおよび経済的な関係国に関する四半期ごとのデータをWebページでビジュアルに提供するもの。さらに深く知りたい利用者
これをみるとinputやfalseはLF -> CRLFの自動変換を行わないので、これらを選んでしまいそうですが、 大規模開発で多数の開発者がtrueでインストールしてしまった場合、わざわざ変更をしてもらうまでの悪影響があるのか?がわからなかったので、それについて調べた結果を記載しようかと思います。また、これを書くきっかけとなった私のチームではまった落とし穴について書こうと思います。 core.autocrlfをtrueに設定をした場合 core.autocrlfをtrueに設定をした場合について整理します。 チェックアウトやコミットした場合の動きや、開発者がCRLFでファイルを作成した場合の動きは以下のようになります。 上記の図から確かにwroking directory上ではCRLFとLFが混在してしまう可能性がありますが、 repository上のファイルがLFである以上、core.
Hello Bitbucket Cloud users, We recently learned that encrypted copies of Bitbucket’s SSH host keys were included in a data breach of a third-party credential management vendor. The SSH protocol uses host keys to establish the identity of a trusted server for every SSH connection, like when a git pull establishes a SSH connection to Bitbucket Cloud. In response, Bitbucket issued two new SSH host k
本記事のモチベーション 約8年前、Gitを使い始めたときに以下の記事を公開したところ、想像以上の反応をいただきました。 当時はSubversionからGitに移行し、試行錯誤をしている中だったこともあり、多くの反応をいただけたことはモチベーションのひとつでした。 ただ、時が経ち、当然かもしれませんが現在は当時と違う書き方をしており、思想として変わっていない部分はあるものの、今でもときどきLikeをいただく中で、アップデートを全くしないのは誠実じゃないなと感じていました。 というわけで、現在のフォーマットも数年後には変わっている可能性が高いですが、その時々のスナップショットを公開することにも何らか意味があるかなと思い、「今の僕はこうコミットメッセージを書いているよ」というのをまとめました。 Gitを使う環境 開発フローやホスティングサービスごとのUIのdiffによって、最適なフォーマットは変
Meta(旧Facebook)は2022年11月15日(米国時間)、社内向けのユーザーフレンドリーでスケーラブルなソースコード管理システム「Sapling」のGit互換クライアントをオープンソース化したと発表した。 Saplingクライアントは、互換性のあるSaplingサーバおよび仮想ファイルシステム(Metaは将来、これらもオープンソース化したい意向)との組み合わせにより、数千万のファイル、数千万のコミット、数千万のブランチを持つMetaの社内リポジトリを管理してきた。 MetaはSaplingシステムを、主に大規模なモノリシックリポジトリ(モノリポ)で使用しているが、SaplingクライアントはGitリポジトリのクローンや操作もサポートしており、開発者はGitHubなどのGitホスティングサービスの操作に利用することもできる。 使いやすさとスケーラビリティを重視したSaplingシス
CyberNewsは10月20日(米国時間)、「Millions of .git folders exposed to public|Cybernews」において、数百万もの.gitフォルダが公開されていると伝えた。プロジェクトの重要な情報を含む約200万の.gitフォルダが一般に公開されていることがCyberNewsの調査チームにより明らかとなった。 Millions of .git folders exposed to public|Cybernews GitはLinus Torvalds氏が20年近く前に開発した人気の高いオープンソースの分散型バージョン管理システム(VCS: Version Control System)。.gitフォルダにはリモートリポジトリのアドレス、コミット履歴ログなどプロジェクトに関する重要なメタデータが含まれており、このデータをオープンアクセスで放置してお
Git 2.38がリリースされました。 このバージョンから大規模Gitリポジトリの操作を高速化するscalarが同梱されるようになりました。 今回はこのscalarによって、どれぐらいGitの操作が高速化されるのかを簡単に検証します。 結論から言うとgit statusが約43秒かかっていたのが約1秒で操作できるようになります。 Install Git 2.38Git 2.38からscalarが同梱されましたので、各自の環境にあわせてInstallなりVersionUpなりをしてください。 $ git --version git version 2.38.0 Before大規模Gitリポジトリとしてchromiumを利用しました。 普通にgit cloneしてきて、git statusを実施すると約37秒かかります。 ❯ time git status On branch main You
株式会社JMDCでモバイルアプリエンジニアをやっている @mrtry です。入社した当初、モバイルアプリチームのエンジニアは私一人だったのですが、現在では4人になりました。最近はPull Requestのレビュー数も爆増しており、とても疲弊しがちです(嬉しい悲鳴)。たいへんポイントを減らすために、最近Pull Requestまわりの運用を整えたので、今日はその話をしたいと思います。 Pull Requestのレビューがたいへん 現在、モバイルアプリチームでは、3つのプロダクトの開発をしています。各プロダクトに1名ずつassignされており、リードエンジニアとして私が一通りレビューをしている状況です。そんなこともあり「Pull Requestのレビューがたいへん」というのが最近の悩みでした。 Pull Requestのレビューをするとき、私は以下のような観点でレビューしています。 機能仕様レ
VS Code 1.71 がリリースされました? マージエディタの改善や、スティッキースクロールが GA したり (editor.stickyScroll.enabled)、統合ターミナル周りの改善など様々なアップデートがありました。 またプレビュー機能ですが、ファイルの移動や名前を変更したときに、該当ファイルを参照している Markdown のリンクを自動で追随して変更してくれる機能も来ているようで気になっています。 (markdown.experimental.updateLinksOnFileMove.enabled) 今回のアップデートで個人的に一番嬉しかったのは、統合ターミナルで Git Bash も(まだ実験的ですが)サポートされたことです。 統合ターミナルではコマンドの検出や装飾、ナビゲーションなどの便利な機能が使うことができますが、サポートされているのは以下の組み合わせのみ
The Missing Semester of Your CS Education (日本語版) 大学の講義ではオペレーティングシステムから機械学習まで、 コンピュータサイエンスの様々な発展的トピックを学びます。 しかし、重要であるにも関わらず講義で教わることはめったになく、 したがって自分で学ばなければならないことがあります。 それは「コンピュータを操作するツールを習熟すること」です。 本講義では、コマンドライン操作をマスターすること、パワフルなテキストエディタを使いこなすこと、 バージョンコントロールの様々な機能に触れること、などなどを教えます! 学生は大学生活を過ごすうえでそういったツールを使うことに何百時間も費やします (その後のキャリア全体を考えれば何千時間も使うと言えるでしょう)。 よって、ツールを使う経験を可能な限り流暢で淀みない状態にしておくということは、 非常に有意義であ
職場等のproxy環境下で、gitやwget等のコマンドはProxyサーバーを指定しなければ使用できません。 多くのProxy環境は、ユーザー認証付きだと思われるので、全て認証つきの設定を紹介してみます。 (残念ですが、Proxyサーバーの構築方法ではありません。) 確認したOSは、ubuntu 14.04です。 環境変数の設定 とりあえず、export設定。 .bashrcや、.bash_profileに設定することも可なので、使用頻度や、環境に合わせて設定してもよいと思います。 とりあえずこの設定で大部分はまかなえるかと思います。 $ export https_proxy="http://username:password@your.proxy.address:proxy.port/" $ export http_proxy="http://username:password@your
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く