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/
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
473 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 11:21:24.16 .net] あなたがそうなのですねわかりますω
474 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 12:17:56.64 .net] わざわざレスを付けに出てくる時点で 見下してるはずのレベルの奴とレベルが同じになると 気づかなかったのだろうか?w
475 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 17:41:22.66 .net] よくできてるな ttp://www.nicovideo.jp/watch/sm8532540 ttp://www.nicovideo.jp/watch/sm8638032 ttp://www.nicovideo.jp/watch/sm7715276 ttp://www.nicovideo.jp/watch/sm7607897 ttp://www.nicovideo.jp/watch/sm15899101
476 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 17:47:52.80 .net] githubはもう古い 時代はgitlab
477 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 20:25:08.17 .net] EUCで保存されてるリポジトリを ShiftJISに変換してチェックアウトしたいんだけど やり方を教えれ
478 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 22:36:55.65 .net] >>472 ワーキングツリーだけ文字コードを変更する方法などない気がするが。
479 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 22:49:09.96 .net] フックかけて文字コード変更するとかかねえ
480 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 23:39:15.74 .net] >>472 他の人はEUC-JPのコードで実行。お前はShiftJISで実行 HTMLはEUC-JPなのでShiftJISで実行したお前は文字化け コンパイルしたら、バイナリにはEUC-JPで格納。 そのソフトをWindowsで動かすときにはEUC-JPをShiftJISに変換して出力するコードが含まれている。 お前はShiftJISでバイナリに格納され、ShiftJISをEUCーJPだと思ってShiftJISに変換。もちろん文字化け。
481 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 23:42:51.61 .net] >>472 cleanとsmudgeフィルタを使えばできそうな気がするが実際にやってみたことは無い。 git-scm.com/book/ja/ の「7.2 Git のカスタマイズ - Git の属性」の「キーワード展開」のとこに説明がある。 checkout時とcommit時にそれぞれフィルタをかける方法。
482 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 02:10:00.65 .net] >>476 を参考にして下のような感じで>>472 が解決できました どうもありがとうございました 作業フォルダに.gitattributeを作成 *.c filter=txtconv git --globalでフィルタプロパティを編集 [filter "txtconv"] smudge = nkf -s clean = nkf -e
483 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 02:12:37.12 .net] .gitattributeじゃない.gitattributesだった
484 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 09:08:24.21 .net] >>477 git diffとかも問題無く使える?
485 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 12:04:27.32 .net] リポジトリと作業フォルダの文字コードが変わっても、 その文字コードの差異に関してはdiffは反応しなかったです テキスト内容を編集した分に関してはdiffが反応します 自分が試した感じでは期待通りの動作でした
486 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 16:06:24.05 .net] もしや、ascii文字だけでそれを試して、わざわざここに書いたのではあるまいな
487 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 17:21:01.63 .net] >>481 リポジトリと作業コピーの改行コードが違ってても同じtextとして認識してるだろ? それはgit内部でフィルタを使ってるからなのよ 上で行ってるのはユーザーがその機能を追加してるだけ お前は知らないなら自分で試せよ
488 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 17:54:24.34 .net] git-scm.com/book/ja/ の7章は役に立つノウハウ満載だな そんな長くもないし一度読んでおくべき
489 名前:デフォルトの名無しさん [2014/03/02(日) 16:45:52.76 .net] ローカルで何もしてないのにコンフリクトが起こる糞vcs CONFLICT (content): Merge conflict in ... Automatic merge failed; fix conflicts and then commit the result.
490 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 17:00:21.38 .net] >>484 git mergeとかしない限りコンフリクトなんか起きねーよw なにもしてないのにコンフリクトが起きるわけがない。 起きたらgit statusとかgit logみれば原因ぐらいわかるだろ。
491 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 18:25:34.50 .net] IT土方屋のこびと おじいさんがデスマで疲れ果てて寝ていると 小さな妖精さんがコードを朝までに仕上げてくれました なお git rebase master はおろか 大量の機能を一本糞コミットにまとめたあげく コンフリクト解消の途中でばっくれた模様
492 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 18:29:53.05 .net] 途中でバックレてもpushしてなければローカルだけの話だろうし、pushされてても そんなのはrevertで打ち消しちゃえばいいだけの話だろ?
493 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 19:10:02.31 .net] >>484 はいつもの人なんで真面目に構ってもムダ
494 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 19:27:08.03 .net] おじいさんはwizardだったので、 git reset --hard HEAD@{6.hour.ago} して何を逃れましたとさ。
495 名前:デフォルトの名無しさん [2014/03/02(日) 21:14:46.68 .net] 現実提示して批判したら>>485 や>>488 だからなあ どんだけ馬鹿だらけなんだろうね(笑)
496 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 21:29:48.92 .net] ageるやつはキチガイ、はっきりわかんだね
497 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 21:30:32.10 .net] 「何もしてないのに壊れた」とか素人かよ
498 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 22:21:12.55 .net] >>492 そりゃ素人だよ
499 名前:デフォルトの名無しさん [2014/03/02(日) 22:21:40.77 .net] 素人が質問してはいけない空気
500 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 22:24:20.92 .net] いやあ、素人が質問はいいけど 素人がわけもわからず見当はずれのdisはいかんでしょ
501 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 22:25:38.07 .net] そもそも質問じゃない件
502 名前:デフォルトの名無しさん mailto:sage [2014/03/03(月) 20:58:04.29 .net] >>484 \n君は他のを使った方がいいかもね(ニッコリ
503 名前:デフォルトの名無しさん [2014/03/04(火) 01:05:39.72 .net] >>497 特定のプロジェクト限定で*仕方なく*使ってるんだよ わかるかな? ついでに言えば489の件はとうの昔にバッチに組み込んである
504 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 01:06:46.25 .net] ほんとなんでキチガイってageるんだろう。
505 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 01:07:30.01 .net] イミフ
506 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 01:36:44.93 .net] たぶん489をバッチに書いて 出社時 昼休憩後 帰宅時 に毎回実行してるんでしょ
507 名前:デフォルトの名無しさん [2014/03/04(火) 01:38:17.34 .net] そんな馬鹿なことする馬鹿は501くらいだ
508 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 03:06:10.11 .net] ネタにマジレス…
509 名前:デフォルトの名無しさん [2014/03/04(火) 19:25:20.20 .net] 質問です。 今日変更した分の差分を見たいですが、どうすればいいでしょうか?
510 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 19:41:02.13 .net] git diff HEAD
511 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 19:51:54.82 .net] もう既にコミット済みなんで何も表示されないです… とりあえず git log して昨日の最後のコミット番号をコピって git diff xxxxxxxxxxxx として確認は出来たんですが、 もう少し簡単に見れればと
512 名前:デフォルトの名無しさん [2014/03/04(火) 19:58:02.28 .net] git diff -1