English
はじめまして。サーバサイドエンジニアの @DQNEO です。 今日はGitのつくりかたをご紹介します。 C言語学習教材としてのGit Gitと同じものをゼロから作って何の意味があるのか?と思いますよね。 私がこの再発明をやり始めた動機は「C言語を書けるようになりたい」でした。 実際に途中までやってみたところ、 C言語がチョットデキるようになった Gitの内部構造に詳しくなった というメリットが得られました。 C言語を勉強する題材は、テトリスとかWebサーバとか他にいくらでもあるのですが、Gitを実装してみるのはかなりおすすめです。理由は下記の通りです。 内部構造が意外と単純 (ローカルで動かす分には)ネットワークの知識が不要 普段使っているツールで外部仕様がわかっているので、やるべきことが明確 余談ですが、本家Gitのソースコードを参考にしようと思って読んでいたら、Linus Tovals
gitでよくある、やってしまった!を取り消す方法を紹介します。 gitを使っていると、「ヤバイ・・間違えてcommitしてしまった」「消しちゃいけないものをgit reset --hardしちゃった」とか色々なやばいがあります。 そのヤバイを取り消す便利な方法を備忘録として記録しておきます。 【case1】 commit内容が間違っていた。取り消して再度commitしたい 直前のcommitだけであれば、git commit --amendを使えば解決出来ます。 ファイルに修正を加えて、commit 間違っていた事に気づいたので、更に修正を加えた git addしてgit commit --amend これでOKです。 【case2】過去のcommitが誤っていた。commit自体を取り消したい よくあるようなパターン(私はやってしましますw)として、ローカルで作業してる時、 何か修正を加
今回はGitクライアントソフトのSourceTreeから[カスタム操作]という機能を利用して「コミットの差分ファイルをzipファイルとして書き出す」ことを行います。この処理は納品で前回のリリースとの差分のファイルが必要なときに使用すると便利です。 カスタム操作のデモ動画 カスタム操作としてバッチ・スクリプト・exeを登録すると、上図のようにメニューから実行できるようになります Gitをインストールする ※Gitをすでにインストールされている方はこの作業は不要です。SourceTreeの内蔵Gitを使用しているかたはgitコマンドが環境設定に登録されておらず、これから紹介するバッチが実行できない可能性があります。 インストールされているかチェックするためには、Windowsなら「コマンドプロンプト」、Macなら「ターミナル」上で下記コマンドを実行して確認します。 git --version
Scalaで実装されたオープンソースのGitHubクローン、GitBucket 3.1をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/3.1 今回の主な新機能・修正点は以下の通りです。 Web APIの追加 Jenkinsのgithub pull-request builderの動作に必要なAPIを一通りサポートしました。 差分表示の改善 差分表示ビューに文字レベルの差分表示や空白の無視など様々な改善を行いました。Gitでのファイルのリネームも検出するようになりました。 Scalatra to 2.3.1へのアップデート Scalatraを、scala.xml.XMLライブラリのセキュリティ問題に対応した2.3.1にアップデートしました。 この他にもいくつかのバグ修正や改善を行っています。詳細についてはIssueの一
Gitによるバージョン管理では、従来のSVNなどよりずっと簡単にブランチングやマージができます。さまざまなブランチ戦略やワークフローが可能であり、以前のシステムに比べるとほとんど全てが改善されたと言えるでしょう。しかしGitを利用する多くの組織はワークフローの問題に直面します。明確な定義がなく複雑で、Issue Tracking Systemと統合されていないからです。そこで、明確に定義された最良の実践的方法としてのGitLab flowを提案したいと思います。issue trackingには feature driven development と feature branches を組み合わせます。 他のバージョン管理システムからGitに移行する際によく耳にすることは、効果的なワークフローの開発が難しいということです。この記事ではGitワークフローとIssue Tracking Sys
前書き 以前、VimでGit連携といえば、fugitiveが定番で(参考1、参考2)で、コミットツリーの確認するにはGitvが便利、という状況でしたが、最近、次々と新しいプラグインがリリースされていますので、紹介したいと思います。 Agit.vim git log を見やすく表示するためのプラグインです。 従来より、gitv というプラグインがありましたが、それら機能に加えて、修正されたファイル一覧も見られるようになっています。 また、gitvにあった以下のような難点も改善されています。 キーバインドをカスタマイズするために、filetype=gitvのautocmdを作成しなければならない 外部コマンド(git)の実行タイミングの影響かなんかもっさり encodingの設定によっては日本語のコミットログをデコードに失敗して文字化けする 参考: gitk クローンみたいな Vim プラグイ
Excelなどのofficeファイルを管理することになってしまったときなど gitでファイル管理をするとバージョン管理ができて便利です git diff で差分を見れるようにするとさらに便利なので紹介 ※OpenOfficeというオープンソースのソフトで試しました (MicrosoftのOfficeでも大丈夫なはず) まずWinMergeというソフトでの差分を見れるようにします WinMerge 32bit版をインストールします ※次にでてくるプラグインが32bit版でしか動かないので32bit版で ExcelやWordの差分を見るためのプラグイン「xdocdiff WinMerge Plugin」をインストールします これでWinmergeでExcelの差分が見れます Use WinMerge inside of Git (git-difftool, git-mergetool)の記事通
β版 ソーシャルコンテンツプラットフォームとして注目を集めているGitHub。使いこなすにはまずgitを使えるようにならないと……と思って二の足を踏んでいる非プログラマの先入観を打ち砕くべく、gitコマンドもgitアプリも使わずにGitHubを使ったコンテンツ管理・コラボレーションを徹底解説。これでもうPull Requestも怖くない! β版について 本書のステータスは現在β版であり、現在、著者やレビュアの方々により追加・修正が行われている段階です。 いま購入されてお読みいただけるのはその途上の原稿を元にしたものです。 最終的に正式公開されたものもダウンロードしお読みになることはできますが、 正式公開版を読みたい方には今しばらくお待ちいただくことになります。あらかじめご了承ください。 概要サンプルリンク用タグ 関連サイト本書の関連ページが用意されています。 『みんなで使うGitHub』サ
長い間待たれてきた git のメジャーバージョンアップがリリースされました。Changelog に目を通し、素晴らしい機能を見つけられることに興奮しています。過去の git リリースの情報をおさらいしたい場合は、バージョンアップのたびにその情報を特集してきた私の過去記事をご覧ください: 1.8.2、1.8.3、1.8.4、1.8.5、1.9。 このブログ記事では、今回のバージョンアップの一部しか取り扱うことしかできません。変更とバグ修正の完全リストをご希望の場合は、Changelog の完全版をご覧ください。 デフォルト設定一部変更: ユーザビリティの改善と混乱を解消 まず最初に、互換性に影響する変更を見ていきましょう。複数の変更がありますが、これらのアップデートは、初心者にとどまらず多くの人々を悩ませてきた誤解を解決するもので歓迎できると思います。これらの変更は、.gitconfig を
これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど、一行目を特別に処理する機能が多いので、一行目にできるだけ多くの情報を凝縮させることは重要です。またメッセージを一行しか書かない不届きな慣習のプロジェクトでは、十分な情報を持たないメッセージは無用の長物と化します。 良くないコミットメッセージ しかし私は、情
SVN運用をしていた社内で、Gitの標準化も進めるべく社内勉強会資料を作成しました。 資料作成に当たり、@matsukaz さん@nvie さんの資料を参考にさせていただきました。 ありがとうございました!
本書は、世界中の開発者が行っているGitHubを利用した開発方法を、みなさんが現場で使えるようになるためのガイドとして執筆しました。よって、GitHubの解説だけにとどまらず、開発ワークフローやそれを支えるほかのツールにも踏み込んで解説しています。 現場で使えるノウハウが凝縮されたGitHubのガイド 本書は現場でGitHubを徹底的に活用するために、UIの解説、Gitの操作、実際に手を動かしながら試せるPull Request、開発ワークフロー(GitHub Flow, Git Flow)の解説、Jenkinsなど開発を支えるツールのGitHubとの連携について丁寧に執筆しました。こちらで目次が公開されています。GitHubを今まで使っていた人も、こんなのあったの?ってなるようなTipsなどもちりばめました。 GitHubを使ってPull Request文化の開発をどうやるべきなのか開発
Git for Windows の Git Bash の配色がイマイチだなーと思ってググってたら、Console2 だとか ConEmu を使うと楽にできるっぽいことが、Stack Overflow とか英語のブログで見つかった。 そこで、ConEmu を試してみたら色々と幸せになった (Console2 はそのままでは日本語が使えなかった。解決方法はあるらしいけど…)。 左が Git Bash、右が ConEmu さん。 アンチエイリアス効いてるし、色もオサレ。 起動から色を設定するまで ConEmu を起動すると、初回は設定の保存場所などを確認される。お好みで答えて [OK] を押すと、タブ化した MS-DOS プロンプトみたいなのが立ち上がってくる。 [Win] + [N] を押すと新しいタブを開始できる。 上のキャプチャーのように、どんな環境のタブを開始するかをメニューで聞いてきて
Scalaで実装されたオープンソースのGithubクローン、GitBucket 1.11をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/1.11 このバージョンでの主な新機能および修正点は以下の通りです。この他にも細かい修正やバグ修正などを行っています。 ベースURLを指定可能に リダイレクトやメール通知、画面上に表示するリポジトリのURLなどに使用するベースURLを設定できるようになりました。これに伴ってこれまで組み込みJettyで動作させる際に指定可能だった--httpsオプションを廃止しました。 Markdownの見出し Wikiページやリポジトリビューアで表示されるREADME.mdなどMarkdownを表示するコンテンツでh1〜h6タグにアンカーを出力するようにしました。見出しにマウスカーソルをあわせるとア
いつも忘れてしまうので、GithubであるプロジェクトをForkしてからPull Requestをするまでの流れをメモしたいと思います。今回、実際に私がこの流れを使っているCordova (PhoneGap) ドキュメントのプロジェクト、 https://github.com/apache/incubator-cordova-docs を例にやっていきたいと思います。 1. Fork する GithubでForkしたいプロジェクトまで行って、右上にあるForkボタンを押します。今回、 https://github.com/apache/incubator-cordova-docs をForkしたので、私のGithubアカウントkeiko713上では https://github.com/keiko713/incubator-cordova-docs というリポジトリが作成されます。 2.
皆さんが、DayZ の徹夜プレイで略奪しまくるのに忙しいのは承知していますが、少しお時間をください。今日ご紹介する内容はチェックするだけの価値があるものです。git ポイントリリースの最新版(1.9)がリリースされました! リリースノートの中で私の目を引いた点を紹介します。興味のある方は、早速リリースノートに目を通し、オタク心をときめかせる華麗さを堪能することができますが、私にも手伝わせてください! 最新版の説明に入る前に、これまでのリリース1.8.2、1.8.3、1.8.4、1.8.5 に関してもこれまで記事を書いてきましたので、ご紹介しておきます。巧妙な技や使える情報がたくさんあります。 全ユーザー向けアップデートの指針 アップデートするにはどうすれば良いか? 以下に取りかかるのに役立つ情報を挙げておきます: OSX 上でhomebrewを使用している場合は、brew update &
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く