タグ

gitに関するf99aqのブックマーク (32)

  • Blockstackを使ったGithubやGitLab等の分散型代替アプリ・「GitHuman」

    GitHumanはBlockstackを使ったGithubGitLab等の分散型代替ツールです。IPFSとIPLDを使ってgitリポジトリをホストするそうです。 リポジトリリンクは誰とでも可能で、Blockstackアカウントでログインすれば、リポジトリの詳細データが暗号化され、お馴染みのgaiaで保存できるみたいです。 UIがまだ手が付けられてない感じですが機能は最低限有している印象ですぐにで使えそうでした。 新しいリポジトリを作る流れは、まずIPFSの為にGo及びgo-ipfs、git-remote-ipldをインストールしてgit pluginをセットアップ $ git clone https://github.com/ipfs/go-ipfs.git $ cd go-ipfs $ make build_plugins $ ls plugin/plugins/*.so $ mkdi

    Blockstackを使ったGithubやGitLab等の分散型代替アプリ・「GitHuman」
  • rebase: introduce the --rebase-merges option · git/git@8f6aed7

    f99aq
    f99aq 2019/06/08
  • なぜ git rebase をやめるべきか - Frasco

    Git での開発を数年間経験した後、徐々に日々の仕事の一部として、より高度な Git コマンドを使うようになりました。私は Git rebase を見つけてすぐにそれを毎日の仕事に使いました。リベースに精通している人は、どれだけ強力で魅力的なツールであるのか知っているでしょう。しかし、リベースには、初めてリベースを触ったときにはわからなかったのですが、いくつかの課題があることに気が付きました。これを説明する前に、マージとリベースの違いをおさらいしておきましょう。 最初に、feature ブランチを master にマージする例を考えてみましょう。マージすることにより、新しいマージコミット g を作成します。下のコミットグラフではマージした際に何が起こるのかを説明しています。また、開発が盛んなリポジトリでよく見かける「線路」のようなグラフになっているのが見て取れるでしょう。 マージの例 ある

    なぜ git rebase をやめるべきか - Frasco
    f99aq
    f99aq 2018/04/22
  • 中の人に聞いたGitHub flowの本当の使い方 - Qiita

    背景 今日GitHubの中の人のLTを聞く機会があって当のGitHub-flowを聞いてきたので 忘れない間にメモ GitHub-Flowのお約束 Masterにあるものは即座にデプロイ可能な状態に保つこと ブランチの上で必ず作業し、その生存期間を短くすること すぐにPRを作り、フィードバックやサインオフを求めること マージしたらすぐにデプロイすること 当のGitHub-flow 中の人曰くよくマージしてからデプロイすると言っている人がいるらしい。 だが当のGitHub-flowは違う。 当のflowは PR作成 ⇩ 修正 ⇩ デプロイ ⇩ フィードバック ⇩ マージ らしい。 マージ前にデプロイすることでさらにユーザーに近いところでフィードバックを受けることができるとのこと。 ダメなら直ちにmasterに戻す。なので決まりごとの中にmasterは直ちにデプロイできる状態にあること

    中の人に聞いたGitHub flowの本当の使い方 - Qiita
  • 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
  • GitBucket: The perfect Github clone by Scala

    Beginning Scala with Skinny Framework #jjug_cccKazuhiro Sera2.4K views•46 slides Web application development using Play Framework (with Java)Saeed Zarinfam3.8K views•23 slides Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible68.4K views•170 slides

    GitBucket: The perfect Github clone by Scala
  • gitの10周年を記念したLinus Torvalsへのインタビューの翻訳

    10 Years of Git: An Interview with Git Creator Linus Torvalds | Linux.com gitの10週年を記念して、リーナス・トーバルズがインタビューに答えている。以下はその翻訳である。 なぜGitを作ったのか? トーバルズ:俺はソース管理ツールなんて作りたくなかったし、コンピューターの業界において最も興味がないものだと見なしていた(データベースは別だが)。それにソース管理ツールなんてどれも嫌いだった。しかし、BitKeeperがやってきてからというもの、ソース管理に対する見方が変わったね。BitKeeperは大抵のことを正しく行っていた。レポジトリのローカルコピーがあることと、分散マージはでかかった。分散ソース管理の何がいいかというと、ソース管理ツールの問題を吹っ飛ばせることだ。「誰が変更を行えるか」といった政治問題があるが、B

  • gitのリモートリポジトリの更新を確認する - Qiita

    gitのリモートリポジトリが更新されているかどうかを確認する方法はいくつかあります。 方法1: git fetch 後にdiffをとる 方法2: git ls-remote コマンドを使用する git ls-remoteを使用することでリモートリポジトリのコミットIDが取得できます。 リモートリポジトリの最新コミットID(HEAD)とローカルの最新コミットID(HEAD)を比較し、その2つが異なっていれば差分があると判断できます。 さらに、リモートのコミットIDが過去に存在しないものであれば、ローカルのリポジトリが古い(マージしていないコミットがリモートに存在する)ことになります。 $ git ls-remote origin HEAD 78ddd44eb3b76017a55014f27d9f846054dfa52b HEAD $ git log -1 HEAD # or master c

    gitのリモートリポジトリの更新を確認する - Qiita
    f99aq
    f99aq 2015/03/07
  • バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita

    TL;DR: グローバルな gitignore に ,/ を追加して、作業用スクリプトを , ディレクトリに入れると便利。 ,/tmp_script.sh で実行できる。 Git リポジトリの中に一時的に使う作業用スクリプトを置いておきたいことがある。自分だけが使うものなのでコミットはしたくないが、いちいち .git/info/exclude に追加して無視させるのも面倒臭い。 今まで自分は、 tmp_script.sh~ や tmp_script.sh.bak など、グローバルな gitignore で無視されるファイル名にしていたが、これは不要なファイルと間違えて消してしまう危険がある。 ignored.tmp_script.sh は分かりやすいぶん長い。 _tmp_script.sh は悪くないが、コミットすべきファイルにもアンダースコアで始まるものがあって紛らわしい。 そこで、作業

    バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita
    f99aq
    f99aq 2014/10/29
  • GitLab flowから学ぶワークフローの実践 | POSTD

    Gitによるバージョン管理では、従来のSVNなどよりずっと簡単にブランチングやマージができます。さまざまなブランチ戦略やワークフローが可能であり、以前のシステムに比べるとほとんど全てが改善されたと言えるでしょう。しかしGitを利用する多くの組織はワークフローの問題に直面します。明確な定義がなく複雑で、Issue Tracking Systemと統合されていないからです。そこで、明確に定義された最良の実践的方法としてのGitLab flowを提案したいと思います。issue trackingには feature driven development と feature branches を組み合わせます。 他のバージョン管理システムからGitに移行する際によく耳にすることは、効果的なワークフローの開発が難しいということです。この記事ではGitワークフローとIssue Tracking Sys

    GitLab flowから学ぶワークフローの実践 | POSTD
  • もう巨大なデータをgitignoreしなくていい! ~git-mediaの使い方~ - 3度の飯と最新技術

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

    もう巨大なデータをgitignoreしなくていい! ~git-mediaの使い方~ - 3度の飯と最新技術
    f99aq
    f99aq 2014/04/15
  • Git チームワークフロー: マージ (merge)、それともリベース (rebase) ? | Atlassian Japan 公式ブログ | アトラシアン株式会社

    質問は簡単です。git と フィーチャーブランチ を利用しているソフトウェアチームにとって、完了済みの作業を開発のメインラインに取り込む最良の方法は何でしょうか?これは、確固たる意見を持つ両陣営によって繰り返し展開されている議論の一つですが、やはり議論には最低限の配慮を持って対応したいものです。 (その他の激しい議論の例としてはこれがあります: The Internet)。 リベースを行って、リポジトリの履歴をフラットかつクリーンに保つべきでしょうか?それとも、可読性と明晰さを犠牲にする事でトレーサビリティを得られる、マージを行うべきでしょうか?( ファストフォワード マージを禁止するなど。) 議論 このトピックは、vimEmacs や Linux と BSD ほどまでには有名な論争の的とはなっていないものの、双方共に遠慮なく意見を述べ合っています。 all-things-git

    Git チームワークフロー: マージ (merge)、それともリベース (rebase) ? | Atlassian Japan 公式ブログ | アトラシアン株式会社
    f99aq
    f99aq 2013/12/09
  • めちゃくちゃにコンフリクトしたファイルを一歩一歩マージする方法 - Qiita

    あるファイルに大量のコンフリクトが発生し解決が面倒なとき、パッチを使ってファイルに1コミットずつ変更を適用する方法を示す。この方法のメリットは: ファイルへの変更を1コミットずつ適用・コンフリクト解決することができる それぞれのコミットを適用する前に、コミットをパッチファイルの形で編集できる 注目するファイル以外への変更をいったん無視し、そのファイルに関係する変更に集中できる の3点である。複数コミットの変更が混ざった大量のコンフリクトマーカーを手作業で消すような状況に陥ったとき、この方法を使えばいくぶんかは楽にマージ作業を進められる。 概要 マージ中に特定のファイルに大量のコンフリクトが起きたら、マージを中止する。一時作業用ブランチを作り、そのファイルに1コミットずつパッチを当てて編集する。パッチを当て終わったらマージをやり直し、コンフリクト解決作業中に、コンフリクトしたファイルを一時作

    めちゃくちゃにコンフリクトしたファイルを一歩一歩マージする方法 - Qiita
    f99aq
    f99aq 2013/08/25
  • こわくない Git

    「マージがなんとなく怖い」「リベースするなって怒られて怖い」「エラーが出て怖い」 Git 入門者にありがちな「Git 怖い」を解消するため、Git のお仕事(コミット、ブランチ、マージ、リベース)について解説します。Read less

    こわくない Git
    f99aq
    f99aq 2012/12/06
    スライドかわいい
  • GitHubはいかにして始まったのか - I am bad at math

    またもや 37signals ネタなのだけれども、彼らの blog で連載されている「Bootstrapped, Profitable, & Proud」というシリーズが凄まじく面白いし参考になる。 内容はそのタイトル通り初期投資お金をかけずに(ベンチャーキャピタルを使わずに)設立し、利益を生むまでになった(収入でいうと100万ドル以上の)会社を一社づつインタビューしてそのサクセスストーリーを披露するというものだ。 で、最新版にはみんな大好き GitHub が登場。 Bootstrapped, Profitable, & Proud: GitHub その中から「How did the business get started?」という質問に対する回答を訳してみる。チョー訳だけど。 最初 GitHub は週末プロジェクトだったんだ、git のホスティングサイトをやりたいって Tom Pre

    GitHubはいかにして始まったのか - I am bad at math
  • 操作体系から見る、GitとMercurialの8つの違い

    つい先日、SVNからMercurialに移行するべき8つの理由をまとめたが、Twitterはてなブックマークのコメントを見ていると、同じ分散バージョン管理システムとしてGitとMercurialとの比較に関心が高く、Windowsでの動作でMercurialを評価する人が多いように感じられた。 それも一つの側面で間違いでは無いのだが、日々の開発作業で使っていくと、むしろ操作体系の方が気になるものだ。GitとMercurialの両方を使う機会があったので、操作体系の面で気づいた違いを列挙した上で、Gitに対するMercurialの優位点を考察してみる。 1. 管理対象ファイルの指定方法 .gitignoreや.hgignoreで管理外のファイル名を指定でき、正規表現も使える点は良く似ている。 しかしGitはcommit前にコミット対象を毎回git-addで指定するが、Mercurialは一

    操作体系から見る、GitとMercurialの8つの違い
  • GitHubへpull requestする際のベストプラクティス - hnwの日記

    みなさん、Git使ってますか?僕はまだメインのVCSがSubversionなのもあって、なかなか慣れません。せっかくGitを使っているのに、ちょっと不便なSubversionくらいの位置づけです。でも、同じような理解度の人って多いんじゃないでしょうか。 一方で、最近はGitHub管理のオープンソースプロジェクトが増えてきました。バグレポートを送るにしてもpull request*1が前提のような空気があり、Git初心者には少し敷居が高い印象があります。 そんな僕も先日初pull requestをしてみたんですが、色々な失敗の積み重ねで残念なpull requestになってしまいました。その反省を元に、稿ではpull requestする際のベストプラクティスを紹介します。これは「Git Workflow」をベースにコマンド例などを加筆したものです。 概要 pull requestする際は、

    GitHubへpull requestする際のベストプラクティス - hnwの日記
    f99aq
    f99aq 2011/06/15
    すばらしい まとめ
  • git resetのundo方法 - 西尾泰和のはてなダイアリー

    git resetを間違えて使ってしまったときのundo方法 まず説明用にリポジトリを用意します。 t$ git init Initialized empty Git repository in /Users/nishio/gittest/pygit2/t/.git/ t$ touch a t$ git add a t$ git commit -m "add a" [master (root-commit) 2b2e9a8] add a 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 a t$ touch b t$ git add b t$ git commit -m "add b" [master 30955c0] add b 0 files changed, 0 insertions(+), 0 d

    git resetのundo方法 - 西尾泰和のはてなダイアリー
    f99aq
    f99aq 2011/06/13
  • Xcode プロジェクトをうまく .gitignore する - ヤルキデナイズドだった

    2015年11月9日追記:以下の内容は Xcode 4 までに対応しています。最近の Xcode に対応するには github.com/github/gitignore の Objective-C.gitignore を使うことをお勧めします。(追記終わり) Xcode で作ったプロジェクトを Git で管理するにあたってめんどくせえーのは、 .xcodeproj の中にプロジェクトのデータとユーザデータが一緒に入ってる点です。普通に空のプロジェクトを作るとこうなります: Xcode 3: - $PROJ.xcodeproj/ - project.pbxproj - $USER.mode1v3 - $USER.pbxuser Xcode 4: - $PROJ.xcodeproj/ - project.pbxproj - project.xcworkspace/ - xcuserdata/

  • http://www.machu.jp/posts/20100506/p01/

    http://www.machu.jp/posts/20100506/p01/
    f99aq
    f99aq 2010/05/06