タグ

gitに関するsummer4anのブックマーク (64)

  • 実務でどんな git コマンドを使っているか振り返ってみる - Qiita

    gitコマンドって実務でどう使うんだろう? 独学の git コマンドを実務で使いまくり、最近やっとうまく運用できているように感じます。 そのうえで、git コマンドを勉強し始めた頃、「コマンドの説明はいっぱいあるけど、実務でどうコマンドを使うんだろう?」 と感じていたのを思い出しました。 そんな想いから、よく使う git コマンドを実務テイストで振り返ってみました。 記事に書いていないもの 実務では使うのですが、諸事情により以下は省いています。 submodule 当はこの記事に含めようかと思ったのですが、長くなりすぎてしまったので、需要がありそうだったら次回作に書こうかと思います。 プルリク コマンドの説明をしたいため、省きます。 Git Flow やら GitHub Flow やらの Flow 系の考え 説明がややこしくなってしまうので省きます。 developブランチ、maste

    実務でどんな git コマンドを使っているか振り返ってみる - Qiita
  • 「GitHub Desktop 2.0」が正式リリース ~“GitHub”公式の無償GUIクライアント/スタッシュとリベースをサポート

    「GitHub Desktop 2.0」が正式リリース ~“GitHub”公式の無償GUIクライアント/スタッシュとリベースをサポート
  • 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
  • Gitの10年間: Gitの生みの親 Linus Torvalds のインタビュー

    10 年前の今週、Linux カーネル コミュニティは困難な問題に直面しました。すなわち、バージョン管理システム BitKeeper を使うことができなくなり、他のソフトウェア構成管理 (SCM) システムも分散システムのニーズを満たすことができませんでした。Linux の生みの親 Linus Torvalds は自らこの困難に立ち向かい、週末をはさむ 10 日間くらいの間雲隠れし、翌週には Git を持って登場しました。今日、Git は何千というプロジェクトで利用されており、プログラマーの間に新しいレベルのソーシャル コーディング形態をもたらしました。 この記念すべきマイルストーンを祝うために私たちは Linus に Git の舞台裏やこのプロジェクトに対する彼の考え、またこのプロジェクトがソフトウェア開発に与えた影響について話してもらいました。記事は彼のコメントです。この質疑応答に続

    Gitの10年間: Gitの生みの親 Linus Torvalds のインタビュー
  • GitExplorer

    GitExplorer: Find the right git commands you need without digging through the web

    GitExplorer
  • gitの裏側を探る|まりーな/エンジニア

    このスライドは昨年の新人研修でgitについて話した内容をまとめたものです。 addしてcommitしてpushしてpullしてというコマンドを使いこなせるようになったけど、裏側の仕組みはわからないという人向けにまとめてみました。 ハッシュ値を見てみようコミットすると下の図のように謎の英数字の羅列が出てきます。 この値は、一体何でしょうか? ハッシュ値はファイル内容に基づいて計算される160ビットに集約されるランダムな値です。 試してみようではここで、実際に手元でディレクトリをつくってみましょう。 下記の図のようにコマンドを叩いて見てください。 GUI上では右の図のように何もない状態かと思います。 次にgitを使えるようにしてみましょう。 フォルダのなかみを見てみると.gitというファイルができていることが確認できます。 それでは、コマンドを叩いて作られた.gitファイル 中身はどんなものが

    gitの裏側を探る|まりーな/エンジニア
  • lazygit - ターミナル用のGit UI

    Gitはターミナルで使っている人が多いかと思いますが、細かい操作になるとつい忘れがちです。不要なファイルが混ざったのに気付かずに思わずコミットしてしまったり、コミット後のキャンセルなどいちいちネットで調べたりしているのではないでしょうか。 そこで使ってみたいのがlazygitです。ターミナル上のGitクライアントです。 lazygitの使い方 Gitリポジトリで実行するとlazygitが立ち上がります。 コミットメッセージの入力もできます。 コミットロゴを追いかけたり、ファイルを対象外にしたりするのも簡単です。 lazygitがGitのすべての機能を使えるとは思いませんが、普段の運用時に使っているくらいの入力であれば問題なくこなせるでしょう。GUIの重たいソフトウェアは使いたくないが、Gitを見やすく管理したいと言った場合に便利そうです。 lazygitGo製のオープンソース・ソフトウェ

    lazygit - ターミナル用のGit UI
  • Visual Studio Community - Visual Studio

    Visual Studio Community - Visual Studio
  • Git WebUI - ローカルのGitリポジトリ用ブラウザ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Gitリポジトリの情報をWeb上で見たいと思った時にはGitoriusであったりGitLabGitHubなどを使うでしょう。突然大事になってしまって、セットアップするのも面倒です。 そこで使ってみたいのがGit WebUIです。ローカルで使うためのGitリポジトリブラウザです。 Git WebUIの使い方 Git WebUIはインストールすると git webui で使えます。 最初はログが表示されます。 変更したファイルが分かりやすく確認できます。 閲覧だけでなく、現在ワークスペース上で変更、追加などされているファイルを確認できます。 コミットもできます。 日語も使えますし、差分でも文字化けしません。 Git WebUIが便利なのはローカルのGitリポジトリでコマンドを入力す

    Git WebUI - ローカルのGitリポジトリ用ブラウザ
  • SVN脳患者から見たGit - Qiita

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

    SVN脳患者から見たGit - Qiita
  • Google、「Cloud Source Repositories」正式公開。Gitベースのソースコード管理ツール、5ユーザー、50GBまで無料

    Cloud Soruce Repositriesは、Google Cloud Platform上でホストされるGitリポジトリ。プライベートなGitレポジトリをいくつでも持つことができます。 ソースエディタ機能も備わっており、レポジトリの内容のディレクトリ表示、ファイルのコンテンツ表示、2つのソースファイルを開いて差分を表示することなどが可能。

    Google、「Cloud Source Repositories」正式公開。Gitベースのソースコード管理ツール、5ユーザー、50GBまで無料
  • GitのオブジェクトID衝突時の挙動 - Qiita

    少し前に SHA1 の衝突の話題がありました(Announcing the first SHA1 collision)。 Git はリポジトリ内のオブジェクトの識別にSHA-1ハッシュを使っており、衝突が起きたときにどういう動作になるかが気になったので調べてみました。 (2021.09.22) 実装に手を入れた時の挙動を tags/v2.33.0 で再確認して更新しました。 blob のオブジェクトID Git リポジトリにおいてファイルは blob という種類のオブジェクトで表現されます。まずはじめにSHA1が衝突している2つのファイルがどう扱われるか見てみましょう。 上述のリンク先からPDFファイルをダウンロードすると ファイルサイズが一致 SHA1が一致 ファイルの内容は異なる(SHA256は異なる) という2つのファイルが入手できます。 ~/Downloads$ ls -a . .

    GitのオブジェクトID衝突時の挙動 - Qiita
  • Gitのスケーリング(と、その背景) | POSTD

    数年前、Microsoftは、社内全体のエンジニアリングシステムを活性化させるため、数年間にわたる投資を行う決定をしました。私たちは山のような数のチームを抱える大企業です。チームはそれぞれ、担当のプロダクト、独自の優先順位、プロセス、ツールを持っています。”共通の”ツールもありますが、チームによって様々に異なる点も多く、内部で開発した単発のツールも数え切れないほどあります(「チーム」とは社の部門のようなもので、数千のエンジニアの集まりです)。 この状況にはたくさんのマイナス面があります。 似たようなツールを構築しているチームがいくつもあり、巨額の冗長な投資が生まれている 「クリティカルマス(損益分岐点を超える生産量、普及率)」に向けた設備投資ができない 皆がバラバラのツールやプロセスを用いているため、従業員が異動しにくい 組織の垣根を越えてのコード共有が難しい “MS限定”ツールの過多のた

    Gitのスケーリング(と、その背景) | POSTD
  • Microsoft、巨大なGitリポジトリを扱うための仮想ファイルシステム「GVFS」を発表 | スラド

    Microsoftが2月3日、バージョン管理システム「Git」で巨大なリポジトリを扱うための仮想ファイルシステム「GVFS (Git Virtual File System)」を発表、GitHub上で公開した(アナウンス、GitHub、マイナビニュース、Slashdot、OSDN Magazine)。 GVFSでは、リポジトリが管理するファイルシステムを仮想化し、必要に応じてファイルをダウンロードしたり更新することで、リポジトリに対する操作時にファイルアクセスによって発生する待ち時間を軽減するというもの。Microsoft社内ではWindowsやOfficeといった非常に大規模なソフトウェアのソースコードが存在するが、これらはファイル数が多すぎてGitでの操作時に大変な時間が掛かっていたそうだ。これを解決するために開発され、その結果巨大なGitリポジトリにおいてクローンが12時間から5分、

    Microsoft、巨大なGitリポジトリを扱うための仮想ファイルシステム「GVFS」を発表 | スラド
  • Git Virtual File System

    Microsoft/GVFS : https://github.com/Microsoft/GVFS.git WindowsでのGitが余りにも遅いと言われるからか、MSがGit用の仮想ファイルシステムを作り始めてしまったようです。 簡単に言うと、GVFSを使ってCloneすると実際にはその時点では実際には何も落ちてきていなくて、必要なときに必要なファイルだけダウンロードするので、「遅い」ローカルファイルに多数のファイルが実施には無く、Gitコマンドとのやりとりは実際のファイルシステムでは無く、GVFSが受け持つので、Gitのチェックアウトやステータスコマンドのレスポンスが向上するという仕組みのようです。 この仕組みだけ読むと、ローカルでビルドしようとしたら全部のオブジェクトをダウンロードしてしまうので、結局いつも通りなのでは?と言おう疑問がわくのですが、どうなんですかね。ただ実際のところ

    Git Virtual File System
  • 難しいGitコマンドは、仕組みから理解してみよう - Qiita

    こちらはLife is Tech ! Advent Calendar 2016 22日目の記事です。 自己紹介 こんにちは!先日GitHubのIDがha1fha1fからha1fになりました、はるふ(@_ha1f)と申します。 Life is Tech ! では、主にiPhoneコースのメンター・講師をしています。 記事について Gitについての記事は、世の中に多くあります。 gitコマンドの使い方 gitの仕組み gitを用いたプロジェクト管理・運用 subversionなどとの比較・歴史 など、テーマが色々有ると思いますが、記事では、gitについて、少し仕組みについて踏み込みながら、コマンドとの関連を説明します。 用語の確認の章は初心者向けの基礎編です。使い方わかる方は飛ばしてください! それ以降は、仕組みについて書きます。もちろん軽く使うだけなら仕組みを知る必要はないですが、自分は

    難しいGitコマンドは、仕組みから理解してみよう - Qiita
  • Gitリポジトリビジュアライザ ― Goslings - Qiita

    Git Advent Calendar 2016にJGitネタで参加しようと思い立ち登録したはいいものの、JGitの使い方なんてものは既に投稿されているし、JGitを使ったことはなかったのでノウハウなんか書けないし、需要もあるとは思えない。 さてどうしようかということで、以前から啓蒙しているGitのオブジェクトモデルを学べるアプリなんか面白いかと思い、JGitを使ってGoslingsというものを作った。ソースはGitHubに置いた。 Goslingsとは Goslingsは、Gitのリポジトリの中身をビジュアライズするWebアプリケーションだ。 作ってから気付いたが、リポジトリの中身って小さいプロジェクトでもかなり複雑で、ビジュアライズしても何が何だかわからない。 見ているとちょっと楽しいという効用があることは間違いないが、それ以外の使い道があったら誰か教えてほしい。 Goslingsとい

    Gitリポジトリビジュアライザ ― Goslings - Qiita
  • デザインのバージョン管理をする世界

    僕の同僚のデザイナーはデザインツールにSketchを使っている。デザインは区切りのいいところまで出来ると保存してDropboxで共有してくれる。最近ではGitHubでSketchファイルを管理することも試しているようだ。GitHubで管理することで過去に遡ったり、ほかの人の作業をマージできたりする。ただ、Sketchファイルはプログラムのソースコードのようなテキストファイルではなくバイナリファイルだ。この違いでGitまたはGitHubの便利なものの多くが使えていないんじゃないか。 先日Sketchファイルをテキストファイル(JSON)として管理できるツールを公開したので、どういうモチベーションで作っているのか書いてみようと思う。ツールはまだ完璧ではないが、ぜひ使って意見をもらえたらと…思う 🙇🏻 テキストファイルになるとできることあぁ、デザイン全体のボーダーの色が淡くなったのいつだっけ

    デザインのバージョン管理をする世界
  • イラストを Git で管理したかったのでツールをつくった - blog.syfm

    イラストの管理 自分はたまにイラストを描いたりするのですが、以前からその管理方法に苦労していました。 苦労していた点は主に次の 2 点です。 バックアップ 制作過程 Gif をつくるのが面倒くさい 強い人は、短時間でもさらっとイラストを描いてしまいますが、自分は時間をものすごく掛けないとまともなものが描けないので、バックアップは結構頻繁に取ります。 手動でバックアップしようとした場合は、ふつうにファイルを複製する感じになると思います。 ただ、普段からコードを書いていて VCS を利用している身だと、どうしても原始時代かと錯覚してしまいます。 さらに、PhotoShop の psd 形式や CLIP STUDIO PAINT の標準である clip 形式はいろんなデータが詰め込んであるので 1 ファイル当たり平気で 50 MB くらい持って行かれます。これも結構厳しいところです。 VCS を

  • Gitが、おもしろいほどわかる基本の使い方33_Chapter1-02 - MdN Design Interactive

    [Chapter1-02] Git機能を提供するWebサービス ファイルの変更、追加、修正などを管理する場所である「リポジトリ」は、自分のPCにも、ネットを介したサーバ上にも作成できます。サーバを設定するには専門知識を必要としますが、サーバ機能を提供してくれる便利なWebサービスのひとつがBitbucketです。 2015年6月24日/TEXT:大串 肇 使用するコマンド ――――――― $ git --version ――――――― ■ローカルリポジトリとリモートリポジトリ 前述(Chapter1-01)したように、Git によってバージョン管理を行う場所として指定した場所を「リポジトリ」といいます。自分ひとりだけで開発・制作、バージョン管理を行う場合は、リポジトリは自分のPCにあればよいでしょう。しかし、リポジトリをサーバに用意して、ネットを介してどこからでも利用したい、あるいはチーム

    Gitが、おもしろいほどわかる基本の使い方33_Chapter1-02 - MdN Design Interactive