Kazuho Oku @kazuho バージョン管理システムの目的は変更履歴を管理することなんだから、git rebase とか履歴を改変するコマンドは言うまでもなくダークサイド 2012-11-09 16:58:32
Kazuho Oku @kazuho バージョン管理システムの目的は変更履歴を管理することなんだから、git rebase とか履歴を改変するコマンドは言うまでもなくダークサイド 2012-11-09 16:58:32
GitHubを使いたいけど、諸事情(主に料金?)で使えなかったり、プライベートのリポジトリが大量に欲しい場合などGitHubのような機能を使いけど、利用できない場合のプランBとして利用できるものをまとめてみました。各サービスの利用を推奨するものでなく、GitHubと比較見当して判断して欲しいです。 基本的には個人が無料でプライベートリポジトリが使いたいケース、会社や組織で社内や自宅サーバにオンプレミス製品として欲しいケースを考えています。一昔前は日本語の利用について問題がある製品も多かったのですが、全体的にだいぶ改善されてきている現状です。 好き放題にいじれる環境があると入門者も、いろいろとチャレンジしやすいので、いろいろ検討してみてください。 コードレビューが主たる目的であれば下記もも参考になります。 http://hiroki.jp:5080/2012/09/13/5626/ Bitb
8. コミットに入ってる情報 リビジョン (SHA-1 ハッシュ) 例: 23cdd334e6e251336ca7dd34e0f6e3ea08b5d0db Author (コミットを作成した人) 例: オープンソースプロジェクトにパッチを送った人 Committer (コミットを適用した人) 例: 受け取ったパッチを取り込んだ人 ファイルのスナップショット (tree) コミットで変更されたファイルを含むツリー(説明は省略) 1つ前のコミットのリビジョン 例: 4717e3cf182610e9e82940ac45abb0d422a76d77 9. コミットに入ってる情報 リビジョン (SHA-1 ハッシュ) 例: 23cdd334e6e251336ca7dd34e0f6e3ea08b5d0db Author (コミットを作成した人) 例: オープンソースプロジェクトにパッチを送った人 Co
Frontrend Vol.6 powered by CyberAgent, Inc. http://frontrend.doorkeeper.jp/events/6907 で発表したプレゼン資料です。 こういう資料に対する投げ銭的なのがどうなるのか気になっていたので、もしよろしければ・・・!15円からできるソーシャルカンパサービスだそうですm(_ _)m http://kampa.me/t/dev
1億行のファイルに1行追記するだけでレポジトリ容量が2倍になった 以前の記事「Gitレポジトリはパッチの集積ではなくてスナップショットの集積である。」を確認するために、1億行のファイルを作って実験してみました。 結果は、なんと1行追記しただけでレポジトリ容量が200MB増加し、サイズが2倍になりました。 実験手順 空のレポジトリを作る 1億行のファイルを作ってgit addしてgit commit コミットする そのファイルに1行だけ追記してgit addして git commitする 空のレポジトリを作る $ git init 1億行のファイルを作る 1億行のファイル(1から1億までの数字が書かれたファイル)を作ります。 $ seq 1 100000000 > numbers.txt この時点で、ワーキングツリーとレポジトリ容量を調べてみます。 $ ls -lh 合計 848M -rw-
あるファイルに大量のコンフリクトが発生し解決が面倒なとき、パッチを使ってファイルに1コミットずつ変更を適用する方法を示す。この方法のメリットは: ファイルへの変更を1コミットずつ適用・コンフリクト解決することができる それぞれのコミットを適用する前に、コミットをパッチファイルの形で編集できる 注目するファイル以外への変更をいったん無視し、そのファイルに関係する変更に集中できる の3点である。複数コミットの変更が混ざった大量のコンフリクトマーカーを手作業で消すような状況に陥ったとき、この方法を使えばいくぶんかは楽にマージ作業を進められる。 概要 マージ中に特定のファイルに大量のコンフリクトが起きたら、マージを中止する。一時作業用ブランチを作り、そのファイルに1コミットずつパッチを当てて編集する。パッチを当て終わったらマージをやり直し、コンフリクト解決作業中に、コンフリクトしたファイルを一時作
分散SCMを使いたい!と思う今日この頃。 仕事ではSVN(Subversion)を使っているのだが、ちょっとしたお試し編集をするためにブランチを作ることに抵抗がある。ブランチは欲しい、大きめな変更をコミット無しで行いたくない、やはり少しずつコミットして進めていきたい。しかし、変更が全て記録されてしまうのがいただけない。ログが残るのは良いことなのだが、本当に使うかどうか未知数な実験的プログラミングのログまで残したくない。使うと決まってから初めて残すようにしたいのだ。 すまん、これまで一緒に仕事をしてきた人々よ。俺はこれまで「ログが残って困ることがなんかある?いらなきゃ無視すればいいだけなんだから、気にするな。ブランチでもなんでもバンバン作ってしまえ!」とうそぶいてきているわけだが…ハッタリかましてました!本当は俺も抵抗があるのだ。 そこで、分散SCMだ。さらにいうと、SVKがいまひとつ気に入
echo "$(PROJECT=$(url=$(git config remote.origin.url) && url=${url#*github.com?} && echo ${url%.git}) && echo "hash | title" && echo "-----|------" && git log --since='12 hours ago' --author=$(git config user.email) --pretty="format:[%h](https://github.com/$PROJECT/commit/%h) | %s" | perl -nle "\$_ =~ s|#(\\d+)|[#\\1](https://github.com/${PROJECT}/pull/\\1)|g; print \$_")" | pbcopy 一応これが完成形ですが、ここま
2013-07-14 git push 前に自動でテストを回そう git git push する前にテストを回しわすれ、 pull request が CI にはねられて悲しい思いをすることが多かったので、忘れないように自動化した。 git には pre-push hook が 1.8.2 から導入された。 以前 temporary なコミットが含まれる場合、push をやめるというのを作ってとても重宝した。 git-now したコミットの誤送信をふせぐ - tomykaira makes love with codes テストを回すのはチェックに時間がかかるけど、それで円滑な開発と綺麗なコミットグラフが促進されるなら、30秒ほどまつ価値はあると思う。 .git/hooks/pre-push の内容は次のような感じ。以前のに足したところから、関係なさそうなところを消したので、余計なものが混
Visual Studio Advent Calendar 3日目です。Keiji KAMEBUCHI さんからの引き継ぎです。 今回はVisual Studioのソリューション・プロジェクトをGitを使ってバージョン管理をするためのGit Source Control ProviderであるGit Source Control Provider(gitscc)の使用方法についてまとめます。 Git Source Control Provider(Codeplex) Source Control Providerとは Source Control ProviderはVisual Studioに於いて、ソースコードのバージョン管理をする仕組みを提供するアドインやVS拡張のことです。 基本的にVisual Studioに対して共通のインターフェイスをもとに、リポジトリからのチェックアウト、コミ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Too Perfect A Mirror - Me, my blog, and my Johnson 完璧過ぎるミラーと題して、今回のKDEのレポジトリが危うく消失しかけた障害について書いている記事があるので、参考のために全訳する。ただ、私にはgitの知識がないため、あくまで参考程度に。 (追記) 以下のテキストは公開時より書き換えられてはいないが、我々のバックアップ方法や失敗原因などの詳細に関する疑問に答えるために追記した。もし以前にこの記事を読んで、「おい、なんでバックアップ取ってねーんだ」と思ったならば、追記を読むといい。 当初公開した記事で説明し忘れたことがある。我々はレポジトリのtarballは持っている。tarballは数日おきに作成しているが、これは完璧なバックアップというわけではない。より詳しくは記事中で説明する。 これは、あやうくKDE大災害2013になりかけた今回の事件
去年の夏にカナダから帰ってきてから、AtlassianのStashでGitな開発をしているのですが、 最近、アサインされたプロジェクトがSubversionでテンション下がったので、 git-svnでチェックアウトしてきて(Windowsマシンでgit svnを使ってみる | shinodogg.com) Stashに突っ込んだりしてるのですが、他の会社の人たちはどーしてるのかなー?って事で、 はじめてテックヒルズ(第5回テックヒルズ『Go to Git !』~さらばSVN~)に参加してみました。ハッシュタグは #techhils #java-jaのキャンセル待ちが繰り上がらなさそうだったって話もある。。 会場は六本木ヒルズの49階のアカデミーヒルズ。 19時ちょっと過ぎについたら、満員御礼的な感じで机がる席に座ることはできませんでした。 ■ GREE 大場さん ・バージョン管理システムの
はじめに svn を使っていたあなたが、さくっと git の考え方を理解できますように (*・人・*) git リポジトリのイメージ git リポジトリのイメージを絵にしてみました。 絵の中の登場人物について、このあと触れますー リポジトリ リポジトリは複数のファイルの変更履歴を記録する入れ物です。 リポジトリを使用するときは、どこかにある、誰かのリポジトリを、自分のマシンにまるっとクローンを作って使用します。 (対して svn はある時点でのファイルのみを、ローカルに持ちます) コミット(図の黄緑の四角いあいつ) ファイル達に変更を重ねていくと、変化したファイル達の状態が、リポジトリに保存されていきます。 このリポジトリへ変更した内容を保存することを「コミットする」といい、保存されたファイル達の、変化の履歴の1つ1つを「コミット」といいます。 それぞれのコミットは 「0abe...」 み
Vim から Git を操作するプラグインとしては、今まで git.vim を使っていたんですが、fugitive.vim のほうが便利だったので乗り換えました。 詳しい説明はここ VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい - SELECT * FROM life; ここでは、自分が特に便利だと思った機能を書きます。 git add -p をグラフィカルに行う git add -p を使うと、複数の変更箇所のうちどの変更をコミットに含めるかを選ぶことができますが、fugitive の :Gdiff を使うとこれをグラフィカルに行うことができます。 :Gdiff コマンドはインデックスとワークツリーの状態の差分を vim の diff で表示します。 こんな感じ たとえば、スタイルシートの設定(上のほうの差分)はコミットに含めたいけど、クラス属性の付与(下の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く