You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
動機 Subversionで困ってない ぶっちゃけSubversionで全然困っていませんでした。 コードレビューはちゃんとやっていたし、マージ・ブランチングも自作シェルスクリプトのおかげてスムーズにやれていました。 よく「Gitはマージが賢い、ブランチ作成が一瞬でできる」とかいわれますが、Subversionだってちゃんと使えばコンフリクトなんかめったに起きないし、ブランチ管理・マージだって全然めんどくさくない。 特にver1.7からはサーバもクライアントも大幅に高速化されたし、.svnディレクトリが.gitみたいに1個になったし、rebaseみたいなことだってできる。(sync merge & reintegrate) ただ、世の中が一斉にGitにシフトしている中でいつまでもSubversionを使っててよいのかという不安がありました。 また、月から金までSubversionにどっぷり
仕事では、プロジェクトごとにSubversionを使ってソースを管理しているところが多い。 しかし、trunkだけでブランチやタグを管理していないプロジェクトがあったり、 ひとまずプログラムの変更、修正を試したいことがあっても、リポジトリがsvnだとそれが難しく、また面倒でもある。 そこで最近は、git-svnを使い、ローカルでブランチを切って開発している。 以下は、作業でよく使用するgit svnコマンドについてまとめた。 チェックアウト $ git svn clone http://www.example.com/src/foo/ trunk, branches, tags といった、svnで一般的な管理を行っていないときは、このようにソースのあるパスを直接指定する。 svnで一般的な管理を行っているときは、sオプションをつける。 $ git svn clone -s http://w
未だにSubversionの案件があって泣きそうです。 もうコマンド覚えていないのでgit-svnで対応しますが、流れを決めておかないと大変なので自分の作業をまとめときます チェックアウト ~~~ git svn clone -s –prefix svn/ [svnリポジトリのURL] [作成したいGitリポジトリのPATH] ~~~ ただしsvnをちゃんと使ってない案件、trunkがない場合など・・の場合はこのコマンドでは対応できない。。。。 ~~~ git svn clone –trunk= –branches=branches –prefix=svn/ [svnリポジトリのURL] ~~~ するとcheckoutができる ~~~ $ git branch * master $ git branch -r svn/trunk svn/foo-x svn/foo-y svn/bar-ne
SubversionからGitへ移行するときに起こる問題についてちょっと語りました。
一応、メモ。 branch ごと clone する SourceForge から kai を取得する例。 $ git svn clone https://kai.svn.sourceforge.net/svnroot/kai -T trunk -b branches -t tags branch が増えた場合 git svn rebase は、現在の作業 branch を更新するだけなので、下記のようにする。 $ git svn fetch svn これで、増えた branch を取得できる。末尾の "svn" オプションは、.git/config を参照の事。 branch の操作 まずは、リモート branch の確認 $ git branch -r cooldaemon_embed_tcp_server takemaru_config_get_list_of_keys trunk ロ
Gitへの移行キャンペーンを実施中なので下記の記事で紹介されているfast-exportを使って、Mercurial/SubversionレポジトリをGitレポジトリに変換している。http://hopper.squarespace.com/blog/2008/7/5/converting-mercurial-to-git.htmlfast-exportの取得方法は、 $ git clone git://repo.or.cz/fast-export.git MercurialレポジトリからGitへの変換方法は、 $ mkdir newgitrepo $ cd newgitrepo $ git init $ hg-fast-export.sh -r PATH_TO_HG_REPO $ git remote add origin gitosis@gitosis.example.com:newg
最近社内に OSQA が導入されて (hiboma++) そこでも聞いてみたんだけどたぶん将来そこに書いたことを忘れると思うのでこっちにも書いておく。コメントもらえたらうれしいです。 git-svn 使っててリモートブランチと対応してるローカルブランチ(git svn info --url で branches/foobar とか出るやつのこと、正式名称わからん)を master にマージするときは --no-ff をつけろ、というのはぐぐるとよくでてくる(--no-ff しない == fast forward してしまうと master の remote url が trunk でなくなってしまうから) しかしふつうのトピックブランチの場合は remote url は trunk のままなので --no-ff をつける必要はない。必要はないがそのかわりに選択しなければならない。どのように
中央リポジトリがSubverionの場合にもGitの恩恵を受けたいっていうときはgit-svnがいい ローカルでの管理はGitで行い、最終的にsvn側にそれを反映するみたいなイメージになる インストール方法 MacOS X sudo port install git-core +svn CentOS sudo yum -y install git-svn Ubuntu sudo aptitude install git-svn 簡単な使い方説明 チェックアウト # -sをつけるとデフォルトレイアウト(trunk,branches,tagsでsvnリポジトリ設定してあると-sつければオッケー) git svn clone -s http://repos repos masterブランチがsvn側のtrunkとひもづいていることを確認 git svn info 開発 トピックブランチを切って作
社長におねだりしたらベイスターズ買ってくれないかなぁ。どうもこんにちは nakamura です。 シーブレインでは今も昔もソース管理に Subversion を使い続けていますが、最近は協力会社さんとのやり取りなどで何かと Git にさわる機会が増えてきました。最初はチンプンカンプンでしたが、ようやく何となく基本的な部分が分かってきたので、Subversion ユーザ的な目線でちょこっと説明してみたいと思います。 コマンド例 初期設定 Git ではユーザ毎の設定内容も git コマンドで操作します。とりあえずいつも以下のような感じで設定してます。diff に使うコマンドとかも指定できるみたいですね。 # 名前 git config --global user.name "Tadashi Nakamura" # メールアドレス git config --global user.email n
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
まず最初に Subversion の管理下のファイルをチェックアウトし .git を管理対象外に設定する。 svn propset svn:ignore ".git" . Git の excludesfile で .svn を指定しておく。 ~/.gitconfig [user] email = yourname@gmail.com name = yourname [core] excludesfile = /home/yourname/.gitignore ~/.gitignore (色々) .svn あとは Subversion の管理下のディレクトリで git init すれば良い。 git init git add . git commit -m "from svn" git pushsvn up または git pull で最新状態に追随できるので、変更点をもう片方の構成管理シス
バージョン管理システム使ってますか? 最近、会社のリポジトリをSubversionからGitにがつがつ移行してます。Gitのブランチを使った Git Flowの考え方を浸透させるべく、反映ツールのGit対応などしております。 それと同時に、MyBikeJPプロジェクトは、Mercurialで管理を行っています。 微妙に似ているけど違う gitコマンドと hgコマンドに混乱しまくりで、先日、マージにミスって @key3 さんに迷惑かけちゃいました。 ということで、環境差異を吸収し、さらにミスが減って楽になるような aliasやシェル関数を設定しました。 ちなみに zshです。 Subversion svnでは、元々、.zshrc を id:sotarok さんのをベースにしていた関係でショートカットを知りました。 http://trac.nequal.jp/browser/public/do
分散バージョン管理勉強会で発表してきました。 発表者の皆様、スタッフの皆様、参加者の皆様、 本当におつかれさまでした。 初めての本発表で、超が付くほど緊張してまして、いろいろと おききぐるしい点など、あったとは思いますが、生暖かい目で。 んで、発表が終わったので、資料公開します。 一部修正や改変を入れてます。 僕の本名やら、神速さんの顔写真、あと大事なこととして 覚えておくといい命令に、help を追加しました。 自分でもよく使うのに、リストに入ってないという。 資料に関しては、使う用途があれば自由に使ってください。 皆様の何かの足しになれば幸いです。 git-svnつかってみる? View more presentations from riskrisk.
自分へのメモです。SubversionからGitに移行するときの注意点。 git-svn(1) にしたがって、Subversion から Git に移行できるのですが、 git svn clone Subversionのリポジトリ Gitは色々なツールが、リポジトリ内は CR+LF ではなく、LF であることを期待しているみたいなので、上の方法で Subversion 内が CR+LF だと、Gitのリポジトリ内も CR+LF になってしまい、トラブルが起きます。 なので、上の方法で移行した後、gitattributes(5) の When text=auto normalization is enabled in an existing repository あたりに書かれている、 $ echo "* text=auto" >>.gitattributes $ rm .git/index
Blogged by Ujihisa. Standard methods of programming and thoughts including Clojure, Vim, LLVM, Haskell, Ruby and Mathematics written by a Japanese programmer. github/ujihisa Assumptions You are supposed to work on a svn branch topic. You hate svn. You want to follow changes of svn trunk. You hate the merging in svn. You already checked out the svn repository with git-svn-clone with stdlayout optio
バージョン管理ツールは、「集中型」と「分散型」に分類できますが、OSSのバージョン管理ツールには以下のようなものがあります。 集中型 CVS、SVN 分散型 Git、Mecruial、Bazaar 最近は、分散型のツールへの注目が高くなってきていますが、「実際の開発の現場でも普及するか?」というと、あまり普及するとは思わない。 OSSの開発コミュニティなど、ある程度スキルが高い開発者が集まる開発では、ブランチ管理が簡単といった分散型の効果が活きてくると思うのですが、実案件の開発現場となると、残念ながら、必ずしもそのような開発者だけではない。 数人程度の小規模プロジェクトならまだしも、大規模プロジェクトになると、レベルもバラバラな人が集まることは必至です。 そのようなプロジェクトでは、できるだけブランチは避けた方が、間違いなく混乱が少ない。 少し前のマーチン・ファウラー氏の記事ですが、バージ
さて、gitの使い方を忘れないうちに、gitの使い方をメモっておきます。 git上で作成したブランチもgit-svnを使えばsvn上にブランチを作れると思っていたが、 どうやら、そうではないらしいので、git-svnを使ってsvnのブランチの使い方をメモしておきます。 1)ブランチを認識するようにワークを作成する git svn clone [uri] -T trunk -b branches -t tags 例) git svn clone file:///home/foo/svnroot/foo -t trunk -b branches -t tags 2)ブランチを作成する ※ gitのワーク上で作り方はわかりません。 subversionのワークを使って行ってください。 3)作成したブランチ情報でgitのワークを更新 git svn fetch svn 以下で、作成したブラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く