1 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 14:02:52 ] バージョン管理システムについて語りましょう。 関連スレ CVS 1.3 [UNIX板] pc11.2ch.net/test/read.cgi/unix/1093611448/ CVS導入スレ〜 Rev.3 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1113141518/ Subversion r10 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1215565366/ subversion バージョン管理【サブバージョン】 [Linux板] pc11.2ch.net/test/read.cgi/linux/1154701996/ git スレッド [Linux板] pc11.2ch.net/test/read.cgi/linux/1197798039/ Bazaarでバージョン管理【bzr>git,svn,cvs】 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1218083381/ 前スレ バージョン管理システムについて語るスレ2 pc11.2ch.net/test/read.cgi/tech/1215520728/ 前前スレ バージョン管理システムについて語るスレ pc11.2ch.net/test/read.cgi/tech/1193332500/
164 名前:デフォルトの名無しさん [2008/12/26(金) 14:12:20 ] そもそもマージは人間がやるべきだよ。 バージョン管理システムは構文は見ないわけだし。
165 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 19:41:07 ] >>163 fast forward出来ないってことは、誰かがあなたより先にそのブランチにpushした ってことだと思う。 git fetch とか git rebase で真っ直ぐにする必要があると思う。 しかしgithubで誰かとブランチ共用してるのか。まあそういうやり方もありか。
166 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 22:48:11 ] 自動のマージに任せるととんでもないことになるから、 必ず手動でマージしてから自動のマージを走らせて、 変わった所をチェックしてるわ。
167 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 13:37:26 ] >157の件だけど、誰もやりかけてるのはないって事でいいのかな? この休み中に少しだけでも翻訳しようかなって感じなんだけど。 hgbookは、一度どっかに訳があがってたけど、今は無いみたい(?) ちなみに、公式FAQの足りない所や英語版と食い違ってるところを訳そうかなぁと 思ってる。
168 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 13:53:04 ] gitって名前がダサイ。
169 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 13:54:44 ] >>166 svn以前のマージって確かにひどい。ゴミだったな、ありゃ。
170 名前:デフォルトの名無しさん [2008/12/28(日) 13:18:44 ] >>169 CVSのマージで困ったことはないけど最近はもっと便利になってるの?
171 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 05:13:58 ] なってる。
172 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:48:16 ] 具体的にはどう便利に?
173 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:40:02 ] git blame -M/-Cってすごいなぁとおもって ソースみてみたけどロジックがわからんかった orz ほかのvcにはないよねこういうの
174 名前:デフォルトの名無しさん [2008/12/30(火) 19:56:59 ] >>173 いらないwww
175 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 16:04:33 ] Gitでコミットの順番をいれかえるのってどうしたらいいの? なんかGitではそういうことができると聞いたんだけど。
176 名前:デフォルトの名無しさん [2009/01/01(木) 15:03:39 ] Mercurial 1.1.2 release
177 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 15:14:46 ] >>175 大体こんな感じ。 git reset HEAD^ git stash save git reset HEAD^ git stash save git stash apply stash@{1} でもこれで入れ替えられるのは多分、diffの範囲が十分に離れている場合だけ。 近すぎるとコンフリクトすると思う。
178 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:28:22 ] >>177 えー、むちゃむちゃ手作業じゃないですか。そういうものですか。 あとこの方法だと、ログメッセージも手作業で指定することになりますよね。 だまされたのかな。Git には、パッチの順番を入れ替える直接的な機能はないということでFA?
179 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:43:46 ] $ git rebase -i HEAD~2 で $EDITOR が起動する. 説明は書いてあるのでそのようにすればいい. 簡単にいえば行毎にコミットがかいてあるのでそれを入れ換えばいい.
180 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 11:07:46 ] TortoiseHGでアイコンオーバーレイは、TortoiseSVNが入ってないと使えなかったりする?
181 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 18:54:32 ] >>180 アイコンオーバーレイだけインストールできるよ。Hgは試したことないけどTortoiseBzrではうまくいった。 tortoisesvn.tigris.org/source/browse/tortoisesvn/TortoiseOverlays/
182 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:00:05 ] >>181 サンクス。明日会社でやってみる。
183 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:21:19 ] TortoiseHgはオーバーレイでるよ。 インスコ後OS再起動していないとか
184 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:12:45 ] git では $HOME/.gitconfig に alias が設定できます。 しかしたとえば commit の alias として ci を登録すると、zsh の補完が効かなくなります。 つまり、git commit なら効く補完が、git ci だと効かないわけです。 あたりまえといえば当たり前なんですけど、git commit での補完が git ci でも効くようにするにはどうしたらいいでしょうか。
185 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:22:45 ] zshのドキュメントを読めばいいんじゃない?
186 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:55:54 ] gitのページがかわいくなったw
187 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 14:40:33 ] どーもくんみたいのがバナーにいるな
188 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 14:41:18 ] Git - Fast Version Control System git-scm.com/
189 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 15:00:40 ] ほんとだドーモくんに似てるw
190 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 21:18:57 ] なんできのこの山(抹茶味)食べてるん?
191 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 21:38:12 ] >>190 うまいからじゃね?
192 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 23:21:37 ] ドーモくんもGPLだったんだな。
193 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 03:28:19 ] どう見てもドーモくんです。
194 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 10:28:05 ] 食べすぎて太ってるな
195 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 16:04:13 ] 普段gitである程度まとまったらsf.netのsvnにgitの結果をなげるとかできる?
196 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 16:24:03 ] mercurialでaddを取り消すことはできない? addまではできるが、ファイル名の関係でcommiit出来ないからaddを取り消したいんだが…。
197 名前:196 mailto:sage [2009/01/09(金) 16:29:01 ] 申し訳ない。調査が足りなかった。 反省してる。
198 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 18:09:01 ] >>157 hgbookは ttp://freehg.org/u/honeyplanet/hgbook/ に作業中のが。
199 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:39:31 ] >>195 git-svnで出来るよ。 sf.jpなら直でGitいける。
200 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 02:14:40 ] >198 そのURL、公式wikiの日本語版トップページからリンクしとけばいいんじゃない? 存在を知らない人が二重に訳し始めたら無駄だし。
201 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 12:17:54 ] >>195 こんな感じかな svn からごっそりclone $ git svn clone rep_url -T trunk -b branches -t tags svn の branch を確認して $ git branch -r svn の branch を git の branch に紐付けして checkout $ git checkout -b git_branch svn_branch git の local branch を作ってゴソゴソ作業 $ git branch local_branch まとまったら、紐付けされた branch に戻って merge $ git checkout git_branch $ git merge local_branch --no-ff svn に送る $ git svn dcommit
202 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 18:47:34 ] 一つ質問させてください。 今までmonotoneを使っていて、最近新しくgitを使い始めたのですが monotoneでのcheckoutや、subversionでのexportのように 「ローカルレポジトリの内容を展開する」ことが可能なコマンドは無いでしょうか? たとえば、カレントディレクトリに .git だけがあって、その他には何もファイルが無いとき git export と実行すれば、その位置にレポジトリの内容が展開される…… というような事がやりたいのですが、その方法が分からずに悩んでいます。
203 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:27:29 ] git checkout .
204 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:42:44 ] >>203 checkoutするとファイル一覧は表示されるのですが、実際に展開が行われている様子はありません D file1 D file2 D ...
205 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:45:43 ] >>204 `.`
206 名前:204 mailto:sage [2009/01/11(日) 21:04:14 ] >>205 すみません、ピリオドを見落としていました。ありがとうございます!
207 名前:デフォルトの名無しさん [2009/01/15(木) 06:43:22 ] www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html 間違いだらけで笑えるwww
208 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 08:00:33 ] 分散型童貞の俺にどこが間違っているのかkwsk
209 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 09:13:46 ] そもそも中央リポジトリがなくてもいいのが分散型の意義じゃねーの?
210 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 09:32:15 ] >209 それ、ちゃんと記事に書いてあるじゃん。 で、どこが間違ってるの?
211 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 14:16:53 ] >>207 うーむ、TortoiseBzr のところで、いつのまにか Mercurial になってたのは笑ったけど、 個人的な見解含めて特におかしな記事だとは思えんがなあ。
212 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:13:31 ] >>207 文字コードの話はろくに設定もしないで言いがかりに近いんじゃないかね。
213 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:24:43 ] >>207 自分で使い込んでる感じがしないよね。どうしてもSVN中心に考えている感じ
214 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:38:04 ] HGの綴り間違えてるし相当適当じゃないかその記事
215 名前:デフォルトの名無しさん [2009/01/15(木) 19:57:22 ] >>213 結論がSVNを中央リポジトリにしてクライアントを分散型にするのがいいとか言ってるやつだぜwww
216 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 22:40:59 ] 間違いだらけ、とまでは行かないが使い込んでない感はあるなぁ。 結論だけは、・・・・・無いな。これは馬鹿。 道具を増やしたら、複雑になるだけだろうが・・・
217 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 00:50:27 ] git stash すると、一時的なコミットが作成されますよね? 連続してgit stashしてから、その順番を入れ替えてもとに戻したいんですけど、できますか? git stash # 1 回目 (小さめ) git stash # 2 回目(小さめ) git stash # 3回目(けっこう大きい) git pop # ここで1回目と2回目のを先に戻してcommitしたい こんな説明で伝わるかわかりませんが、もしご存知の方がおられましたらお願いします。
218 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 06:47:04 ] git stash list git stash apply stash@{1} git stash apply stash@{2} git stash apply stash@{0} みたいな感じか? ただしindexが違うから確実にマージされるとは限らないので、 コンフリクトが出たら手動でマージする必要があると思う。 最近この辺のインデックスとかの挙動がようやく分かってきたが、まだまだ曖昧だな。
219 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 08:47:22 ] >>216 無理して話に加わらなくていいよ
220 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 12:26:56 ] >>218 サンクスコ そうやって名前を指定できるのね。 git stash applyのかわりに、git stash popで名前を指定できるのかな。 試してみる。
221 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 14:22:38 ] manualを読めばちゃんと書いてあるのに。
222 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 19:01:30 ] TortoiseHgで指定のmergeツールを使う方法がよくわからないのですが、 教えていただけないでしょうか・ p4mergeを指定しているのですが、なぜか kdiff?とかいうのが立ち上がります Mercurial.ini には、 [ui] username = alpaca merge = p4merge [tortoisehg] vdiff = p4merge [extdiff] cmd.p4merge = c:\soft\Perforce\\p4merge.exe というような設定をしています。 vdiffの方は無事にp4mergeが立ち上がりようです。 (とはいえこちらも複数ファイル(3つ以上?)ある場合にまともに起動しなくて困ってます。 多くのエンコーディングに対応した複数ファイルを開けるvdiffツールあればオススメ教えてください)
223 名前:222 mailto:sage [2009/01/16(金) 19:53:45 ] TortoiseHgのmergeツールの件うまくいきました! 検索で引っかかったマニュアルしっかりよんだら理解できました MergeToolConfiguration - Mercurial www.selenic.com/mercurial/wiki/index.cgi/MergeToolConfiguration どうもデフォルトの設定(hg showconfigで確認)ではレジストリからパス?を読むようになってまして、 以前のOSでインストールしたものをそのままこぴぺでつかってたため、おきたようです。 とりあえず、Mercurial.ini に以下を突っ込んだところ無事立ち上がりました。 [merge-tools] p4merge.executable=c:\soft\Perforce\\p4merge.exe ありがとうございました。
224 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:46:05 ] >>223 >ありがとうございました。 何に?w
225 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 03:48:35 ] まぁ人に説明してると解決するって事もよくある
226 名前:222 mailto:sage [2009/01/17(土) 16:37:38 ] > [merge-tools] > p4merge.executable=c:\soft\Perforce\\p4merge.exe p4merge.executable=c:\soft\Perforce\p4merge.exe の間違いです。関係ないと思いますが、一応訂正
227 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:46:45 ] Mercurialの質問よろしいでしょうか? 特定のリビジョン間のパッチを取る簡単な方法(コマンド)はないでしょうか? cloneして特定リビジョンにupdateして、双方でdiffとるしかないですかね?
228 名前:227 mailto:sage [2009/01/17(土) 17:01:13 ] TortoiseHgでいけました。 View changelog を開いて 特定リビジョンをクリックして選択、diffりたいリビジョンを右クリック→diff or visual diff で特定リビジョン間の差分を見られました。 お手をわずらわせ失礼しました。
229 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:08:13 ] >>227 cloneは必要ないのでは? リビジョン指定してupdateとdiffするだけでしょ。
230 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:21:14 ] >>229 updateもいらない。 hg diff -r REV1 -r REV2
231 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 13:28:52 ] GNOME DVCS Survey results blogs.gnome.org/newren/2009/01/03/gnome-dvcs-survey-results/
232 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:45:24 ] ありがたいことに日本語訳もある ttp://tt25.org/blog/20090106/gnome-dvcs-survey
233 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:39:03 ] 2009-01-18 TortoiseHg 0.6 (with Mercurial 1.1.2) released! 誰か試してみて。
234 名前:196 mailto:sage [2009/01/18(日) 19:47:16 ] >>233 試してみる。 結果は教えられない。
235 名前:227 mailto:sage [2009/01/19(月) 02:48:47 ] >>229-230 サンクス!diffでリビジョン指定できたのね。
236 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 05:30:45 ] hg で.hgignoreに追加する前に追加されたと思わしきファイルがあります。 (.hgignoreで一致しているパターンなのに、hg stででてくる) そのファイルを後から無視することはできないのでしょうか? 一旦削除するしかないのでしょうか?
237 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 06:09:23 ] >236 hg remove --after でいけたはず。
238 名前:196 mailto:sage [2009/01/19(月) 15:13:17 ] TortoiseHG0.6入れたんだが、Commitツールが変わったっぽい? addとかと同じUIになって日本語ファイル名も表示されてるんだが。
239 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 16:38:32 ] git commit したときにviが起動するんですが、よく :wq ではなくて :q をしてしまいます。 つまり、コミットメッセージを書いたのに保存せずに終了してしまい、コミットされないことがあります。 自分のポカが原因ではありますが、viを終了したときに、保存してなければ Are you sure? とかなんとか、確認のメッセージを出すようにできませんか? よろしくお願いします。
240 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 16:53:21 ] vi って、修正後保存せずに :q しても、「変更がほぞんされてねーぜ jk」て言われて 終了できないんじゃなかったっけ?無理やり終了は :q! この安全策にはいつもお世話になってるけど。
241 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 17:22:53 ] いつもZZで終わらせてるなあ
242 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:32:49 ] >>240 あれ、そういえばそうですよね。 なんで git commit のときは確認してくれないんだろ?
243 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:17:07 ] >>242 なんでだろうね。EDITOR環境変数は何になってる?
244 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:39:28 ] >>243 $ ech $EDITOR なにもなしでした。 環境依存っぽいですね。当方 MacPorts 1.7, git --version 1.6.1 です。
245 名前:デフォルトの名無しさん [2009/01/21(水) 05:22:47 ] 水銀本 ttp://www.amazon.co.jp/dp/4798021741
246 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 09:32:40 ] お、このオッサン頑張ってると思ったらついに本出したか。 でも心は Bazaar に傾きつつあったり…。
247 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 12:33:53 ] >246 何故傾いたのか聞きたい。
248 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 13:29:44 ] ファイル名
249 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:58:38 ] Bazaar本も出ないかなー
250 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 21:38:42 ] VisualStudioにhgのプラグインを組み込んでみたけど 思っていたよりも便利だな。 プラグインが何も入っていない状態だとVSにソース管理の メニューが全く出てこないから、ろくな機能ないと思ってたw ただ、今配布されてるhgプラグインはイマイチだね。 最新以外のリビジョンからソースを取り出せないし、 ドキュメントの類は一切無いからインストールの仕方も よく分からなかった。
251 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 00:40:12 ] 流行ってる割にgitの本も無いよな
252 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 01:10:45 ] gitの本はPragProgから出たばかり。
253 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 01:24:15 ] Prologに見えた
254 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 09:24:53 ] >>249 Bazaar は、Bazaar スレですばらしい翻訳ページが公開されたじゃないか。 ttp://sarabande.info/doc/bzr
255 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 12:42:26 ] >>254 なんじゃこれはー! 翻訳者GJすぎる
256 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 12:55:06 ] >254 でも、公式サイトからリンクして貰わないと、あんま意味ないよね。 ま、リンクされてても、いつも鯖落ちてるSubversion和訳の例もあるけど。
257 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 14:02:59 ] コミットIDを指定して git log -p することってできない? git log -p 3a1b4c1de5926fgh4390 みたいにしてみたけど、そのコミットだけを見ることはできなかったっす。
258 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 14:07:14 ] >>257 できたよ。 IDの後ろ削ってみたらどう?
259 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 15:03:23 ] >>258 できないっすよ?他のコミットも混じってるよね? バージョンによって違うのかな? $ git --verion git version 1.6.1 IDの後ろって何?
260 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 16:10:28 ] >>259 git log -p 3a1b4c1de5926fgh4390 ↓ git log -p 3a1b4 という風にすること。 これでログが表示されなかったら3a1b4で始まるIDのコミットがそもそもレポジトリに存在しないことになる。
261 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 16:33:34 ] >>257 範囲指定は <since>..<until>。省略するとHEAD。 ということで、見たいやつの一個手前のIDも調べて git log -p 一個前..見たいやつ とかやればいいんじゃないかな。
262 名前:258 mailto:sage [2009/01/22(木) 16:40:49 ] ごめん、完全に勘違いしてた。 >>258 >>260 は無視してくれ。 git show 3a1b4c1de5926fgh4390 ならそのコミット分だけ見れるよ
263 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 16:48:37 ] ベストな解は262が出してくれてるけど。 >>261 一個前のID調べなくてもいい。 git log -p 見たいやつ^..見たいやつ で、いける。
264 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 17:10:52 ] 何を言ってるのかよく意味が分からなかったが理解した。 git log -p -1 commit-ish がしたいってことね。