![http://blog.inouetakuya.info/entry/20120826/1345979787](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
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 reset --hard HEAD^ではなく、 ○ git reset --hard ORIG_HEADとしないと危ない、という話。 「マージ後にgit reset --hard HEAD^で取り消し」は去年の日記でもけっこう使ってるけど、たまたま上手くいっていたからよかったが、ORIG_HEADが正しい指定方法だった。場合によってはちょっと危ない。 マージコミットは複数のparentが記録されるが、mergeコマンドによって先端を移動するブランチ(=カレントのブランチ)を1番目の親としてマージコミットが作成される。 例えば topicブランチで git merge master とした場合に作成されるコミットオブジェクトは、1番目のparentはtopicブランチのハッシュ値で、2番目はmasterブランチのハッシュ値となる。 なので、その後t
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く