タグ

gitに関するwate_wateのブックマーク (281)

  • Git の仕組み (2) - コミット・ブランチ・タグ - こせきの技術日記

    Git の仕組みシリーズの2回目です。目次がここにあります。 前回の記事では、Git オブジェクトとリファレンスが大きなツリー構造になっていることを説明しました。 また、Git オブジェクトがどのように記録されているか、 ファイルツリーの変更がルート tree オブジェクトの ID に反映される仕組みなどを見てきました。 今回は commit オブジェクト、ブランチ、タグ、stash の仕組みについて説明します。 実際のデータが見たいときは、Git Object Browser にアクセスしてみてください。 5. commit オブジェクト 先に説明した通り、Git オブジェクトデータベースには、複数のファイルツリーを保存できます。 個々のファイルツリーは、最上位 (ルート) にある tree オブジェクトの ID で区別することができます。ファイルツリーは、大抵の場合、過去のファイルツリ

    Git の仕組み (2) - コミット・ブランチ・タグ - こせきの技術日記
  • とうとう Git 2.0 が現実のものに。便利な機能満載 | Atlassian Japan 公式ブログ | アトラシアン株式会社

    長い間待たれてきた git のメジャーバージョンアップがリリースされました。Changelog に目を通し、素晴らしい機能を見つけられることに興奮しています。過去の git リリースの情報をおさらいしたい場合は、バージョンアップのたびにその情報を特集してきた私の過去記事をご覧ください: 1.8.2、1.8.3、1.8.4、1.8.5、1.9。 このブログ記事では、今回のバージョンアップの一部しか取り扱うことしかできません。変更とバグ修正の完全リストをご希望の場合は、Changelog の完全版をご覧ください。 デフォルト設定一部変更: ユーザビリティの改善と混乱を解消 まず最初に、互換性に影響する変更を見ていきましょう。複数の変更がありますが、これらのアップデートは、初心者にとどまらず多くの人々を悩ませてきた誤解を解決するもので歓迎できると思います。これらの変更は、.gitconfig を

    とうとう Git 2.0 が現実のものに。便利な機能満載 | Atlassian Japan 公式ブログ | アトラシアン株式会社
  • Git の仕組み (1) - こせきの技術日記

    目次 はじめに Git を使ったことがない方へ 生のデータが見たい方へ Git の全体像 .git の中身 Git オブジェクトデータベース 4種類のオブジェクト リファレンス リファレンスのリファレンス 大きなツリー Git オブジェクトの ID と 中身 ハッシュ関数 SHA1 の簡単な説明 tree と blob オブジェクト tree と blob の参照関係 ルートツリーの ID でツリー全体を識別する commit オブジェクト リファレンスとブランチランチランチ先頭を指すリファレンス HEAD リファレンス detached HEAD 2種類のタグ 一時待避 (stash) インデックス キャッシュとしての役割 マージ Fast-Forward マージ non Fast-Forward マージ rebase reset 2種類のブランチ 各リポジトリが自分のブランチ

    Git の仕組み (1) - こせきの技術日記
  • 作りながら覚えるGit (1) - みねこあ

    濱野さんの「入門Git」を初めて読んだ時、いきなり 第二章から Git の構造の説明を始めてしまう構成に「Git<の使い方>入門」じゃなくて「Git<の作り方>入門」でしたかーっ(さすがメンテナですね)、、と思ったことを覚えています。 入門Git 作者: 濱野純(Junio C Hamano)出版社/メーカー: 秀和システム発売日: 2009/09/24メディア: 単行購入: 31人 クリック: 736回この商品を含むブログ (155件) を見る それは結構楽しい体験で、それまで全く思っても見なかった「Git作ってみたいな」という うずうずとした衝動がわたしに芽生えるきっかけでした。それ程に Git の設計はシンプルで 手に終えそうで、それでいて「うまくいく仕組み」が備わっている、興味深いものだったのです。まさにハックと呼ぶにふさわしいそれは、VCS全般に抱いていた「しっかり綿密に作りこ

    作りながら覚えるGit (1) - みねこあ
  • Cent OS 6.5上で GitLab 6.9.2を動かす - 発声練習

    バージョン管理システムにGitを使い始めて早1年強。研究室にGitHub風なGitフロントエンドが欲しいなと思っているところに以下の記事を見かけたのでインストールしてみる。 アルパカDiary:GitHubクローンのGitLabを5分でインストールした アルパカDiary:続・GitHubクローンのGitLabを5分でインストールした 環境 Cent OS 6.5 GitLabのインストール GitLab Omnibus project: README.mdのインストール手順は以下のとおり。 sudo yum install openssh-server sudo yum install postfix # sendmail or exim is also OK sudo rpm -i gitlab-x.y.z_omnibus-x.el6.x86_64.rpm # this is the

    Cent OS 6.5上で GitLab 6.9.2を動かす - 発声練習
  • 入門書には載ってない Git & GitHub Tips

    第一回 GitHub Kaigi で発表した資料です。

    入門書には載ってない Git & GitHub Tips
  • 提言: コミットメッセージの一行目には要求仕様を書け - Qiita

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

    提言: コミットメッセージの一行目には要求仕様を書け - Qiita
  • 巨大なリポジトリ を Git で上手く扱う方法 | Atlassian Japan 公式ブログ | アトラシアン株式会社

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

    巨大なリポジトリ を Git で上手く扱う方法 | Atlassian Japan 公式ブログ | アトラシアン株式会社
  • A Hacker's Guide to Git

    A Hacker's Guide to Git 26 May 2014 • 46 minute read • posted in [ Git ] A Hacker’s Guide to Git is now available as an e-book. You can purchase it on Leanpub. Introduction Repositories Tree Objects Commits References Branches Tags Merging Rebasing Cherry-Picking Rebasing (Continued) Remotes Cloning Pushing Remote-Tracking Branches Fetching Pulling Toolkit git-reflog git-fsck git-stash git-describ

    A Hacker's Guide to Git
  • hub · an extension to command-line git

    hub is an extension to command-line git that helps you do everyday GitHub tasks without ever leaving the terminal. Read the full documentation: man hub, or visit this project on GitHub. # install with Homebrew (macOS, Linux) # or see other installation options brew install hub hub version git version 2.25.0 hub version 2.14.2 # ← it works! # indicate that you prefer HTTPS to SSH git clone URLs git

  • HubFlow使ってみた - ゆううきブログ

    HubFlowとは HubFlow: GitFlow For GitHub HubFlowはGitHubリポジトリでGitFlowを便利に使うためのGitコマンド拡張です. gitflowをforkして開発されています.datasift/gitflow · GitHub 今の時点では,大幅に便利になるというものではない感じです. git hfのようにサブコマンドhfを用いたコマンド体系なので,gitflowと併用できます. さらに,gitflowを利用している既存のリポジトリに対してもgit hf initで上書きすれば使えます. 使い方 なんか新しい図が出てますが,流れはGitFlowとほとんど変わりません. リモートブランチとfork元のブランチに対する操作が用意されていないGitFlowに対して,HubFlowでは用意されているという点が異なります. 便利になったところ git hf

    HubFlow使ってみた - ゆううきブログ
  • GitHubクローンのGitLabを5分でインストールした - アルパカDiary Pro

    ※2015/6/22 最新版の手順に更新 ※2015/1/7 アップグレードについての記事を書きました http://d.hatena.ne.jp/toritori0318/20150106/1420558625 ※2014/5/24 補足記事書きました http://d.hatena.ne.jp/toritori0318/20140524/1400955383 で、お決まりのパターンでOSSに流れて、 GitLabとかやってみたんだけど、むっちゃムズいのねあれ。 まともにインストールできん。 http://d.hatena.ne.jp/rela1470/20140520 「GitLab インストール」 でググるとたいていまともにインストールしようとしている記事が見つかって なにこれ使うまで面倒すぎ! ってなりますよね。かつての自分もそうでした。 しかし最近のGitLabはRPMが提供され

    GitHubクローンのGitLabを5分でインストールした - アルパカDiary Pro
  • 初心者でもわかる!リベースの使い方を解説します | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、エンジニアの王です。今回は、Git初心者を悩ませるリベースについて解説してみたいと思います。 リベースが初耳 リベースを聞いたことはあるけど、使っていない 不安を抱えながらも、リベースをなんとなく使っている 上記に当てはまる方は、ぜひ読んでくださいね。 リベースで何ができる? コミットが綺麗になる! 以上です! この一言に尽きる! 具体的にどのように綺麗になるかというと…… コミット履歴がわかりやすくなる コミットメッセージを後から変える コミットの順序を後から変える 2つ以上のコミットを1個に統合する 一度コミットした内容を編集する といった具合でしょうか? 整理整頓が好きな方は、ぜひリベースを使いこなしていただきたいと思います! マージとリベース 2つのブランチの変更点を統合するとき、Gitの最も一般的なやり方は、マージとリベースを使うことです。マージは初回で説明したので、

    初心者でもわかる!リベースの使い方を解説します | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • コミットログを綺麗にする努力をする。 - パルカワ2

    綺麗なコミットログとは 綺麗なコミットログとは、コミットログを見返す時に知りたい事を知れる。 コミットログを見返す時は、「なにをしたのか」と「なぜその変更を行ったか」を知りたい。つまり、「なにをしたのか」と「なぜその変更を行ったか」を書けば綺麗なコミットログになると言える。 ファイルを変更した場合 一行目:「何」に「どういった」変更を行ったかを簡潔に書く(要約) 二行目:改行がないとおかしいことになるので、二行目は必ず改行する 三行目以降:一行目に書いた変更を「なぜ」行ったかを書く 例 HogeViewはpiyo時にfugaするように変更 fugaしないと〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜が起きて 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜で 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜なので フィードバックの対応などした場合 一行目、二行目は、変更した場合と同じ 三行目以降:フィードバ

    コミットログを綺麗にする努力をする。 - パルカワ2
  • チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社

    morimorihogeです。残暑やばい。 ※元々は2014年に書いた記事ですが、2020年になっていろいろと事情も変わっているので2020年revise版として更新しました。 弊社ではバージョン管理システムにGitを使っています。 数ヶ月以上一緒にやっているある程度ツーカーなメンバーだけのプロジェクトなら問題無いのですが、案件によっては協力会社の方が一時的にJOINしたり、新規参入メンバーの参加などで、これまでGitを使ったことがない、または格的なチーム開発でGitを使ったことがない人が参加することもあります。 ※2020年現在では流石に全くGitを使ったことのない開発者というのはほぼ見なくなりましたが、チーム開発できちんと運用に乗せて使ったことがない、という所は今でもそこそこあるようです。 Gitは自由度の高いシステムですが、その分概念を覚えることが必要なため、導入の敷居が高い方だと

    チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社
  • Githubにpushしたら自動テーマ更新する恐怖のWordPressプラグインを作った | 高橋文樹.com | プログラミング

    この投稿は 10年 前に公開されました。いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。 WP-Dというブログがありまして、そちらで2ヶ月ほど前に「もうFTPを利用することは止めて、Gitを使おう。そのほうがメリットが多いよー」 という記事がはてなブックマークでホッテントリ入りするということがありました。 ブコメの反応をまとめると…… DevOpsとかいってんのに世間はまだこのレベルか嫌になるな FTPとGitって違うじゃん、何言ってんの サイトの管理をGitでできるわけないじゃん という感じでした。 この記事を書いたメガネさんはデザイナー/ディレクター出身で黒い画面を勉強中、言葉足らずな部分はあったと思いますが、それらの心ないブコメを読み、大変傷つきました。そして傷心のあまり失踪、渋谷セルリアンタワーの屋上でカラスについばまれている無惨な腐乱死体として発見されま

    Githubにpushしたら自動テーマ更新する恐怖のWordPressプラグインを作った | 高橋文樹.com | プログラミング
  • 2014年、春のGit事情 - fujimuradaisuke's blog

    なんとなく最近どんな感じでGitを使っているか、適当にリストアップしてみた。 よく使うやつ git status git status --branch --short にしている。変更されたファイルが出る。とりあえず何をしたかざっくり把握する用。sにエイリアスしている。一日100回くらい実行しているのではないか。 git diff 特にオプションは指定していない。何をしたかしっかり把握する用。dにエイリアスしている。一日50回くらい実行しているのではないか。 git grep バージョン管理しているファイルから渡した単語を含む行を検索、表示。関数の検索などあらゆる場面で超便利。オプションは --line-number --show-function --color --heading --break がオススメ。 git ls-files バージョン管理しているファイルのファイルパスを表

    2014年、春のGit事情 - fujimuradaisuke's blog
  • @s_ssk13さん向けGitHub入門

    Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会 みなさんは、 ・社内:複数人でコーディングをしている ・パートナー:五月雨式にコードのやりとり ・個人:いろんなバージョンのコードを要求されたので管理しないといけない ・WordPress:コード改変したらサイトがぶっ壊れたので前の状態に戻したい という場面に遭遇したことがあるかもしれません。 その時に有益なのが、ソースの「バージョン管理」を導入すること。そのバージョン管理の中でも有名なのが Git というシステム。そして、その Git を使ってソースコードをホスティングするサービスが、GitHub です。オープンソースであれば無料で使うことが出来ます。 今日は、GitHub を使って、実際に Git のレポジトリを作成し、 WordPress サイトをみ

    @s_ssk13さん向けGitHub入門
  • Git初心者のための資料まとめ

    Gitを使ったことがない人が、Gitを最初に取り入れるときにぜひ読んでほしい資料をまとめてみました。初心者のWebエンジニアが、clone, checkout, add, commit, pushやPull Request(Pull Request)ができるようになるまでの一連の流れができるようになることを目標にしています。 (09/06 17:45) はじめてコードレビューされる人のためのPull Requestとcommitの作り方を追加 🐹 目標Git コマンドのclone, checkout, add, commit, pushを使えるようになること プルリクエストができるようになること 🎃 基的な概念の理解イラストでわかる!git入門の入門 (1) ソフトウェア開発におけるバージョン管理の考え方、(2) Gitを使った開発の基的な概念、 (3) 基的なコマンド(add,

    Git初心者のための資料まとめ
  • もう巨大なデータをgitignoreしなくていい! ~git-mediaの使い方~ - 3度の飯と最新技術

    はじめに gitはコミットごとにレポジトリ内のファイル全てをスナップショットとして保存するというリッチな 設計になっている。 それがgitの便利さの所以なのだが画像データや音声データのようなバイナリデータを持とうとすると 少しの変更でもそのたびにコピーが生じてファイルサイズ分の容量が増えることになり、あっという間にレポジトリが 肥大化してしまう。 特に学習結果をファイルに保持してテスト等に使いまわすようなプログラムを管理しようとすると アルゴリズムのパラメータを少し変えるたびに100kB近い容量が増えていき、実にイケてない。 普通なら.gitignoreに*.xmlと書いてデータ自体は手動管理したり、シンボリックリンクにして別ディレクトリに置いてそれだけrsyncで同期するようにしたりするんだが 過去の実験時の状態に戻れなかったり、毎回rsyncするのは不便だった。 なんか無いかなーと思っ

    もう巨大なデータをgitignoreしなくていい! ~git-mediaの使い方~ - 3度の飯と最新技術