タグ

gitに関するfumiyasのブックマーク (27)

  • 混乱を引き起こしがちなGitの用語まとめ

    分散型バージョン管理システムの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

    混乱を引き起こしがちなGitの用語まとめ
    fumiyas
    fumiyas 2023/11/12
  • 大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog

    こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに Gitリポジトリをクローンすると、ローカルフォルダにはそのリポジトリの全体がダウンロードされ .git というフォルダに格納されます。ブランチをチェックアウトすると、ブランチ内のファイルがワーキングツリーとして展開されます。この様子を図にするとこのようになります。 この .git とワーキングツリーの使うディスク容量を節約しようというのが今回のお話です。特にJenkinsにおいて、大きめのGitリポジトリをクローンしてくる場合に課題があり、いろいろ工夫してみたので、その結果を紹介します。同じCI/CDチームの加瀬による記事「大規模リポジトリで高速にgit cloneするテクニック」と内容

    大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog
    fumiyas
    fumiyas 2021/07/13
  • Learn to use email with git!

    You only need to complete this step once for each machine you intend to send emails from. There are two possible ways of using Gmail with git send-email: First, make sure that two-factor authentication is enabled for your Google account. Then, obtain an application-specific password for git from the app passwords page. To store this password with git, run this command: git config --global sendemai

    fumiyas
    fumiyas 2019/05/29
  • Gitを5年間教える側にまわって気付いたこと - うさぎ組

    Git Advent Calendar 2016 - Qiita の記事になります。 記事では自分がGitを教えたことで気付いたことをまとめます。 ゆえに「Gitに入門したい人」に向けたものではありません。が、多少のエントリーポイントは示しますので参考になるかとは思います。 コミュニティ、有償セミナーで5年間Gitを中心としたバージョン管理システムを教えてきた経験の話です。 ただ、Git, GitHubなどのデベロッパーではないので、彼等の思想とは異なるかもしれませんが、そこは一人のGitの講師として見てもらえれば。 命名の混乱とユーザー層 Gitのコマンドは名前から理解しにくいことで有名です。 git rebase --intractive などは典型です。 例えば、branch という単語が示す内容はあまりにも違っています。 VCS毎に branch の意味が違うことも難しくしていま

    Gitを5年間教える側にまわって気付いたこと - うさぎ組
    fumiyas
    fumiyas 2016/12/25
  • git-secret

    Synopsis Intro There’s a well known issue with deploying and configuring software on servers: generally you have to store your private data (such as database passwords, application secret-keys, OAuth secret keys, etc) outside of the git repository. If you do choose to store these secrets unencrypted in your git repo, even if the repository is private, it is a security risk to copy the secrets ever

  • 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 のコンフリクトを解決する 14 のヒントとツール | Atlassian Japan 公式ブログ | アトラシアン株式会社

    Git はコードのマージを非常に得意としています。マージとはローカルで高速、そして柔軟に行えるものです。当然のことですが、異なるブランチから誰かがコンテンツをマージするたびにコンフリクトが発生します。コンフリクトを解決するには、主な変更点を把握して見抜かなければなりません。コンフリクトの解決は、時には多くの作業が必要になります。 開発者にはそれぞれ好みのコンフリクト解決方法があります。そのため同僚ライターのダン・スティーブンが以前、Questions for Confluence を使用して社内の人に質問していました。 返ってきた回答と洞察はアトラシアン社員だけではなく、もっと多くの人に役立つものでした。そこで私たちが Git コンフリクトを解決するさまざまな方法を以下に詳しく注釈付きで紹介します。皆さまの毎日のコーディング作業に役立つアイデアや方法がここで得られることを願います。 セット

    Git のコンフリクトを解決する 14 のヒントとツール | Atlassian Japan 公式ブログ | アトラシアン株式会社
    fumiyas
    fumiyas 2016/02/26
  • Gitのコミットメッセージの書き方 | POSTD

    (訳注:2015/10/31、いただいた翻訳フィードバックを元に記事を修正いたしました。) (訳注:2015/11/1、いただいた翻訳フィードバックを元に記事を再修正いたしました。) 訳: プロジェクトが長引くほど、私のGitのコミットメッセージは情報が薄くなっていく。 イントロダクション | 7つのルール | ヒント イントロダクション:なぜ良いコミットメッセージを書くことが重要か Gitのリボジトリのログをランダムに閲覧すると、ひどいコミットメッセージを目にすることがあります。例として、私が昔書いたSpringにコミットした これらのgem を見てみましょう。 $ git log --oneline -5 --author cbeams --before "Fri Mar 26 2009" e5f4b49 Re-adding ConfigurationPostProcessorTest

    Gitのコミットメッセージの書き方 | POSTD
    fumiyas
    fumiyas 2015/11/02
  • Git 2.x シリーズの 6 つの素晴らしいフィーチャー | Atlassian Japan 公式ブログ | アトラシアン株式会社

    私が Git リリース ノートをレビューしてからしばらく経ちましたが 、だからといって私が最新のノートを熱心に読んでおらず、毎日の作業に新たな優れモノを取り入れていなかった訳ではありません。自分の誕生日 (拍手!) と、先日の Bitbucket Server のリリースを祝うため、日は私が Git 2.x シリーズ (2.6 まで) で気に入っているフィーチャーを全てご紹介します。どれか役に立つようなことがあれば、是非ご一報ください。 リベース前に変更内容をスタッシュ Git 2.6 では、rebase コマンドが皆さんから良い意味での注目を浴びました。以下にご紹介するのは、より興味深い新しいフラグの1つです : git rebase --autostash これからは、rebase 操作の開始時に未コミットの変更内容を一時的にスタッシュするか、操作を失敗させるかを指定できます。この行

    Git 2.x シリーズの 6 つの素晴らしいフィーチャー | Atlassian Japan 公式ブログ | アトラシアン株式会社
    fumiyas
    fumiyas 2015/10/31
  • Learn Git Branching

    A interactive Git visualization tool to educate and challenge!

    Learn Git Branching
  • 【git】分かりやすく!mergeは「合流」、rebaseは「付け替え」!

    gitのコマンドって、コマンド名だけでは動作が想像できないものが多いですよね…。けど、勉強していく中で呪いのように見かける言葉。 『rebaseすんなし』 ドユコトー?ってことでまとめ。 pull = fetch + merge(rebase)! まず。 gitの主な動作はpush・fetch・merge・rebaseで出来ます。 push rebase pullはー?っていうと、fetch して mergeする = pull。 ちなみに、fetch して rebase する = pull --rebase。 要するに、pullは使わなくてOK!ってことです。 使わなくていい理由はこちらの記事が分かりやすかったです。ご参照ください。 Git pullを使うべきでない3つの理由 mergeするとどうなるの? mergeは2種類ある!その1・・・Fast-Forward topicランチ

    【git】分かりやすく!mergeは「合流」、rebaseは「付け替え」!
    fumiyas
    fumiyas 2015/07/22
  • すごいGit楽しく学ぼう

    blog記事: http://alpha.mixi.co.jp/entry/20150513

    すごいGit楽しく学ぼう
    fumiyas
    fumiyas 2015/05/15
  • Gitチュートリアルとトレーニング| Atlassian

    Gitの学習は、中々難しいものです。 Gitの過剰なコマンドとその分散型の性質は、新規ユーザーを苦労させがちですが、その解決策として生まれたのがこのチュートリアルです。 Atlassianの Gitチュートリアルは、基礎的なGitコマンドを解説するだけでなく、各コマンドを既存のSVNワークフローと関連づける事で、Gitリビジョン管理への分かりやすい入門編の役割を果たします。 1. Gitの基 Gitを一度も利用した経験が無い人は、ここから始めましょう。Git Basicsチュートリアルは、Gitインスタレーションの構成、新規リポジトリの設定、そしてプロジェクトへのリビジョンを記録するための基礎的なGitワークフローの利用方法を解説します。 Learn more» 2. 変更点のやり直し 過去のリビジョンをリストアできなければ、ソフトウェアプロジェクトの履歴を記録できても意味がありません。

    fumiyas
    fumiyas 2015/04/05
  • git で管理してるプロジェクトの中でサブプロジェクトをやってたけど別リポジトリにしたくなったとき - Qiita

    git filter-branch の subdirectory-filter を使うのがいいみたいです。履歴も残るのが素晴しいです。 man git-filter-branch から引用すると Only look at the history which touches the given subdirectory. The result will contain that directory (and only that) as its project root. Implies the section called “Remap to ancestor”.

    git で管理してるプロジェクトの中でサブプロジェクトをやってたけど別リポジトリにしたくなったとき - Qiita
    fumiyas
    fumiyas 2015/04/03
  • スッキリ! Git Commit Log - Qiita

    以下のような人向けの記事です コミット履歴がスッキリしていないと気になって仕方がないという人 1つのコミットは1つの修正(typo修正、バグ修正、機能追加)に対応していないと落ち着かないという人 けどわりとよくルールを無視した修正やコミットをしてしまい後で直したくなる人 注意点 下記文中ではコミットログの改変を行なっています 複数人で共有リポジトリを使っている場合、共有済みのコミットログに対する改変は行わないようにしましょう まだ共有リポジトリにpushしていなければOK! 途中でgit rebaseを利用している箇所がありますが、rebaseそのものついての説明は省略しています 今の作業を一時的に中断して別の作業をやりたい 機能追加の修正を行なっている最中にtypoを見つけてしまったけど、機能追加が終わるのを待ってたら忘れてしまうかもしれないし・・・というようなケースの場合。 git s

    スッキリ! Git Commit Log - Qiita
  • git-pr-releaseのすすめ - ninjinkun's diary

    Github (含むEnterprise) で開発をしているなら、Github Kaigiでも紹介されていた git-pr-release が便利です。自分の会社ではアプリのリリース前にQAを実施しているのですが、QAを始める前にどの機能がリリースされるのかをリストアップし、それをGoogleスプレッドシートに入力する作業が繁雑でした。 git-pr-release を使うと、これをリリースPull Requestに集約して自動化することができます。リリースPull Requestとは以下のようなものです (スクショはこのツールのPR用に作ったダミー)。 具体的なリリースまでの作業手順は以下のようになります。 開発ブランチにリリースする機能のPull Requestをmergeしていく git-pr-release を実行 merge済みのPull Requestの情報を集めてチェックリス

    git-pr-releaseのすすめ - ninjinkun's diary
    fumiyas
    fumiyas 2014/07/18
  • githubへ100MB超のファイルのあるrepositoryを移行する - RAKSUL TechBlog

    ラクスルの利根川です。 ラクスルも最近の多くのテック系企業のようにソースコードの管理にgithubを使っています。 ラクスルがgithubに来るまで raksul.com をオープンして間もない2011年10月からソースコードの管理をgitにて行っておりましたが、2013年12月に「コードレビューとかプルリク運用とかそろそろしたいよね」とgitlabを使用していました。 ただ、過去の1万以上のcommitのせいか、当社だとgitlabの挙動が正直安定していなかった(が、その修正にpull requestを送る程の余力は無い)のもあり、当社でもgithubにてソースコードを管理することになりました。 githubへ移行する時 1.Sign UPする githubの価格表に記載がありますが、当社の場合は10 private repositories で足りるので、bronzeをsign upし

    githubへ100MB超のファイルのあるrepositoryを移行する - RAKSUL TechBlog
  • いろいろ - hg and git

    hg と git のコマンド相違点 似てるようで違う hg と git の違いのメモ。 基 working directory : バージョン管理対象のファイルを置くディレクトリ。バージョン管理対象にしないオブジェクトファイル等を一緒に置いても良い。 repository : working directory の一番上にある、.hg (hg の場合) または .git (git の場合) ディレクトリの中身。バージョン管理に関する情報、履歴等が置かれる。 あるところにあるリポジトリを追いかけるだけの使い方 たとえば www.kernel.org の Linus のリポジトリを追いかけるとか、そんな使い方の場合。一番シンプルな例。 最初の取得 (リポジトリを取得し作業ディレクトリに最新の内容を展開する) hg clone url [dir] git clone url [dir] 最新リ

  • Ubuntu 12.04 で GitBucket を動かす: 日誌

    GitHubみたいなものを自社のサーバ上で動かしたいという場合、 GitHub Enterprise以外では GitLabというのが有名です。 私自身でインストールしたことは無いのですが、Community Editionならば debやrpmも提供されていますので、 それを使うのがてっとり早いと思われます。 他の選択肢として最近話題になってるのは GitBucket です。Scalaで書かれており、warファイルをダウンロードして、 $ java -jar gitbucket.war でとりあえず動いてしまうお手軽さです。 さて、Apache HTTP ServerをフロントにおいてSSL経由でアクセスできるように したいと思ったのでその時のインストールメモを書いておきます。まだ実運用に 至ってないので準備段階の殴り書き程度です。インストールの条件は以下のとおり。 OSはUbuntu 1

    Ubuntu 12.04 で GitBucket を動かす: 日誌
  • http://misc.e-hdk.com/hg-and-git/hgandgit15.png?attredirects=0