タグ

gitに関するakkun_choiのブックマーク (205)

  • ファイルシステムとしての Git - 言語ゲーム

    Git のコマンド体系は全く歴史に学ばず後世に禍根を残す酷いデザインだが、どういうわけか内部構造は大変素晴らしい。特にファイル構造を一旦キーバリュー式データストアに保存するというのは是非参考にしたいアイデアなので調べてみました。 Git 内部データストアの基機能は、ファイル名を使わず中身だけを保存する事です。ファイル名が無くて後からどうやって保存した中身を取り出すかというと、保存時に SHA-1 という文字列が発行されるのでそれを鍵に取り出します。それでは試しにやってみます。まず準備として新しい Git レポジトリを作ります。 $ mkdir test $ cd test $ git init Initialized empty Git repository in /Users/takashi/tmp/test/.git/ blob 次に、適当な文字列を保存します。 $ echo '適当

    ファイルシステムとしての Git - 言語ゲーム
  • Git Cheat Sheets JP

    設定 基ランチ リモート・リポジトリ git-stash git-svn 参考 修正履歴 設定 Git には様々なオプション設定がある。中には挙動を大きく変えるものもあるので注意が必要である。 設定をすべて表示する $ git config --list システム (/etc/gitconfig) の設定 $ git config --system --list や、ユーザーごと (~/.gitconfig) の設定 $ git config --global --list など表示する対象を絞ることもできる。 ユーザ名とメール・アドレスを設定する $ git config --global user.name "John Doe" $ git config --global user.email "john.doe@example.com" コミットする時に記録されるユーザー名とメ

  • git: pull/pushはブランチ単位だからSVKのような任意のディレクトリ間のマージはできない - while (“im automaton”);

  • Git の便利コマンド色々 〜ソースコードリーディング編〜 - kotakのひまじめ日記

    分散型のバージョン管理システムとして利用者も増えてきた(ような気がする) Git ですが、単なるバージョン管理システムとしての機能以外にも色々と便利な機能があったりします。 今回は、ソースコードリーディングに使える Git の便利なコマンドをご紹介します。 git grep Git で管理されているファイルを grep します。find + grep よりも高速に grep してくれます。 じっくりとソースコードを読み込むのであればタグ管理システムを使いたくなりますが、さっと確認したいというときや、タグで管理できないエラーメッセージを手がかりにソースコードを読むときなどに重宝します。 git grep -e <pattern>として、検索パターンを指定します。パターンには正規表現をつかうことができます。-e は省略可能です。 パターンは複数指定することもできます。--and/--or/--

    Git の便利コマンド色々 〜ソースコードリーディング編〜 - kotakのひまじめ日記
  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

    RubyDropはRuby製のオープンソース・ソフトウェア。個人的にDropboxはとても便利に使っている。これなしの生活は考えられないくらい便利だ。有料であれば50GBまで使えるが、無料版の2GBでは物足りないと感じる人も多いだろう。だがお金は払いたくないという人もいるだろう。 サーバ起動中 そこで考えたいのが自分だけのDropbox構築だ。重要なのは自動的に同期されるシステムであること、バージョン管理されること、複数のコンピュータ間でデータが同じ状態に保てることだろう。それらを実現するのがRubyDropだ。 RubyDropはRuby1.9系で動作するソフトウェアだ。簡単に言えば、特定のフォルダに関してRubyDropが監視を行う。そして変更があると内容をリモートのGitリポジトリにアップデートする。Gitリポジトリ側で変更があれば、Pullする仕組みだ。 自動的に同期されている G

  • CUI な Git ブラウザ tig を入れてみた - Born Too Late

    Git をなかなか使いこなせずにいる私ですが、これはいい ! コンソールから使える git ブラウザ、tig が超便利 Vim に近い操作感で使えるのが Vim 使いには非常に嬉しいところです。以下で、インストール方法と基操作について紹介します。 インストール インストールは、まずソースコードからやってみたのですが、パッケージが存在することに気づいたので、 aptitude で入れ直しました。 sudo aptitude install tig はい、簡単ですね。 起動する カレントディレクトリを Git のワークツリーに移動して、 tig コマンドを実行します。 $ cd /path/to/work-tree $ tig ヘルプを表示する: h 何はともあれ、わからないことがあればとりあえず h を押してヘルプを調べましょう。 カーソルの移動: j, k Vim ユーザなら、何の問題も

    CUI な Git ブラウザ tig を入れてみた - Born Too Late
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Git入門 ゼロから始めるGitドリル

    gitの勉強をしつつ取ったノートを記事化しました。一応これを読めばざっくりとした導入やSVNとの違いが分かってもらえるように書いたつもりです。svnを使った経験があることを前提に進めていきます。 svnの場合、一つのレポジトリに対して認証のあるユーザが変更を報告していくユースケースをとっています。gitの場合は、個々のローカルマシンにリポジトリが分散されて配置され、お互いに変更を報告しあうユースケース。これはLinuxの伝統的なバザール方式の開発を想定しています。そのため例えばカフェや電車で開発したり、マスターはgithubやgitfarm(Git Hosting参照)にしておいて時々ローカルの変更を報告することも可能です。 目次 インストール 基操作 Gitリポジトリの作成 ブランチの作成。 タグ ファイルを無視する 索引の理解 取り消し 導入 --hardと--softの違い 一個の

    Git入門 ゼロから始めるGitドリル
  • Windows で GitHub の利用 - msysgit, TortoiseGit を使って | すぐに忘れる脳みそのためのメモ

    0. 目次 Git の特徴 Windows で msysgit GitHub でリポジトリを作成 日語の設定 Git を使うためのクライアント - TortoiseGit Git のコマンドを使ってみる 1. Git の特徴 ソースコードの管理に GitHub を利用してみる。 Git - Wikipedia とは、 プログラムなどのソースコード管理を行う分散型バージョン管理システム。動作速度に重点が置かれている。Linuxカーネルのソースコード管理を目的として、リーナス・トーバルズによって開発された。 特徴を押さえておく。 Gitは、arch等にも採用される分散リポジトリをサポートしており、 中央リポジトリからコピーする コピーしたリポジトリを編集し、コンテンツの修正、追加、削除を行う ローカルへコミットする 中央リポジトリへ変更内容を反映させる という形で行われる。 リポジトリへのア

  • An introduction to git-svn for Subversion/SVK users and deserters

    An introduction to git-svn for Subversion/SVK users and deserters An introduction to git-svn for Subversion/SVK users and deserters This article is aimed at people who want to contribute to projects which are using Subversion as their code-wiki. It is particularly targetted at SVK users, who are already used to a work-flow that involves disconnected operation, though this is a tiny subset of the w

    akkun_choi
    akkun_choi 2010/11/04
    git-svn
  • NDP Software :: Git Cheatsheet

    stash workspace index local repository upstream repository status Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the workspace and the index file, and paths in the workspace that are not tracked by git. diff Displays the differences not added to the index. diff commit or branch View the changes you have in your workspace

  • git svn rebaseに失敗してno branchになったら - Hello, world! - s21g

    git svn rebaseを行って conflict が発生した場合、 (no branch) になってしまいます。 この場合、手動でconflictを解決してcommitしたあと、

  • A Visual Git Reference

    Available languages: English 日

  • Git + Wikiの妙技·Git-Wiki MOONGIFT

    Git-WikiはRuby製のオープンソース・ソフトウェア。土曜日と言えばウィキサタデー。日々新しい技術が生み出される中、それを使ったWikiエンジンが生み出されている。いやWikiのために新しい技術、概念ができているとも言えそうだ。 見た目もすっきりとして分かりやすい 最近人気の高いGitやMercurialといった分散化バージョン管理システム。ローカルでも使えるので非常に便利だ。そんな分散化バージョン管理システムとWikiエンジンを組み合わせてしまうのがGit-Wikiだ。 Git-Wikiは名前の通り、コンテンツ管理にGitを使う。そのため、バージョン管理が容易に行えるのが魅力だ。記法はMarkdownCreole、Textileと複数に対応している。作成したコンテンツはS5としてオンラインプレゼンテーションができたり、LaTeXとしてダウンロードすることもできる。 S5として出力

    Git + Wikiの妙技·Git-Wiki MOONGIFT
  • 分散型バージョン管理システム「Git」タスク単位ブランチ運用のための10のステップ - the true power

    the true power さすらいのプログラマ堀井俊和の個人的なブログです(元「表参道ではたらくCTOのブログ」)。 海外IT技術系ニュースのキュレーションを実践中。 今回も Git のお話。 前回、前々回のエントリで、私の Git 利用方法について書きました。 中央リポジトリは従来通り Subversion(svn)を使い続けますが、ローカルで Git リポジトリを運用し、リリース可能なコードを適宜 Subversion リポジトリに push する、という方法です。 これにより、オフラインでのコミットや、複数のタスクを並行して作業する場合における、タスク毎のソースコードの独立性確保を実現することができるようになります。 今回は、こういった利用方法を行う上で必要となる Git のコマンドや Tips を紹介したいと思います。 まずは前提事項。 今回紹介する利用法では、以下のような

    分散型バージョン管理システム「Git」タスク単位ブランチ運用のための10のステップ - the true power
  • フック(hook)を使ってコミットしたら自動的にデプロイするようにする - ちなみに

    Gitさんはいくつかのタイミングで好きな処理をフックできる賢い子です。 $GIT_DIR/hooks配下にタイミングごとのスクリプトが用意されていて、それを書き換えることで任意の処理を行わせることが出来ます. タイミングなどの詳しい説明はman githooksに書かれています。(最初にこれを見ていれば僕の数時間は失われなかったのに) 今回やりたかったのは、ローカルでWebサイトをこねくりまわして、気に入ったらコミットしてリモートにpush、そうすると自動的に公開用のディレクトリでpullするというものです。 やったことは、リモート側で $ cat path/to/repos/hooks/post-receive #!/bin/sh (cd /path/to/site/directory; git --git-dir=.git pull) $ chmod +x path/to/repos/

    フック(hook)を使ってコミットしたら自動的にデプロイするようにする - ちなみに
  • .gitconfigに設定してるaliasなどのまとめ - ( ꒪⌓꒪) ゆるよろ日記

    22:56 @thinca さんからの指摘を追記 @yuroyoro あとお節介ですが、n個前とdiffなら HEAD^ より HEAD~ の方がいいと思いますよ。両者では若干意味が違います。~なら HEAD~3 と数字が書けるのも利点です。あと個人的にはwhatchangedよりlog --statの方が見やすくて好きです。 2010-10-08 22:30:52 via Tween to @yuroyoro @yuroyoro URL このgitconfigの記事に関して質問なのですが、core.excludesfile は $HOME で動きますか?以前試した時ダメで、~/ なら動いたのでこちらを使ってるんですが。 2010-10-08 22:20:49 via Tween to @yuroyoro 「そんな.gitconfigで大丈夫か?」 そんなわけで、仕事でもモリンモリンにgi

  • How to remove a git submodule < Flop’s Scribbles

    Ok, so we all know that having git submodules to include libraries in a git project is very handy. Today, I was trying to remove a git submodule that I had in a project, and couldn’t really a find a good answer by googling, so I went in irc and thanks to a good samaritan: Ilari, I found the answer. Let’s say that you have a submodule in your project called ’submodule1′ and it’s in the following pa

    akkun_choi
    akkun_choi 2010/10/05
    submoduleの削除の仕方
  • Google CodeがGitではなくMercurialを採用へ - @IT

    2009/04/28 米グーグルは4月24日、ソフトウェア開発プロジェクトのホスティングサービス「Google Code」で、これまでのSubversionに加えて分散バージョン管理システム(DVCS)の「Mercurial」のサポートを開始すると発表した。現在はプレビューリリースで、一部のプロジェクト利用者に提供。一般リリースに向けて、いくつかの課題を解決していくという。Google Codeでは、Mercurialサポートのために、一般のMercurialがオブジェクトの保存に使うOSネイティブのストレージに代えて、グーグルの分散データベースシステム「BigTable」を使うように書き換えたという。 DVCSとしては、MercurialのほかにGitやBazaarが知られている。従来からある中央管理型のバージョン管理システムに比べて、分散開発がやりやすいことから、普及が進んでいる。例え