1 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:16:57.41 .net] ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。 Git - Fast Version Control System git-scm.com/ ◆関連サイト Pro Git - Table of Contents progit.org/book/ja/ Git入門 www8.atwiki.jp/git_jp/ ◆前スレ Git 7 toro.2ch.net/test/read.cgi/tech/1381929347/
372 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 03:14:09.08 .net] debianとかねーわ
373 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 03:14:32.42 .net] コンパイルして入れればいいのに。 gitは仕組み的に、ファイルにアクセスして ネットワーク通信するだけだから簡単にコンパイルできるよ。
374 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 03:14:32.86 .net] >>365 そのへんのバージョンだと-i --rootじゃダメで、--ontoを指定しないと叱られる
375 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 08:00:01.28 .net] >>368 > ファイルにアクセスしてネットワーク通信するだけ そんな言い方したらほとんどのソフトが当てはまるわけだが (w
376 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 08:39:06.72 .net] 数百を超えるソフト使ってるのに、いちいち手動で入れてられんわ
377 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 08:47:43.84 .net] 必要な物だけ手動で入れればいいのでは?
378 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 09:00:12.35 .net] お、新しいバージョンだと最初のコミットもいじれるのか
379 名前:デフォルトの名無しさん [2014/02/13(木) 14:21:01.59 .net] squeezeなんてもうすぐeolだぞ
380 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 17:31:20.08 .net] filter-branchって 既に ・master ・develop ・feature/hoge ってブランチがリモートにあったら git branch -t -b xxx origin/xxx って手元に全部持ってきてから git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch keshitai.txt' -- --all をしてから全部をpush -fする必要がある?
381 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 18:02:11.12 .net] >>372 じゃあgitは不要だ。
382 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 23:47:25.44 .net] 最新安定バージョンのwheezyでも1.7.10なんだけどな
383 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 23:49:44.46 .net] 無駄に用心深いdebianじゃどうしようもない、捨てろ
384 名前:デフォルトの名無しさん [2014/02/14(金) 00:06:06.24 .net] backportsに1.8.5.3あるじゃん
385 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 00:16:15.53 .net] >>377 フリーズしてから1年以上立つんじゃないか。 安定版は機能追加しないぞ?
386 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 05:41:16.11 .net] tortoiseGit1.8.7使っているんだけど、一度コードを変更してから前の状態に戻したら大抵は 変更無しとみなしてくれるんだけど、ちょくちょく変更ありのままになってどうしようもなくなる。 これってどうやったら巻き戻せるの?checkoutしてもresetしてもrevertしても戻せない。 結局面倒になって全部消してcloneしなおす感じになっているんだけどなんか納得いかないんだよな。 Subversionだとrevertするか一度消して取りなおせばokだったけどどうも思う様にいかん・・・。
387 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:09:27.03 .net] 馬鹿には無理
388 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:20:22.73 .net] デスマおつかれさまです。 さっさと寝たら?
389 名前:デフォルトの名無しさん [2014/02/14(金) 11:06:14.85 .net] git config core.filemode false git config core.symlinks false ローカルでの変更全破棄 git checkout -- * 面倒なことが起きてる場合 git reset --hard origin/upstream_worktree
390 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 13:59:33.24 .net] >>384 ダメだった・・・
391 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 19:26:59.57 .net] コミットの打ち消し ってなにをするんだろう どうなるのか実験するの怖い
392 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 19:54:17.77 .net] revertは、過去のコミットで追加した部分を削除する、新しいコミットを作るだけだよ あまり高度なことをやってるわけじゃないから revertしようとするコミットで追加した部分が既に変更されてたりするとコンフリクトする その場合は手作業でコンフリクト解消しないといけない
393 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 22:52:05.12 .net] git って差分じゃないのによくマージとかできるなと思う。
394 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:02:10.42 .net] gitは圧縮されたスナップショットだがsvnと違ってブランチ切りで大量のコピーは生み出さない
395 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:02:48.56 .net] メインのブランチがある。 そのブランチからの派生が二つあって それぞれブランチAとブランチB ブランチAは正しく作られテストもOK ブランチBも正しく作られテストもOK この二つのブランチをマージしてコンフリクトも起きないが マージされたブランチにバグが発生するってこと起こりえるよな? なんでみんなそんなほいほいマージできるんだ?
396 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:03:07.76 .net] 2つのファイルから差分情報を作るのと、 1つのファイルと差分情報からもう1つのファイルを再現するのと、 難度に違いがあるの?
397 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:06:34.35 .net] >>390 そのためにレグレッションテストを用意しておくんじゃね? ほいほいマージっていうけどなんの検証も保証も無しにほいほいやってる人はよっぽどの自信家なんだろう。
398 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:07:24.76 .net] プルリクエストをマージする権限のある人がちゃんと検証するもんじゃないの?
399 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:08:23.67 .net] プルリクエストって・・なんで github 前提なんだよ
400 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:08:44.65 .net] 複数人で開発してる場合にはどちみちマージしなけりゃいけないんだから それを手作業でやるかツールでやるかの違いにしか過ぎない
401 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 23:53:29.96 .net] マージかよ
402 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 00:19:15.38 .net] >>389 svnもコピーを作ってるわけじゃないぞ。ブランチ切っても変更したやつだけが 格納される。 ただローカルに落とすときに実体としてのファイルが必要になる。 svn copyとか処理自体はgitのブランチと同じですぐに終わる。
403 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 00:21:11.45 .net] gitのブランチ切りはすぐ終わるという謳い文句は一体何だったのか
404 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 00:27:19.10 .net] Gitのブランチ切りは管理してるファイルとか一切変更しないからマジはやいよ
405 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 00:54:23.16 .net] >>398 ブランチ切りは速いよ。切り替えは遅いこともある
406 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 01:07:59.97 .net] 簡単に切れちゃうからこんどは使い終わったブランチを消すべし消さないべし論争が
407 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 02:32:22.58 .net] 昔みたいに安定版と開発版みたいな2本のラインで無理なく開発出来るくらいの 開発スピードだったらsvnでも良かったんだけど、今だと無駄に並行開発して、 リリースもまちまちだったりするからsvnだと取り回しがしんどいって部分も 結構あるからなぁ。
408 名前:デフォルトの名無しさん [2014/02/15(土) 12:07:43.91 .net] ↓ ↓ ↓ ↓ ↓ ↓ kohada.2ch.net/test/read.cgi/prog/1190866177/816
409 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 23:18:20.85 .net] >>401 保守するなら残す。しないなら、する必要ないなら削除する。 それがgitのブランチ運用じゃん? マージ済みとかで開発の終わったブランチを残す理由って何だろ。
410 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 00:52:30.25 .net] >>404 テンポラ
411 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 02:08:55.31 .net] >>404 マージの仕方にもよると思うけど試行錯誤の跡が見えた方が履歴を追う時に 良いというのは考えられるけど・・・大抵は古い作業データなんぞ見ても意味ないし 殆ど理由は無いと思われ。なかなか物を捨てられずに整理できない人と同じじゃない?
412 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 02:53:00.67 .net] 隠し状態に出来れば一番いいんだけどな そういう痒いところにはなかなか手が届かないな
413 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 03:15:36.94 .net] どこかに適当なリポジトリ作っといてpushすればいい それで手元からは消す
414 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 03:51:37.16 .net] 人間は消してもいい、という判断が適切にできるもんじゃないという思想が 根底にあるんじゃないのGitって。とにかくとにかく過去にやったことは極力 追えるようにしておきたい、というのがデフォ。 自分一人でやってることならそれでいいんだろうけどさ、多人数でやる以上 絶対はない、必ずさかのぼれるようにしておきたいという思想があるんだと思う。
415 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 08:45:19.90 .net] git svn cloneで、svnの同一階層のディレクトリから 一部のディレクトリについてだけcloneすることってできませんか? たとえばsvn側が以下のようなディレクトリ構成だとして DirAとDirBについての履歴だけいっしょにcloneしたい状況です。 Dir |-DirA |-DirB `-DirC git svn clone Dirしてしまうと 不要なDirC含めてすべての履歴がクローンされますけど DirCの差分は不要な場合、どうしたらいいでしょう?
416 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 10:02:21.18 .net] マージコミットの粒度がすごく荒いとブランチ消したくなくなる
417 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 11:25:23.06 .net] >>409 うーんどうだろ gitの場合は過去を改ざんする手段が割と豊富にあるし その気になったらなんでもさせる気構えなのがイヤだよ
418 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 12:30:51.95 .net] >>409 それはVCSの存在意義みたいなものだし… むしろgitは性善説に則って人間側の自由を重んじている感があるけどなあ VCSの中でもgitは何でも出来ちゃう部類だと思う
419 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 12:44:28.39 .net] マージするとき XX な時以外は fast-forward するな!とかみたいな 運用フローをプログラムレベルで保証するようなラッパーとかあったらいいのかもね。 github のプルリクエストみたいなのはうまくいってる例じゃないかなあ。
420 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 13:06:56.02 .net] >>406 バグ修正してる時に、なんでその変更したか読み取るのに必要。BTSと連携してるので特に。
421 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 19:28:42.49 .net] >>415 それあるね 消されるとわからなくなる 消せないフラグがあるといいのかね
422 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 00:01:18.89 .net] >>410 cloneしたあとgit filter-branch --subdirectory-filter dirA --prune-empty -- --all すればdirAだけの(かつdirAをrootとする)履歴に書き換えられる。 もしくはgit filter-branch --index-filter 'git rm --ignore-unmatch -r --cached dirC' --prune-empty -- --all すればdirCのみ履歴から消すことができる
423 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 01:48:19.18 .net] >>410 sparse checkout
424 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 01:20:06.23 .net] 1.9がキター
425 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 01:22:37.97 .net] ほんまや
426 名前:デフォルトの名無しさん [2014/02/19(水) 11:06:52.13 .net] >>312 元々、mercurial使ってからgit使い始めたけど、ほんまこれ gitを理解してる上で、これやろうならいいけど あんま理解してない状態で、あれやりたい!とりあえずググろう、みたいなスタンスで使って泥沼に嵌ってる人をたまにみかける
427 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 14:32:01.28 .net] 理解さえしてしまえば、かなり大胆にいろいろ自由にやっても破綻しない そして、構造自体は比較的簡単なので理解するのはそれほど難しくない
428 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 16:30:52.77 .net] GithubってGithub自身のソースは公開してないのかよ!
429 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 19:02:13.55 .net] おまえのものはおれのもの おれのものはおれのもの
430 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 20:02:00.54 .net] \\hoge\fuga\bar\.git というサーバーをwindowsでcloneするにはどうすればいいのでしょうか? httpsやhttpでアクセスできないと思うのですが・・・
431 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 20:22:02.28 .net] フォルダごとコピー
432 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 20:47:14.29 .net] >>425 cloneの展開先はローカル限定だけど、展開元はリモートでもローカルでもどっちでもいいぞ hogeサーバのフォルダをローカルで参照できるんだろ? ならばローカルからローカルへのcloneで何も問題無いんじゃ?
433 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 20:48:50.35 .net] ローカルなリポジトリの参照方法を聞いてるのかね
434 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 20:57:34.67 .net] 試してみたけど、Cygwinなら普通にこんな感じでできるな git clone //hoge/fuga/bar/.git bar 最後のbarは何でもいい
435 名前:425 mailto:sage [2014/02/20(木) 21:28:12.14 .net] ありがとうございました。 できました。
436 名前:デフォルトの名無しさん [2014/02/20(木) 22:56:33.96 .net] >>426 .gitごと含めてまんまフォルダをコピー そのあとoriginをコピー先に変更 これとgit cloneって違いはありますか? こんな方法で使用継続しちゃってもいいのでしょうか・・・
437 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 15:20:36.94 .net] >>431 違いはある。が実用上問題ない。
438 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 16:57:45.51 .net] コピー元のOSが違ったら改行コード問題が起きね?
439 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 17:12:24.91 .net] 件の件はローカルのコピーだろうから問題なさそうな気もするけど 確かに config で設定してる色々なフィルタ処理を考えると clone した方がよさそう
440 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 17:16:24.84 .net] core.autocrlf=trueの設定に依存してる人はワーキングコピーに変換が反映されてなくて問題になるかもね まあ俺はWin環境でもソースファイルの改行は原則LFにしてるから問題にならんが
441 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 17:23:07.89 .net] ああ、でもw逆に俺のcore.autocrlf=falseの環境では、 core.autocrlf=trueのワーキングコピーをそのままコピーしてきて、 改行コードCRLFのままファイルを編集コミットpushして、 顰蹙を買う可能性があるのかw
442 名前:デフォルトの名無しさん [2014/02/22(土) 06:33:44.87 .net] 分散バージョン管理システム「Git 1.9」が公開 | SourceForge.JP Magazine sourceforge.jp/magazine/14/02/17/153000
443 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 16:51:46.58 .net] git pushでエラーが出るの治った?
444 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 18:43:15.70 .net] >>438 それはあんたが勉強して 正しい使い方を学ばないとだめだよ。
445 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 19:45:04.57 .net] バグなんよ orangeclover.hatenablog.com/entry/2014/01/15/215758 https://github.com/msysgit/msysgit/issues/153
446 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 19:47:04.04 .net] close されてんじゃん
447 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:06:03.98 .net] なんかさ、一生懸命チェックしてこれでよしと思っても pushした瞬間にキャンセルしたくなるよな 今pushしたのだけ大至急キャンセルするにはどうしたらいいかな
448 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:08:19.35 .net] どういうflowか知らんがpushを戻したくなる状況ってよく分からんな
449 名前:デフォルトの名無しさん [2014/02/23(日) 00:10:59.07 .net] revert して、push すればいいじゃん
450 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:13:46.91 .net] コメントの書式微妙に間違ってた!なんてとき差し戻したくなるよな ローカルリポジトリならそういうのやりたい放題なんだが
451 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:15:11.46 .net] ドジっ子が多いんやな
452 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:21:27.56 .net] 説明文の英語ミスったりとかな・・ git push -f でなかったことにして修正してるんですけどね
453 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:23:51.26 .net] ネイティブすら気にしない英文のミスを日本人は気にし過ぎる
454 名前:デフォルトの名無しさん [2014/02/23(日) 00:42:59.76 .net] 立つ鳥後を濁さず的な精神強すぎるんよ 過去を消したりしてまでやる価値あるんか?
455 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 00:45:21.02 .net] そうはいっても amend みたいなのでちゃちゃっと直す癖ついちゃってるしなぁ
456 名前:デフォルトの名無しさん [2014/02/23(日) 01:09:11.40 .net] コメントだけなら、サーバにリモートログインして rebase -i で変更したらいいんじゃね
457 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 01:33:46.98 .net] その潔癖がクレーマーを生み出す原因なんだけどね
458 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 01:35:13.51 .net] 飛躍しすぎだ
459 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 07:21:35.07 .net] おまえらって↓これをチェックしてたりすんの? github/gitignore ・ GitHub https://github.com/github/gitignore
460 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 08:33:09.72 .net] マルチうぜー toro.2ch.net/test/read.cgi/tech/1354608228/859
461 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 18:06:07.80 .net] >>417 , 418 情報ありがとうございました。 反応遅くなってすみません。 最終的には以下のようにしてみました。 DirA, DirB, DirCの3ディレクトリが存在するsvnレポジトリのとある階層から DirA, DirBのみのGitリポジトリをつくるにあたって、、、 git svn clone --ignore-paths='^(?!DirA/|DirB/)' /path/to/svn_repository... → 頭に"DirA/"や"DirB/"がこない パスをignore git filter-branch --prune-empty → DirCに対する変更のみのコミットが空コミットとして入っているので、 それらを削除
462 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 10:40:25.19 .net] fetch面倒くさい
463 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 00:00:06.34 .net] git-svnでcloneしようとしたとき、 svnのtagsに日本語名ディレクトリが入ってるとエラーになってcloneできないね。 違うバージョンのgit+git-svnだとできたりするんでしょうか? ■エラー $git svn clone -s file:///svn ・・・ r419 = 003942a639a3e0617fec085b4365cf150c620762 (refs/remotes/trunk) Found possible branch point: file:///svn/trunk => file:///svn/tags/日本語, 419 Found branch parent: (refs/remotes/tags/日本語) 003942a639a3e0617fec085b4365cf150c620762 Following parent with do_switch assertion "svn_uri_is_canonical(child_uri, NULL)" failed: file "/usr/src/packages/subversion/subversion-1.8.5-1/src/subversion-1.8.5/subversion/libsvn_subr/dirent_uri.c", line 1502, function: uri_skip_ancestor error: git-svn died of signal 6 ■バージョン git version 1.7.9 (cygwin32bit版)
464 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 05:59:38.49 .net] 具体的なバージョンは忘れたけど fedora12環境(つまり結構ふるい)では ふつうにgit svn cloneできてたよ。 ※svnのサーバ側もlinux。バージョン等はよく知らない。
465 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 06:01:45.05 .net] と思ったけど、やっぱ忘れて。 tagsのことは知らない。。。。
466 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 02:31:49.75 .net] 昨日新宿西口のドトールで隣りの席の奴がGitポケットブックよみながらMacBook いじってたので横からずっと覗いてた。 かなりなヘボプログラマだった。
467 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 02:44:56.66 .net] >>461 いいなあ。そんな暇俺も欲しいわ。
468 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 05:04:02.17 .net] みんな初めはヘボなんだよ
469 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 05:19:13.36 .net] 知らない人が隣から覗き込んでくるって怖いね
470 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 08:51:37.68 .net] tigって使ってる?
471 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 10:05:38.17 .net] >>461 ボウリングだと隣の香具師が下手でも何も思わんが プログラマだと隣が下手だと気になるよね不思議だぬ www.nicovideo.jp/watch/sm8562641 www.nicovideo.jp/watch/sm8642352
472 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 11:02:07.20 .net] 結局は争いは同じレベルの以下略と同じだろ。 プログラマという同じ土台に乗ってるという 土台のレベルが同じだったとw