- 1 名前:デフォルトの名無しさん [2007/10/26(金) 02:15:00 ]
- バージョン管理システムについて語りましょう。
関連スレ CVS 1.3 [UNIX板] pc11.2ch.net/test/read.cgi/unix/1093611448/ CVS導入スレ〜 Rev.3 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1113141518/ Subversion r7 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1180858500/
- 75 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:03:56 ]
- 頼むからwindowsを使うのを止めてくれ。
- 76 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:15:23 ]
- >>74
ttp://www.selenic.com/mercurial/ こっちのNewsから行った方が早い
- 77 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:40:57 ]
- >>76
ありがとう。 教えて貰ったところから Mercurial-feac5b0bf9ba-TortoiseHg-1f161ca182e3.exe をダウンロード&インストールしたら、出来た。 し・・しかし、なんかよ〜わかりません。 svnでいうワーキングコピーというものはないの? いきなりリポジトリ? いや、すまんです。勉強します。 でも、サックリ サックリ 動きますなこれ。まだ何もありませんが・・・
- 78 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:43:22 ]
- >>77
TortoiseHG のインストールがうまくいったら、教えてくれ。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:05:35 ]
- svnとgit/mercrialの違いをまとめてるサイトないかな。
- 80 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 09:49:57 ]
- >>78
77じゃ無いけど、とりあえず動いてます。 問題は、cp932でコメント書いてるとマージがコンフリクト解決の手動マージが上手くいかない点です。 UTF8にすればよいんだろうけど、 それは 避けたいので試行錯誤中です。
- 81 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:01:42 ]
- >>77
分散型だからワーキングコピーもレポジトリ扱いみたい とりあえず、使ってみたコマンドとsvnっぽい対応付け checkout . . . . . . . . .: hg clone <src repository> <dest repository> create . . . . . . . . . . .: hg init show log . . . . . . . . .: hg log [-v] 破棄(rollback) . . . . : hg revert <--all | <files>> status . . . . . . . . . . . : hg status diff . . . . . . . . . . . . . .: hg diff commit . . . . . . . . . . .: hg commit [-m <description>] ソースの切り替え . .: .hg pull <src repository> merge . . . . . . . . . . . .: hg merge pullで切り替えてマージできるのは良いと思いました。
- 82 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:04:23 ]
- 海の向こうのソフトだから
日本語はいろいろ問題がでる
- 83 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:32:59 ]
- バージン管理システムは有料のも含めるとどれがお薦めですか?
- 84 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:48:45 ]
- 要件も何も書かずにそれかい
- 85 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 10:55:27 ]
- >>83
VCSならとりあえずsubversioin。一番普及してるし、IDEのプラグインなんかも多い。 SCMならgitかmercrial。今流行ってるし、おそらく今後SCMのsubversion的ポジションに着くはずだから。 どっちも無料なんで、自分で試して決めてくれ。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:14:12 ]
- >>83
つ[貞操帯] いや、それがどんなものかは知りませんが。 つーか、鼬害。 >>85 それで管理できるんかいw
- 87 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:15:23 ]
- revertできるのがいいよね。
- 88 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:19:45 ]
- commitしたらrevertできません。
- 89 名前:85 mailto:sage [2007/12/05(水) 11:22:04 ]
- マジレスしちまったorz
- 90 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:26:11 ]
- >>89
まぁ、成り行きでcommitしちゃうことはよくあるさw # commitした成果ができたら責任取ってね♥
- 91 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:33:47 ]
- uncommit すればいいじゃない
- 92 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 12:36:22 ]
- mercurialで、localで行ったcommitをremoteに反映させる方法がわからん。
- 93 名前:80 mailto:sage [2007/12/05(水) 13:48:26 ]
- cp932のソースを ui.mergeを弄って、外部マージソフトでマージ確認できました。
(TortoiseMerge、winmerge、kdiff3) 今は、winmergeを採用していますが、 kdiff3で日本語を重ならずに表示する方法があれば、kdiff3に変えたいのですが、 ご存知のかたいらっしゃいませんか?
- 94 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 13:48:28 ]
- push すればいいんじゃないかな。
remote 側で pull してもいいけど。
- 95 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 08:17:31 ]
- 今、mercurial使ってるんですが、gitが気になります。
両方使っている人がいたら、mercurialと比べたときのgitの利点・欠点を教えてください。 mercurial知ってればgitは特に必要ないとか、いやgitはgitで勉強する価値はあるとか、お願いします。
- 96 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 11:31:30 ]
- >>95
俺は全く逆のパターンで、Git使ってるんだけどhgがちょい気になる、、、 とはいってもGitでかなり満足してるので「気になる」といいつつ試してないんですが
- 97 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 13:37:56 ]
- gitってlinux kernelのバージョン管理のために作られたんでしょ?
mercurialに比べて汎用性がなさそうなんだけど、そこらへんどうなんだろ。
- 98 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:14:58 ]
- 96と同じくgit使ってて、
このスレでmercurialがよく話題に上るから気になったんだけど。 とりあえず、mercurial install してみて、 pythonで書かれているのに気付いて、 微妙に、やる気を失った、俺がいる。 ちなみにgitは C と sh (bash?)
- 99 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:22:35 ]
- 日本語の扱いに問題がある時点でやる気なし
- 100 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 16:51:54 ]
- >>98
Mercurial使ってます。 Mercurialは、CとPythonですよ。 殆どがPythonでパフォーマンスに関わる部分がCになってるそうです。 昔の、BASIC+マシン語を思わせる設計が私の好みです。 その点、C+shellと似てるんでしょうかね? (gitはCが大半なのかな?) MercurialはGUIサポートが貧弱だったのが、困りものでしたが 最近は、Netbeansのプラグインでサポートされはじめたり、 TortoiseHgが開発されたり、 OpenJDK、Mozilla,OpenSolarisなどのメジャーなオープンソース系ソフトの 移行がニュースになりつつあり前途が明るくなってきてると思います。 Sunの手がけてるのが多いのは、たぶん、Sunのプロダクトだった Teamwareにインターフェースが似てるからだと思う。 昔のエンジニアが、そのまま使える感じで移行してる気がする。 Teamwareは、私も昔使ってたので同じ理由で好みにマッチしてる気がします。 さらに、Pythonで殆ど書かれているので、移植性も高いんじゃないかなぁ? Gitは気にはなってるけどたぶん、手を出さないと思う・・・ でも知識としては知っておきたい。Gitを使ってていいと思う部分があれば知りたいかなぁ。
- 101 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 18:34:45 ]
- MercurialはPythonさえ使用可能であれば、レンタルサーバでも気軽に入れられるので重宝してる。
- 102 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 03:53:58 ]
- cモジュールがインストールできないとだめじゃね?
昔cgiで使おうとしたときにdiffとかのモジュールがcだったから.pyで書き直したりした
- 103 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 05:39:46 ]
- >>97
確かにメール <--> パッチ <--> リポジトリ に便利なコマンドが揃ってて なるほどなーって感じだけど、汎用性(?)がないってことは無いと思う。 うーん、やっぱMercurial気にはなるんだけど、どうも突撃できない。。。 Gitの前はsvk使ってたんだけど、Gitでこりゃ新しい、と思ったのは、 Indexっていう、ワーキングコピーとリポジトリデータベースの中間みたいなのが あって、コミットする時にはIndexにいったん格納してからリポジトリに送る、 っていう方式が斬新だなぁ、と思った。 俺の使い方としては、編集して納得したファイルはその時点でどんどんIndexに 追加してしまっておく。Index追加済みのものは通常のdiffコマンドで対象外に なるので(Index追加済みのものとリポジトリの間の差分を見る場合はdiffに オプションを付ける)続けて編集し始めたファイルの差分だけまたdiffコマンドで 見ることが出来る。 だからIndexに追加したファイルは仮にコミットしたみたいな感じかな。 これをやると、変更したつもりのないファイルを間違えて変えてたり、 Indexに追加した後でさらに何か変更を加えてたりすると、気づくことになる。 あまりこれやってるとなかなかコミットしなくなるけどw機能的にまとまった 段階でコミットを作ったほうがいいように思う人とか、きれいにdiffを確認する 人なんかはいいと思う。 あとIndexに差分を追加した状態で他のブランチに切り替えてコミットしたりも 出来る。
- 104 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 05:40:56 ]
- 過去のコミットを修正できちゃったりするのも新しいなぁ、と思った。
そんなことしていいのかよw とか最初思ったけど、アリだと思うようになった。 ボスが来たモードみたいなのがあって、作業途中の中途半端な状態で急に 他の修正をやらないといけなくなった時に、今の状態をテンポラリ領域みたいな 所に保存しておいてHEADに戻り、急な修正をやっつけ終わってコミットしたら、 以前のやりかけの状態を復元(急な修正の上に)して続きをやる、とか。 例えばノリノリで新機能を追加してる途中で以前のバグを発見したとしたら、 後でじゃなくて今すぐ修正したい(忘れそう)、、、けど新機能とバグ修正の コミットは分けるべき。。。そんな時に今の状態をいったん保存して元に戻って、 バグ修正をコミットしたら、その上に保存した状態を復元、という感じで使える。 rebaseってのがあって、ある開発版ブランチをベースにして俺コミットで 突き進んでいたとして、ある日その開発版ブランチが安定版ブランチに 統合されて成長が止まってしまったとしたら、俺としてはもう伸びることのない 開発版ブランチを追っかけていてもしょうがないので、いったん俺コミットを 全て無かったことにして、根っこを安定版ブランチの先頭に引越ししてから、 俺コミットを全て適用しなおす、ということが出来る。これ便利。 あとは、、、cherry-pickってのがあって、適当なとあるコミットを指定して 今の状態に適用してみたりできる。 逆に問題のあるコミットを特定したら、履歴からそのコミットだけ除外して みたり。 分散型で超気軽にブランチが作れるから、気軽にコミットしたり取り消したりとか、 やりたい放題なのが気持ちいいかなぁ。 以上、Gitのチラ裏でした。
- 105 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 07:03:10 ]
- >>103-104
GJ index面白いな。RDBMSのtransactionみたいなものか。insertしたけどcommitしてない状態。
- 106 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 11:40:52 ]
- >>103-104
超GJ。過去のコミットを変更できるのは斬新だな。俺もやってみてー。 subversionしか使ったことのない俺の感想なんだが、 VCSではシステムのメインがリポジトリそのものだったのに対して、 mercurialとかgitはコミットによるパッチが重なり合って全体を構成してるように感じる。 svnが木で今までの幹は堅牢で先にどんどん伸びていくとしたら、gitなんかはstackに近いイメージ。 途中で割り込ませたり、積んでたのを隣に移したり、過去のお皿を書き換えたりですごく柔軟性が高い。 このシステムはすごくパッチの仕組みの影響を受けてるんじゃないかなあ。
- 107 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 11:52:29 ]
- TortoiseGitでも出たら使おうって気にもなるんだけどな
- 108 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 12:47:25 ]
- >104
> 逆に問題のあるコミットを特定したら、履歴からそのコミットだけ除外して > みたり。 Subversionの逆マージとなにが違うの?
- 109 名前:103 mailto:sage [2007/12/07(金) 13:43:48 ]
- >>106
たしかにstackっぽいかも。Git使い始めはSubversionみたいなバージョン番号が 付かないことにかなり戸惑ったんだけど、使ってるうちにGitではそれが必要ない んだなと思うようになった。今までのように線形に伸びていくのではなくて、 ソースコードの成長は常にパラレルなもので、好きなようにコミットをいじり回して いいんだと思うようになった。 >>108 すまん、Subversionの逆マージって分からないんだけど、新しい機能(1.5?)なのかな。
- 110 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 18:36:26 ]
- >>104
Gitのサーバを建てる手間はどれくらいですかね? Linuxに特化してるって話があるんでFreeBSDのレンタルサーバに 入れる手間はどんなもんかなぁ、と。
- 111 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 18:47:06 ]
- Mercurial の使い方のチュートリアル
www.selenic.com/mercurial/wiki/index.cgi/JapaneseTutorial
- 112 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 23:56:39 ]
- 今読んでるところなんだけど、
hgbook.red-bean.com/hgbookch1.html#x5-200001.6.2 に、Git との比較が書かれてるね。 Mercurial 側からの見解なので、その分は差し引く必要があるかもしれんけど、 参考までに。
- 113 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:21:44 ]
- なる。
読んで受けた印象としては、Gitはピーキーなイメージ。 Linuxカーネルの開発スタイルに極めて合致してるんだろうね。 多くのユーザがその用途で使ってるわけだし、それ以外の用途の為の変更で カーネル開発がしにくくなるのは本末転倒なんだな。
- 114 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 01:01:49 ]
- んじゃあ、使いやすさはmercurial、パフォーマンスではgitって感じか。
- 115 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 04:03:04 ]
- Subversion だとバグ報告に「リビジョン何番で発生した」とか書くのがいいと思うんだけど、
Git だとどうやって特定の状態を指すの?聞いてる限りだとそういうのが無いような感じ なんだけど。
- 116 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 04:27:36 ]
- >>110
>Gitのサーバを建てる手間はどれくらいですかね? サーバといってもいろいろなやり方があるんですが、、、 gitプロトコル以外にhttpとかsshとかWebDavとか。 全部やったわけじゃないけど、まあ難しくないです。 とりあえずFreeBSDならportsにGitありますよ。 >>113-114 >多くのユーザがその用途で使ってるわけだし、それ以外の用途の為の変更で >カーネル開発がしにくくなるのは本末転倒なんだな。 俺は普通にGitで不便だと思うことは何にも無いけどなぁ。 Linuxカーネル開発用途以外のものが無いなんてこともないし(俺はカーネル開発 じゃなくてJavaに使ってる) 有名どころだと、xorg、compiz、samba、FedoraあたりがGitを採用してる。 あとGCCもGitが有力らしい。
- 117 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 04:36:38 ]
- >>115
タグを付けてあればそれになると思うけど、、、(release_x_xとか) もっと詳細に特定するならSHA1ハッシュがコミットのユニークなIDになってるので、 それで指定できる。
- 118 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:38:41 ]
- >>117
何のハッシュ? コミットログのハッシュ?
- 119 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 15:35:53 ]
- 実物みたほうが速いんじゃない。
gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=56f5066d477836a975122f4e5748c0f4fb790175 みたいにコミットとツリーにそれぞれid(tree-ish、commit-ishの識別子)がつく。
- 120 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 15:41:53 ]
- ちょうどそのログはgit-cherry-pickな奴だった。
(cherry picked from commit 7caf51d1a5a86ae884e0087795636222c082962c) はコミットid 7caf51d1a5から拾ってきたっつーことね…。
- 121 名前:デフォルトの名無しさん [2007/12/09(日) 14:19:00 ]
- Learning Git
www.simplicidade.org/notes/archives/2007/12/learning_git.html
- 122 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 14:59:23 ]
- gitは使いこなすとスゴそうだけど、インタフェースが複雑で最初は大変そう
www.jukie.net/~bart/blog/git-vs-hg Subversoinですらやっとこさ導入してるリーマンドカタ的現場では、とても無理そうだな。 というか、おまえらんとこってどうなん? お前らって、「あって当たり前のSCMを手配してくれる人」? 「面倒なことを言い出すウザイ奴」的立場? 導入やお守り、簡単な説明はいいけど、手順書一式用意しろ、には参った。
- 123 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 15:18:50 ]
- 必要ならリポジトリにプロジェクト作るから言ってね、って言われる立場
まだ CVS だけど
- 124 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 15:50:17 ]
- 学生サークルだが、subversionどころかバージョン管理そのものについてまったく知らないのがほとんど。
お前ら趣味でプログラムしてるのとちゃうのかと小一時間(ry
- 125 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 16:11:31 ]
- お前が導入して便利さを知らしめてやればおk
- 126 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 16:15:22 ]
- >>122
>gitは使いこなすとスゴそうだけど、インタフェースが複雑で最初は大変そう 確かに最初は覚えるのに苦労するかも知れないなぁ。 ただ俺が思うのは、CVSにしろSubversionにしろ、初めて使う時にはそれなりに 頭を悩ませただろうし、他人に使い方を覚えてもらうなんてのはさらに面倒だった だろうということ(CVS->Subversionはとても似てるからすんなりかも知れないけど) 特に今現在インフラとして使ってるSCMがある人の場合、抵抗感は大きいと思う。 (viからemacsに乗り換えるようなもので。。。) だから、Gitは一切SCMを使ったことの無い人のほうが覚えやすいかもしれない。 って、hgもそれは同じだと思うんだけどなぁ。そんなにGit複雑かなぁ。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 16:49:53 ]
- >>125
導入しただけで済めば苦労はない。 コミットとか管理の概念もないし、理解したかと思っても、 日付毎のディレクトリを掘ってコミットする奴とか、zipに固めたのをコミットする奴とか…。
- 128 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:01:36 ]
- そもそも理解してないんだよな、VCSの便利さを。
どれだけ便利か本人たちが理解すれば、前向きに勉強してくれると思うんだが・・・。
- 129 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:12:01 ]
- Gitインストールした。
$ ls /usr/local/bin/git* | wc -l 145 これはないわ。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:13:25 ]
- $ cd /usr/local/bin; ls git*
git git-gui git-relink git-add git-hash-object git-remote git-add--interactive git-http-fetch git-repack git-am git-imap-send git-repo-config git-annotate git-index-pack git-request-pull git-apply git-init git-rerere git-archimport git-init-db git-reset git-archive git-instaweb git-rev-list git-bisect git-local-fetch git-rev-parse git-blame git-log git-revert git-branch git-lost-found git-rm git-bundle git-ls-files git-runstatus git-cat-file git-ls-remote git-send-email git-check-attr git-ls-tree git-send-pack git-check-ref-format git-mailinfo git-sh-setup git-checkout git-mailsplit git-shell git-checkout-index git-merge git-shortlog git-cherry git-merge-base git-show git-cherry-pick git-merge-file git-show-branch git-citool git-merge-index git-show-index git-clean git-merge-octopus git-show-ref git-clone git-merge-one-file git-ssh-fetch git-commit git-merge-ours git-ssh-pull git-commit-tree git-merge-recursive git-ssh-push git-config git-merge-resolve git-ssh-upload
- 131 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:14:22 ]
- git-convert-objects git-merge-stupid git-stash
git-count-objects git-merge-subtree git-status git-cvsexportcommit git-merge-tree git-stripspace git-cvsimport git-mergetool git-submodule git-cvsserver git-mktag git-svn git-daemon git-mktree git-svnimport git-describe git-mv git-symbolic-ref git-diff git-name-rev git-tag git-diff-files git-pack-objects git-tar-tree git-diff-index git-pack-redundant git-unpack-file git-diff-tree git-pack-refs git-unpack-objects git-fast-import git-parse-remote git-update-index git-fetch git-patch-id git-update-ref git-fetch--tool git-peek-remote git-update-server-info git-fetch-pack git-prune git-upload-archive git-filter-branch git-prune-packed git-upload-pack git-fmt-merge-msg git-pull git-var git-for-each-ref git-push git-verify-pack git-format-patch git-quiltimport git-verify-tag git-fsck git-read-tree git-whatchanged git-fsck-objects git-rebase git-write-tree git-gc git-rebase--interactive gitk git-get-tar-commit-id git-receive-pack git-grep git-reflog これはひどい
- 132 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:24:22 ]
- ふと思った。
-l してみたら実体は1個で、argv[0] で振り分けてたりしそうだと。
- 133 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:33:39 ]
- ディスクサイズを問題にしているわけじゃない。
gzipとgunzip程度ならそれでもいいけど、こんだけファイルを散らかしているのをなんとも思わないのかな。 たぶんcommand completionしたいがために、sub commandを使わないようにしたんだろうけど。
- 134 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:34:13 ]
- ちゃんと読もうぜ
We divide git into high level ("porcelain") commands and low level ("plumbing") commands. www.kernel.org/pub/software/scm/git/docs/ まあPorcelainでもその中で通常使うのはいくつかしかない ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png
- 135 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 18:26:31 ]
- >>128
VCSとは?
- 136 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 18:34:10 ]
- >>135
Version Control System
- 137 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 18:36:12 ]
- SCM のほうが一般的だと思うけどな。
- 138 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 18:42:30 ]
- どのぐらい?
- 139 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 18:50:01 ]
- hg歴1週間の私が Git 使ってみましたよ。
gitk が面白いね。 で、branch を切り換える、って考え方がすげーしっくりきた。 これで Git に移行する気マンマンになりつつある。 一番気になるのは database の頑健性なんだけど、これはしばらく使ってみないと分からんな。 git-fsck というコマンドが存在する、ということが却って不安を煽るんだが… >>126 > って、hgもそれは同じだと思うんだけどなぁ。そんなにGit複雑かなぁ。 俺も実際に使う前は、Git てコマンドたくさんあるらしいし、覚えるまでが大変そう、と思ってたけど、 実際に使ってみると基本的な作業は CVS とかと大差ないと思った。 むしろインターフェース的には CVS と Git の方が CVS と hg より近い (ほんのちょっとだけどね) とすら思った。 ただ、git co とできないのが不満。ln -s git-checkout git-co とかすりゃいいのか? (w ところで、git commit --help で No manual entry for git-commit とか言われるのは、インストールに 失敗してる?
- 140 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 19:17:15 ]
- >>139
>git-fsck というコマンドが存在する、ということが却って不安を煽るんだが… どうだろうね、けっこう有名なプロジェクトでガンガン使われてるのが安心を もたらすと思うんだけどねー。 俺の場合は仕事ではまだSubversionなので、個人的にGitで開発して 中央とのやり取りの時に git-svn で Subversionレポとやり取りしてます。 誰も気づかないよw コラボしなくても、個人使用だけでずいぶん楽しいですよGit。 >ただ、git co とできないのが不満。 git.or.cz/gitwiki/Aliases 俺は~/.gitconfig をこんな感じにしてます [alias] st = status co = checkout br = branch >ところで、git commit --help で No manual entry for git-commit とか言われるのは、インストールに 失敗してる? してるかも。。。make install-doc かな?
- 141 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 20:03:56 ]
- 今はSubversionを使ってて、
GitとMercurialをちょっとかじってみたいなと思ってるんだけど。 作業履歴も含めたバックアップはそれぞれどうやるの? 例えば、ある1つのプロジェクトを自分1人で扱うとして、 元リポジトリをいくつかに複製してそれぞれで個別の作業をして、 時折"リリース版"を作る場合: 1. リリース用リポジトリを1つ作って変更点を集める 2. そのリポジトリのバックアップを取る → 具体的には? とかなのかな。イメージがいまいち掴めてないかも。
- 142 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 21:18:20 ]
- 単にリリース用リポジトリ複製して保存しとけばいいと思うけど。
- 143 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 21:41:27 ]
- >>134
ごめん、なにがいいたいのかわからん。 high levelとlow levelに分類したところで、コマンドの数が多すぎる理由になるの?
- 144 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 21:48:44 ]
- cg cg-commit cg-reset
cg-add cg-diff cg-restore cg-admin-cat cg-export cg-rm cg-admin-ls cg-fetch cg-seek cg-admin-lsobj cg-help cg-status cg-admin-rewritehist cg-init cg-switch cg-admin-setuprepo cg-log cg-tag cg-admin-uncommit cg-merge cg-tag-ls cg-branch-add cg-mkpatch cg-tag-show cg-branch-chg cg-mv cg-update cg-branch-ls cg-object-id cg-version cg-clean cg-patch cg_annotate cg-clone cg-push あ一個変なの入ったけど、cgとかもあるよw stgitとかも。 git用のもあるbashcompは便利だがメインzshなんだよな。。。 zshcompはまだ使ってないんだがどうなんだろ。スレ違い…
- 145 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 22:40:15 ]
- >>143
コマンドの数が多すぎるのが問題なの?
- 146 名前:デフォルトの名無しさん [2007/12/10(月) 00:13:05 ]
- gitってリポジトリの一部だけをcloneとかcheckoutすることって出来る?
- 147 名前:141 mailto:sage [2007/12/10(月) 00:31:52 ]
- >>142
普通のファイル群として保存すればいい(それ以外にない)ってことか。thx。 いや、svnのdump/loadみたいなものはあるんかなと思ってね。
- 148 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 10:31:56 ]
- >>146
分かってないだけかもしれないけど、それは無いような希ガス Gitはファイルとかディレクトリではなくてコンテンツで考えるモノ、らしい
- 149 名前:デフォルトの名無しさん [2007/12/10(月) 11:49:13 ]
- 分散型でアクセス権をディレクトリ毎に制御できるものってない?
- 150 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 17:15:30 ]
- >>149
subversionではそういうのあったっけ。
- 151 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 17:29:23 ]
- svnserveとかWevDAV経由なら出来るんじゃなかったかな。
リポジトリの下のconfにそれっぽいのがあるでそ。
- 152 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:53:46 ]
- mercurialはrenameの前後でdiffとれない?
- 153 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 00:26:48 ]
- OpenJDK が Mercurial を使うことにしたそうだ。
- 154 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 00:56:26 ]
- svnはエンコード混在環境でもコミットログを内部utfで処理してくれますが、gitやhgのコミットログのエンコードは何が使われるのでしょうか?
乱暴ないい方するとWindows,ubuntu,旧soralisでs-jis,utf-8,eucなエディタでコミットしたときにログを相互に読めますかって話です (svnは相互にログは読めました、cvsはダメだった)
- 155 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 06:02:16 ]
- >>154
とりあえずGitはデフォでUTF-8だけど、設定ファイルに書いたらできたよ。 この手の質問って、hgとGitどっちにするか評価中ってことなのかな? それならこんな細かいことじゃなくて、機能の核心が重要なんじゃないかと 思うんだが。まずは使ってみたほうがいいと思うよ。
- 156 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 08:56:02 ]
- 154にとっては、それが核心機能のひとつなんじゃないかな。
異機種異環境混在環境でも動作するというのは案外大事。
- 157 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 10:28:37 ]
- >>156
まああれだ、どうもSubversionの機能をGitやMercurialに当てはめていくような アプローチをしたがるみたいなんだが、そうじゃなくて頭真っ白にして考えないと うまくいかないと思うんだおれは。 実際に使ってみれば、ログの文字コードを心配する前に、もっとドラスティックな ことが起きるはず。
- 158 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 10:55:13 ]
- SVNの説明にも必ずCVSではこうだったみたいなのがあるじゃん
最初からHGやGit使うなら良いが既にSVNとかを利用している人からすれば どうしても機能の当てはめ等は必要 自分は良くても他の人が移行に納得しない
- 159 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 11:11:07 ]
- おれsvnからgitに移行したけど、gitはsvnに当てはまらないことばっかだよ。。。
- 160 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 11:18:45 ]
- 当てはまらない事だらけって事は利用者は使い方を学ばなければならないって事だ
中々覚えようって気にはなってくれないから難しい
- 161 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 11:24:06 ]
- Git - SVN Crash Course
git.or.cz/course/svn.html 最初はこれ見てやってみたんだけど、やっぱこれでgitが分かるってことはないわけで Tutorialをやってみるのが近道だった。 中央集権型と分散型なんだから、簡単に移行できないのはしょうがないかもね。
- 162 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:16:41 ]
- gitかhgに移りたいけど、eclipseのプラグインがでるまで我慢。
- 163 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:20:22 ]
- 俺はWindows Explore連携ができないと、移る気がしない
- 164 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 14:35:49 ]
- svkだって亀が使えたらって思うが
- 165 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 20:23:44 ]
- まぁ、人口に膾炙するためには、日本語リソースが充実しないとな
- 166 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:35:58 ]
- gitとかsvnとかhgとかみてたら、2chの略語に見えてきた。
もうさ、2chのVCS/SCMつくろうぜ。 kwsk -> 詳細ログ表示 ktkr -> 取り出し wktk -> 更新があるかチェック up -> コミット
- 167 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:15:31 ]
- gitとhgをcygwin上でTutorialをこなしたけど、
gitは branch と gitkが すごく よいと 思いました。 って 思いつつ、hg リファレンス を読んでたら、branch在るんですね。 Tutorial 見て、cloneでどんどんレポジトリ増やしていくしかないと思ってしまったorz 気づいた差異は、こんな感じ 速度 hg > git hgは一瞬、gitは一秒程度かかるもの(checkout, commit)がある commit hgは、更新ファイルがデフォルトでコミットできる gitは、更新ファイルもaddを使って追加するかcommit -a をする マージのコンフリクト時の挙動 gitは衝突部位を両方持ったファイルを作成する hgは衝突ごとに随時衝突部位を両方持ったファイルをエディタで開いて修正を求める。 あと hgは、狙ったのかホームポジションの隣で両人差し指一打ですむのが楽
- 168 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:17:42 ]
- >>167
hgといえばやっぱりアレだろ
- 169 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:31:11 ]
- >>168
どれだよ。
- 170 名前:167 mailto:sage [2007/12/12(水) 02:42:06 ]
- ああ
gitはcommitせずに複数マージできるが抜けてました。 >168 何でしょ?
- 171 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:18:08 ]
- $ hg foo
- 172 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:20:44 ]
- gitやhgが流行ってるみたいですが、いまいちsvnとの使い方の差が掴めません。
実際にsvn->git,hgへ移行して、使い方がどう変わったかだれか教えてもらえませんか?
- 173 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:14:51 ]
- cvsからsvnへ変わったのとは違う
どう変わったか?と言うより、概念そのものが違う
- 174 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:21:26 ]
- gitに移行しない奴をアホ呼ばわりする奴は何なの?
- 175 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:27:18 ]
- 会社でアホ呼ばわりされたのか?
チラシの裏にでも書いておけ。
|

|