git push/pullは何気なく使ってるけど実はよくわかってなかった。ことのきっかけはこういう質問。 hogeというリモートブランチをローカルのhogeブランチにもってきたい hogeをローカルのmasterにはマージしたくない pullでなんかこんな感じでいけそう? $ git pull origin hoge:hogeでもこれは間違えで、なぜか今いるブランチ(master)にhogeがmergeされるし、期待してる動作じゃない。正解はこう。 $ git branch hoge origin/hogeもしくはチェックアウトも同時にするなら $ git checkout -b hoge origin/hogeこう。自分は普段後者のやり方でやってたけど、なんで上のはダメで下のが正解なのか説明できなかったのでちゃんと調べてみた。 入門Gitと実用Git、あとhelpを参考にした。 ブランチ
John Wiegleyさんの "Git from the bottom up" を翻訳しました。 元PDFはこちらからダウンロードできます: http://newartisans.com/2008/04/git-from-the-bottom-up/ 元記事のライセンスがクリエイティブコモンズのBY-SAであったため、この翻訳もBY-SAとなります。 ライセンスを守って自由にご利用ください。(詳しくは記事内の最初にも書いてあります) 翻訳ミスの指摘や改善の提案等があればブログコメントやTwitter(@oshow)などで遠慮なくどうぞ。 Git をボトムアップから理解する Wed, 2 Dec 2009 by John Wiegley 私が Git を理解しようと調査した時、高級なコマンドの視点から眺めるよりボトムアップ式に理解することが役立った。そしてボトムアップ視点で見る Git が
git-svn のちょっとイイ話 Git-SVN を使ってる人が周りになんとなく増えてきたので。 SVN クライアントとして Git を使える利点は、ネットワークどうこうというよりは、 Git の便利機能が使えまくることなんじゃないかと思います。 Git が SVN よりも圧倒的に優れている点としては、ブランチのマージが楽という点が挙げられると思いますが、 Git-SVN を使うことで、 SVN ユーザーもこの Git の優れたマージ機能の恩恵を被れます。 SVN は CVS よりブランチ作りやすくなってるけど、マージが困難なので結局ロクにブランチ切らない、みたいなことも多いと思うのですが、 Git-SVN があればガンガンブランチ切ってはマージしまくって、というふうに作業出来ると思います、よかったですね。 んで、 Git-SVN を使っていると、今自分が作業しているのがどこにコ
バージョン管理システムと言うとSubversionやCVSが有名だが、近年急速にユーザーを増やしているバージョン管理システムに「Git」 がある。GitはLinuxカーネルの開発リーダーとして知られるLinus Torvalds氏が中心となって、Linuxカーネルの開発に使用する目的で開発した分散型バージョン管理システムである。2005年に開発が開始されて以来さまざまなプロジェクトでの採用が進み、現在ではPerl 5やRuby on Rails、Android、Wine、X.orgなど、有名な大規模プロジェクトで採用されるに至っている。 本記事では、このGitを使用するのに必要な「分散型バージョン管理システム」の基本的な考え方を紹介するとともに、Gitの導入方法や基本的なGitの使い方について解説する。 分散バージョン管理システムとは? GitはLinuxカーネル開発で用いられることを前提
Windowsで利用できるGUIのGitクライアントの1つに「TortoiseGit」がある。TortoiseGitはまだ開発段階のソフトウェアではあるが、2009年6月5日にリリースされたバージョン0.7.2.0では多くの機能が実装され、実用的に動作するようになった。本記事ではこのTortoiseGitを用いて、Windows環境でGitによるバージョン管理を行う方法について解説する。 近年、「Git」という分散バージョン管理システムが注目を浴びている。しかしGitはWindowsサポートが弱く、またGUIで利用できる使いやすいクライアントがなかったため、特にWindowsユーザーには導入や利用へのハードルが高かった。そこに登場したのが、Windowsのエクスプローラに統合され、GUIでGitによるバージョン管理が行えるツール「TortoiseGit」である。TortoiseGitはまだ
「Gitを使いたいが、中央リポジトリにはSubversionを使わざるを得ない」という場合も多いだろう。そのような状況で便利なのが、SubversionリポジトリとGitリポジトリの橋渡しをする「git-svn」である。git-svnを利用することで、SubversionリポジトリとGitのローカルリポジトリを同期させることが可能だ。本記事では、このgit-svnの活用方法を紹介する。 git-svnのアーキテクチャ Gitの大きな特徴として、分散型アーキテクチャがある。分散型アーキテクチャでは、コミットはローカルのリポジトリに対して行い、ソースコードの同期はそれぞれの開発者間が持つローカルリポジトリ同士で変更点をやりとりすることで行う。もちろん公開リポジトリを利用したソースコードの同期も可能であり、柔軟な開発体制を取れるのが長所である。 しかし、一方でGitは非常に多数のコマンドがあり、
LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 なお、Gitの基本的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。
もともとはLinuxカーネル用のバージョン管理システムとして開発されたこともあって、GitのWindowsサポートは若干遅れている。特に日本語環境で利用する場合は設定などに注意が必要だ。そこで本記事では、Windows環境でGitを利用する方法およびその設定方法、そしてGUIでGitの機能を利用できるツールについても紹介する。 Windows環境向けのGitバイナリを選ぶ Gitは標準ではWindows環境をサポートしていない。Gitのコア部分はCで記述されているものの、周辺ツールやサーバー機能の実現にはPerlやシェルスクリプトを利用しているからだ。そのため、Windows環境でGitを利用するには、これらを含めた環境構築が必要となる。現在、Windows上でGitおよびその周辺環境をまとめてインストールできるものとして、msysgitとCygwinがある。 msysgitは、Windo
svnのリポジトリを別サーバのリポジトリに移行するのに、svnsyncを利用してみた。svnsyncはSubversion1.4以降に含まれている。 まず、移行先として新規にSVNのリポジトリを作成する。 svnadmin create /home/svn/newrepo続いて作成したリポジトリのnewrepo/hooksフォルダ直下に存在するpre-revprop-change.tmplをコピーして、pre-revprop-changeを作成する。 cd /home/svn/newrepo cp pre-revprop-change.tmpl pre-revprop-change chmod +x pre-revprop-change続いて、作成したpre-revprop-changeの中身を以下のように書き換える。 #!/bin/sh exit 0 いよいよ、svnsyncを使用。まず
Ron BieberさんによるSVK - Distributed Version Control - Part III の翻訳です。ようやく最後です。 最後の方に、Perlで書かれてるからインストールが難しいとありますが、Debian, Ubuntu, Gentooなんかでは、packageがあるようなので、簡単なようです。また、SubversionのPerl-bindingさえ入ってればそう難しくないという話も、元記事のコメントにもあったりしました。 なお、これらのチュートリアルはsmergeの説明で終わってますが、push/pullのが簡単なんで、そっちもドキュメントで見ていただくといいかもしれません。SVK - a visual guide はなかなかよさげです。 イントロダクション Last week we explored using a local branch and kee
Ron BieberさんによるSVK - Distributed Version Control - Part IIの翻訳です。 イントロダクション In our last article, we installed SVK and created our local mirror of our repository. Since the writing of the previous article, we have caught up on a lot of TV by making code changes to our local SVK workarea and using the svk commit command to commit our changes to our local repository. During this time, one of my other
Ron BieberさんによるSVK - Distributed Version Control - Part Iの翻訳です。温泉地からアップ。 ※最初っから微妙な訳ですが、許してください。というか、突っ込み歓迎。 Just when you thought version control couldn’t get any cooler (and we all think it’s cool, right??), along comes SVK. SVK is a distributed version control system (a la Bitkeeper) written by Chia-liang Kao. The tool allows you to mirror existing remote repositories, create branches on your ma
オープンソースの開発においてCVSというバージョン管理システムは非常に重 要な要素の一つと考えられています。CVSを使えば、ネットワーク上に分散し た多数の開発者がうまく協調しながらソースを修正していくことが可能です。 オープンソースを開発をサポートしているSourceForgeではプロジェクトごと にCVSリポジトリが用意されていますし、SourceForgeなどを使っていないオー プンソースプロジェクトでも自分でCVSリポジトリを用意しているところが数 多く存在しています。 しかし、CVSを使いこんでいくとCVSによってあたえられる制約がいろいろと苦 痛になってきます。特にファイルの移動やディレクトリの扱いなどがうまく管 理できないことが開発のすすめ方に影響を与えていると言えるでしょう。特に 開発の初期段階では、ソースファイルのレイアウト構造などが固まっていない ために、その段階でCV
基本概念と特徴 リポジトリ Subversion は共有情報の一元管理システムであり、情報はリポジトリに格納される。 リポジトリは情報をファイルシステムツリー(一般的なファイルとディレクトリの階層構造)の形で保持する。 Subversion ではリポジトリの場所は URL によって表現される。 リポジトリにアクセスするための URL には以下のようなものがある。 file:/// リポジトリへの直接アクセス (ローカルディスク上) http:// Apacheサーバ への WebDAV プロトコル経由でのアクセス https:// http:// と同じだが、SSL による暗号化 svn:// svnserve サーバに対する独自 TCP/IP プロトコル経由でのアクセス svn+ssh:// svn:// と同じだが、SSH トンネルを利用する ほとんどの場合、Subversion の
Mercurial という分散 SCM の紹介. Python 製で, シンプル軽量スケーラブルが売り. 開発を初めたきっかけは linux の BitKeeper 事件だという. (だから GIT がライバルらしい.) OpenSolaris や OLPC など, けっこう採用実績があるのに驚いた. 私は分散 SCM を触ったことがない. SVK をちょっとつついたくらい. 話を聞く限り Mercurial はけっこう良さそう. (スライドは Wiki に公開されている.) 分散はさておき軽量なのがいい. たとえばレポジトリのためにわざわざ svnrepos みたいな別ディレクトリを作る必要がない. 作業コピーの中に .hg ディレクトリができて, ここに履歴が収められる. つまり作業コピーのディレクトリでレポジトリが閉じている. svn だとレポジトリを作るのが面倒でバージョン管理を先
概観 CVS とは? CVS は何ではない? 作業例 ソースの取得 変更の格納 お掃除 差分を見る リポジトリ CVS にリポジトリの場所を教える リポジトリでのデータの保存方法 リポジトリのどこにファイルを保存するか ファイル使用許可 Windows に特有なファイルの使用許可問題 The attic リポジトリの CVS ディレクトリ リポジトリの CVS ロック CVSROOT ディレクトリでファイルが保管される方法 リポジトリでのデータの保存方法 管理用ファイルの紹介 管理用ファイルの編集 複数のリポジトリ リポジトリの作成 リポジトリのバックアップ リポジトリの移動 別のマシンのリポジトリ サーバの要求 rsh で接続する パスワード認証による直接接続 パスワード認証のためのサーバの設定 パスワード認証によるクライアントの使用 パスワード認証における安全性の考察 GSSAPI に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く