- 1 名前:デフォルトの名無しさん mailto:ageteoff [2015/03/23(月) 13:35:13.83 ID:aBYp+bVs.net]
- ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。
Git - Fast Version Control System git-scm.com/ ◆関連サイト Pro Git - Table of Contents git-scm.com/book/ja Git入門 www8.atwiki.jp/git_jp/ ◆前スレ Git 11 peace.2ch.net/test/read.cgi/tech/1416195050/
- 756 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:22:25.05 ID:CqiNTuO0.net]
- おっ、粋だね!
- 757 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:57:22.50 ID:Yra6/pdr.net]
- >>749
てめえ、コミットする前にコード消しやがって、何が粋だよ
- 758 名前:デフォルトの名無しさん [2015/06/23(火) 22:28:58.60 ID:SktsG5/m.net]
- コードもまた別れがあるから愛おしいのよ。
いつでも逢えたらロマンチックじゃないじゃない。
- 759 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 08:57:50.31 ID:NHniIMjV.net]
- >>751
江戸っ子は気が短けーんでい
- 760 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:23:29.89 ID:ix5XSndE.net]
- コードなんてもなぁ、そう何度も何度もね、
テストしたりコミットしたりほどのもんじゃないんだよ。 オレなんか、急ぐときなんざ エディタで保存する前に 消しちまうんだ
- 761 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 11:47:16.43 ID:Q1kb1EVf.net]
- 3つのファイルを編集した1コミット分をgit pushしたときに
Total 9 (delta 5), reused 0 (delta 0) って表示されたんですが9と5ってなんですか?
- 762 名前:デフォルトの名無しさん [2015/06/28(日) 11:33:24.51 ID:5m9gZHLm.net]
- 基本的には実行属性を無視しつつ、
ある特定のファイルの実行属性だけ無視しない という設定をしたいんだけど、どうすればいい!?
- 763 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 11:47:33.27 ID:VLu09OAr.net]
- >>756
Linux使えば良い。
- 764 名前:デフォルトの名無しさん [2015/06/28(日) 13:44:26.56 ID:5m9gZHLm.net]
- >>757
Linux使ってるんだけど、どうすればいい・・・
- 765 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:04:26.07 ID:lxz6gjyn.net]
- chmodぐらい勉強しろ。
- 766 名前:デフォルトの名無しさん [2015/06/28(日) 15:26:50.01 ID:5m9gZHLm.net]
- >>759
いちおうわかりやすく説明しなおすと、 chmodをすると、gitは属性の変更を検知するでしょ? それを本当に実行するファイル以外では無視したいの。 たとえば、 bin というフォルダにあるファイルの 実行属性があやまって変更されたら検知してほしいけど doc というフォルダのファイルをうっかり属性変更しても そんなのは無視してほしいんですよ
- 767 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:36:00.06 ID:YBvq0FDq.net]
- .gitignoreや.gitattributesでどう設定すれば・・・って話だろうけど
確かにもうすこし具体的に何がしたいか書かないとレスつかないだろうね
- 768 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 16:49:31.94 ID:uJqfu/82.net]
- sambaからコピってパーミッション直さないのがいると
全部のファイルに実行権ついててうざっ…とはなるな
- 769 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 17:03:24.02 ID:WJabjmO6.net]
- >>762
cygwinなら/etc/fstabで/cygdriveをnoaclに設定しとけばその手の煩わしい手間の必要はたぶん無い msysgitとかだと同じことできなかったりする?
- 770 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:27:03.56 ID:uJqfu/82.net]
- >>763
Windows->(Samba)->Linuxにコピーして Linuxでgit addした時の話ね msysgitなら実行権を無視するのでそういう事にはならないよ
- 771 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:39:52.16 ID:lxz6gjyn.net]
- だからLinux使えって言ってんだろ?
- 772 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:07:20.93 ID:WJabjmO6.net]
- >>764
それはsamba側の設定でcreate maskを0644にしちゃえばいいと思うんけど、 そういうわけには行かない使い方をしてるのかな?
- 773 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:25:52.15 ID:uJqfu/82.net]
- >>766
自分配下のものならそれでいいんだけど、 個人用のLinux PCとか、IT管理部門が許可しなかったりと なかなか統一できないのよね…。 質問の件は git config core.filemode false で 実行権限無効化するくらいしか思いつかないな gitattributesでできるんかな?
- 774 名前:デフォルトの名無しさん [2015/06/28(日) 20:28:07.89 ID:5m9gZHLm.net]
- >>767
実行権限無視の設定にしてる。 でもこれだと、ほんとに実行するファイルの実行権限が落ちていた時に 気付かないので、できればやめたい
- 775 名前:750 mailto:sage [2015/06/28(日) 20:31:54.95 ID:/nFQf9C+.net]
- どなたかおねがいします
- 776 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:44:04.23 ID:WJabjmO6.net]
- >>769
stackoverflow.com/questions/21476167/when-i-do-git-push-what-do-the-statistics-mean-total-delta-etc
- 777 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:55:49.53 ID:im5DcXMU.net]
- うーん、
プリコミットフィルターでコミットを拒絶するか ポストコミットフックで実行権を強制的に書き換えるか やりかた?知らん。
- 778 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 16:18:10.01 ID:rbxhDT3n.net]
- git diffが見づらいんですが
背景色を変更したり文字の色を指定する方法をおしえてください
- 779 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:14:42.93 ID:k+90EXgh.net]
- .git/config
- 780 名前:デフォルトの名無しさん [2015/06/30(火) 09:22:56.54 ID:TGfi4m1b.net]
- コミットした内容を破棄するんじゃなくて
コミットしたことを破棄したいんだけど どうしたらいいの? ファイルの内容は戻したくない
- 781 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 09:39:02.37 ID:4wEdMli5.net]
- >>774
git reset HEAD^
- 782 名前:デフォルトの名無しさん [2015/07/04(土) 13:39:17.57 ID:YKtPOMLD.net]
- 要件とか設計書をmarkdownとかで作成してバージョンを管理するとします。
そして変更履歴を一覧として出力(差分のみ)して作業指示書のようにすることはできますか?
- 783 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 07:01:20.85 ID:p0+3cdhD.net]
- git log -p でええか?
- 784 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 11:19:13.00 ID:jgWjPX/O.net]
- SourceTree ってわかりにくくない?
編集したのを元に戻すつもりで破棄を選んだら ファイルを消されたよ 実行したgitコマンドのログも見れないし
- 785 名前:デフォルトの名無しさん [2015/07/06(月) 12:24:05.59 ID:IqUlle/j.net]
- 使ってないよ
- 786 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 07:05:33.80 ID:NpIL7uvL.net]
- >>776
人間を機械のように扱わないとあかん案件か。
- 787 名前:デフォルトの名無しさん [2015/07/07(火) 10:56:27.88 ID:L2fl7GI9.net]
- >>780
Excelでいつの間にか更新されてて、取り込まれてないよ!っつーのをなくしたいんですわ
- 788 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:01:07.32 ID:JwFwNWWF.net]
- csvにしてからテキスト比較する程度でも足りそうな
- 789 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:25:04.32 ID:y1gFbJO1.net]
- いままで要件定義とか設計書をExcelでやってたのをGit管理したmarkdownへ変更したいってことなのか?
- 790 名前:デフォルトの名無しさん [2015/07/08(水) 01:45:10.53 ID:uot9w4rY.net]
- これって他人のコード見れたりするんですか?
- 791 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 02:11:28.13 ID:uBhtmoLk.net]
- ほんとExcelの仕様書は根絶してもらいたいな
バックエンドにGitを使ったWikiで何か良いものはないのかな?
- 792 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 04:28:24.61 ID:L2Tv4EJx.net]
- >>785
gitlab
- 793 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 19:28:18.03 ID:ribTz8l0.net]
- >>785
エクセルをgitで管理すると捗るよ
- 794 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 23:28:04.19 ID:PLuP1x0a.net]
- tortoiseGitのdiffでexcelの差分表示機能は秀逸
差分機能のないexcel自身を使ってなぜか差分表示を行ってしまう wordファイルはword自身の機能を使って差分表示 SourceTreeはWinMargeの呼び出しが標準たな? tortoiseGitには負けるけどそこそこ使える コマンドラインではdocx2txtが定番なのかな?これってexcel対応してたっけ?
- 795 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 00:13:15.31 ID:Ud/4MC5K.net]
- markdownやplantUML使うならAtomよさげだなあ
これぞ開発者のツールって感じ
- 796 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 03:42:11.87 ID:/JprfCCX.net]
- >>787
> エクセルをgitで管理すると捗るよ 前にやってた(知らない所で勝手にやってた)ことあるけど データ容量増えすぎでいらいらするようになったよw 差分で記録できないからね。 画像とか含まれていると、数MB単位で増え続ける。
- 797 名前:デフォルトの名無しさん [2015/07/10(金) 04:02:17.76 ID:27W+BsF0.net]
- やって後悔するのは愚者
やらんでも予想出来るのが賢者
- 798 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 08:38:00.86 ID:xDEEK620.net]
- git って差分で記録なんてしてたっけ
- 799 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 09:26:19.80 ID:JycZhxcB.net]
- その人はExcelでgitを作って管理すると捗ると言ってるのだ
それなら通じる
- 800 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 14:24:22.04 ID:PDFfD/6i7]
- >>792
コミット時にはしないけど、git gcの時に似ているファイル同士は連結圧縮してくれる
- 801 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 14:24:46.34 ID:9keGjwZf.net]
- >>792
コミット時にはしないけど、git gcの時に似ているファイル同士は連結圧縮してくれる
- 802 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 17:46:21.87 ID:t6CAZDWG.net]
- SourceTreeをアップデートしたらウィンドウが半分になった
どうしよう
- 803 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 17:49:20.78 ID:t6CAZDWG.net]
- ブックマークを表示してサイズ変更して非表示にしたら直った。
不思議なこともあるもんだ。
- 804 名前:デフォルトの名無しさん [2015/07/14(火) 01:33:04.33 ID:vBESeRtH.net]
- 案件とかで使ってないけど、趣味でgit勉強してます。
で、どういう運用すればいいのかよくわからん。 まず、バージョン1とかマイルストーンでブランチを切った方がいい?で、そこから機能でブランチを切ってく感じ?
- 805 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 06:39:52.42 ID:lsljdDda.net]
- 好きにしろ
- 806 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 10:23:57.14 ID:pNaF7lhj.net]
- >>798
まずブランチなんか無視して使い方を覚えるんだ
- 807 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 11:24:20.22 ID:OwkWHpBs.net]
- >>798
このスレはgitであのコマンドってなに?とか git周辺のソフトって何が有る?とか そういうことを聞くスレだよ。 主に初心者向け gitの運用の仕方はこっち Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/
- 808 名前:デフォルトの名無しさん [2015/07/14(火) 12:53:22.36 ID:G0PBqp91.net]
- >>801
どう見ても初心者だろ
- 809 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 13:07:53.62 ID:VxoBFrok.net]
- >>802
運用のことを考え出したら初心者じゃない。 コマンドなんてあとから覚えりゃいいんだよ。 運用があって、それに必要なものを作ったのが gitなんだから。
- 810 名前:デフォルトの名無しさん [2015/07/14(火) 13:20:00.15 ID:G0PBqp91.net]
- 初心者はコマンドを先に覚えた方が良い。
でないと、話が通じない。 ある程度使って、具体的に困ったところが出てきたら、運用スレで聞けば良い。 ただしあっちは関係無い話に脱線しがちだから、良いとこ取りした方が良いよ。
- 811 名前:デフォルトの名無しさん [2015/07/15(水) 23:09:43.18 ID:a+rEGmf6.net]
- すいませんgitでコミットするときにこのファイルは何で更新したのか思い出せません。
なので、これから更新する内容は「○○機能を実装」ってことでそれをプロジェクトルートのテキストファイルにメモ書きしてました。 しかし、コミットするときに毎回メモを見るのを忘れてしまいます。 再帰にコミットログを書いとくとかなんかtodoみたいなコマンドってありませんか?
- 812 名前:デフォルトの名無しさん [2015/07/15(水) 23:10:19.62 ID:a+rEGmf6.net]
- 訂正
☓再帰にコミットログ ○先にコミットログ
- 813 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 23:21:39.17 ID:YpeXwOwK.net]
- >>805
> それをプロジェクトルートのテキストファイルにメモ書きしてました。 いますぐそのようなアホなことを辞めましょう。
- 814 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 23:22:13.29 ID:VsrdjrWK.net]
- 前回との差分見ながらコミットログ書けばいい
あらかじめ用意しておくから忘れるんだ
- 815 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 23:44:52.69 ID:DsRhlYqB.net]
- 自分が今なにをしてきたか忘れるのか、
よっぽどコミットを溜めるのか、 コミットのコメントが適当すぎるのか もうバージョン管理以前の問題な気が アナログだけど付箋にメモしてディスプレイに貼れば? 左がこれからやること、上部が今やってる事、右が終わった事、 いや右は要らんかな?
- 816 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 00:52:26.73 ID:Ye9E1FJD.net]
- >>805
自分が差分を見て理解できないコードをコミットしちゃダメだよ
- 817 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 02:04:46.85 ID:C5QhjRoF.net]
- git notes とかはどうかな?
- 818 名前:デフォルトの名無しさん [2015/07/16(木) 04:35:55.01 ID:MREKRM2C.net]
- >>810
差分ってたまに直観的じゃない出力することが良くある
- 819 名前:デフォルトの名無しさん [2015/07/16(木) 07:52:03.14 ID:SnFgv9L8.net]
- git diffの表示範囲を広げるオプションは?
- 820 名前:デフォルトの名無しさん [2015/07/16(木) 08:04:35.28 ID:SnFgv9L8.net]
- >>805
githubとかRedmineとかticket/issue管理ツールと併用するのが一番だけど、1人で使うのだと構築するのが大変かもね。 メモをgit管理されていれば、メモの差分もgit diffで出るよね。なので、commitする前に必ずgit diffしていればメモを見るのを忘れることはないはず。 このやり方をする/しないにかかわらず、commitする前にgit diffをするのは大事だから習慣付けるべきだよ。
- 821 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 09:31:42.39 ID:NYNU6iM6.net]
- 変更するたびにコミットしといてpushやmerge前にamendなりrebaseで整形すればよくない?
- 822 名前:デフォルトの名無しさん [2015/07/16(木) 12:26:35.31 ID:WO54leEH.net]
- >変更するたびにコミット
コンパイル出来ないものをコミットするメリットは?
- 823 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 12:32:11.52 ID:DSiPnBiQ.net]
- コンバイル云々より下のレイヤーの使い方をしてるだけだろ。
ビルド管理の目的以外でバージョンコントロールしてはいけないという理由はない。
- 824 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 13:02:02.47 ID:Q/SdAAm+.net]
- してはいけないのではない。
ソフトウェアのバージョンを管理する以外につかっても 意味が無いということだ。
- 825 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 13:39:11.99 ID:Ye9E1FJD.net]
- ぜんぜん使いこなせてないな
そんなんじゃgitを使う意味が無い
- 826 名前:デフォルトの名無しさん [2015/07/16(木) 14:56:22.79 ID:SnFgv9L8.net]
- ここは初心者向けだそうなので、gitの使い方に自信がある人はこちらへどうぞ。
Gitをより良くするための運用ガイドライン作成スレ [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/
- 827 名前:デフォルトの名無しさん [2015/07/16(木) 15:16:59.28 ID:FDPV8gUS.net]
- >>810
ある機能を実装するのに、差分の出し方としての段階があると思うけどそういう単位でやるの? 面倒じゃない?
- 828 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 15:29:22.25 ID:cQ0wrBTO.net]
- >>816
何をやってたか忘れない 別途メモ管理不要 revertできる
- 829 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 16:59:52.48 ID:XEPlidkJ.net]
- revertは悪
- 830 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:11:52.83 ID:BQ1LfMZh.net]
- >>805
> 先に再帰にコミットログを書いとく どうしてもと言うなら git commit --allow-empty -m "○○する予定" touch a; git add a; git commit --amend -m "○○してやったぜ"
- 831 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:13:56.91 ID:sUV1QtUU.net]
- プログラムしてからコミットコメントを練る習慣を逆にすることを勧める。
コミットコメントの内容は、コーディングする前に決めておく。 つまり、これから何をプログラムするのかをまず決める。 その後、コメント通りにプラグラムできたら完了、コミットする。 下記のページの Write preemptive comments でも推賞されている。 https://arialdomartini.wordpress.com/2012/09/03/pre-emptive-commit-comments/ こうすれば、何で更新したのか、と悩むことはなくなる。
- 832 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:24:57.63 ID:sUV1QtUU.net]
- >>805
「○○機能を実装」というのがデカすぎるから、 メモを見なきゃ把握できなくなるんだよ。 で、メモを見るのを忘れて困ったことになる。 これを改善しないと、git に君が望む機能(ツール)があったとしても、 全く役に立たなくなる。 更新内容の粒度はもっともっと小さくしなきゃだめだ。 10分かそこらでプログラムできる程度の大きさにしてみな。 そうすれば、メモを見る必要すらなくなる。
- 833 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 20:38:56.88 ID:IhY29Rvn.net]
- VCSがない時代の人
1.あれやこれや編集して、時々変更が失なわれないようにファイルに保存 2.目的の変更が完了したところで、バックアップを作成しておく VCSの時代の人 1. 以前と同じ 2. リポジトリにコミット DVCSの時代の人 1.編集中の変更は基本自動保存。昔のファイル保存するような感覚でローカルリポジトリにコミット。 2.目的の変更が完了したところで、履歴をまとめてリモートリポジトリにプッシュ。 この運用方法のポイントは ファイルは自動保存すること。 ローカルコミットにはまとまった意味など不要。 単に編集量や、経過時間のチェックポイントとしてコミットする。 このコミットコメントは、いい加減なメモや、あるいはコメントなしでもよい。
- 834 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 00:55:21.98 ID:6Y2ZhytJ.net]
- Android studioというかIntelliJ IDEAでGitと連動させたソースの編集がまさに>>827のDVCSの時代の人のやりかたができて便利
ファイルへの保存についてはまったく気にする必要がない ソースの編集画面でHEAD内容と差分のある行の左端に常に印がつく その印をクリックすると編集前の内容がポップアップで表示されて、行を編集前の状態に戻すとかこのポップアップから操作できる ソースの編集画面からファイル単位のコミットとかできるし、--amend指定なんかもワンタッチ HEADと差分あるファイルの一覧を表示してる窓からまとめて全部コミットとかもできる これで行単位のコミットとかできたら完璧なんだけどそれは無いみたい IDEを起動したままコマンドラインでgit add -pしてcommitしてもIDE側でほぼ完璧に追従してくれるのでまあなんとかなってる
- 835 名前:デフォルトの名無しさん [2015/07/17(金) 04:20:41.08 ID:OfiHmkDl.net]
- >>826
差分を1つ1つみなきゃいけないゴミコード打つなよ
- 836 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 05:57:36.41 ID:JRoNxi4V.net]
- パーツごとにブランチを分けて開発し、各パーツを統合する開発ブランチにマージして開発をする
or パーツごとにリポジトリを分けて開発し、全てのパーツをサブモジュールとしてリポジトリ内に持つリポジトリで開発をする どっちがいい
- 837 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 13:27:11.26 ID:2DUlvwkL.net]
- パーツごとにブランチ?
そんなことをやってるプロジェクトがありますか?って話だ。
- 838 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 20:25:59.09 ID:zMQ3zlsL.net]
- よっぽどの規模じゃないとあんまり細かくサブモジュール化しても面倒なだけだと思う
- 839 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 20:45:24.33 ID:3x9AOrGu.net]
- index.php
calendar.php この2つのファイルを編集してまだaddをしてない状態なんですが index.phpだけ編集しなかったことにして前回のコミットした時の内容のままにして、 calendar.phpだけコミットしたいんですが どうやってindex.phpを更新してなかったことに出来ますか?
- 840 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:56:30.48 ID:muZ+fGR1.net]
- >>833
Indexの変更を手元に残しておきたければcalenderだけaddしてcommit
- 841 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:46:21.84 ID:GcYCq0Aw.net]
- iOSアプリ開発をsource treeで管理している初心者です。
今回チャット機能つきのアプリを制作しているのですが、ネイティブコード、サーバーサイド(php)、データベース(MySQL)を同時に管理するのは無理(もしくはかなり難しい)ですよね? ネイティブコードとサーバーサイドはsource treeで管理するとして、 データベースの情報はコミット毎になんらかの方法で全テーブル情報をログ出力して、それをメモ代わりに置いておく…ということくらいしか思いつかないんですけど、どうでしょうか。 サーバー連携が必要なアプリって、みなさんどうやってGitで管理してるんでしょうか…
- 842 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 20:15:32.34 ID:5OYZKZ4e.net]
- 普通、バージョン管理の対象にするのはDDL、初期データ、設定ファイルくらいだろ。
コミットごとのテーブル情報って、何を管理しようとしてるんだか。
- 843 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 21:05:27.99 ID:Xl228nsE.net]
- 俺もデータ内容まで保存しようというのはかなり冗長な気がする。
スキーマ更新のSQLのみバージョン管理、 DBのバックアップは別にダンプしてアーカイブだろうな。
- 844 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 06:20:36.38 ID:KkAp073H.net]
- >>835
データの中身は管理対象外、データベースのバックアップの問題 ソフトが対応するデータベースのインターフェースと言う意味では クエリー処理のプロシージャをDB側で組んでおくのが一番簡単だけど どうしてもというならDBをゼロから構築するスクリプトなりバッチなりを書いて それをGitで管理せておく なんにしろデータベースとアクセスアプリは分離しておくのが大切
- 845 名前:デフォルトの名無しさん [2015/07/19(日) 06:48:36.12 ID:EU0ROg42.net]
- 特定のデータの混入がバグの原因になる場合
git bisect で特定したければ DB のバックアップも git 管理に入れる必要がある
- 846 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 07:28:28.07 ID:KkAp073H.net]
- >>839
なるほどそういう考え方もあるか
- 847 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 09:06:48.58 ID:wG1rbxp8.net]
- バグはデータじゃなくてコードの側に存在するものだろ。
bisectするにしても、バグを再現できる同じデータを使わなければ見つかるもんも見つからなくなると思うが。
- 848 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 09:12:53.24 ID:I0iNBGYL.net]
- 確かにその場合単体テストを増やすべきな気がするな
- 849 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 12:04:49.68 ID:Npxm1YBj.net]
- >bisectするにしても、バグを再現できる同じデータを使わなければ
そのためにコミットごとにデータもダンプするんじゃないのか? 再現ももちろんデータ書き換えでテスト実行
- 850 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 12:48:59.20 ID:wG1rbxp8.net]
- bisectは基本的に、新たに判明したバグについて過去にさかのぼって原因箇所を特定する
ためのものだと思っていたが。 テストデータもcommit時点のものを使うとすればその時点で既にbadだったということになるが、 そういう運用していたらbisect役に立たないんじゃね? もちろん、bisectを使うつもりがなければビルドが通らないcommitするのも自由だと思うんで それは別の話として。
- 851 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 12:59:24.27 ID:3NrA4A7J.net]
- >>843
> そのためにコミットごとにデータもダンプするんじゃないのか? データは0の状態から、テストコードを書くんだよ。 テストコードの中でデータをリストアする 普通はフィクスチャっていうけどな。 当たり前だが実データまるまるダンプしてリストアなんてしない。 そんなことをやったら効率よくテストがかけない。 テスト全体が一つのデータに依存してしまうからね。 正しいテストとは、テスト対象(ファイル単位等)の テストに必要なデータだけを入れてテストする。 だからテスト実行前にはデータを全て削除する。 データベース全体をダンプするなんてことはしない。
- 852 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 13:06:34.44 ID:I0iNBGYL.net]
- テスト用DBの他にモック、リポジトリパターンも使われるな
- 853 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 14:22:36.05 ID:4suFbVBW.net]
- データもgitで管理するって新しいなw
- 854 名前:デフォルトの名無しさん [2015/07/22(水) 10:52:31.65 ID:phbUY/16.net]
- git checkout develop
git branch -b my_topic_branch とした後でいくつかcommit後、「my_topic_branch作成直後〜さっきのcommitまで」をrebaseしたいとき、 git rebase -i *** の***には、何と指定すればいいですか?
- 855 名前:デフォルトの名無しさん [2015/07/22(水) 12:19:49.68 ID:EiNSX7P4.net]
- 何も指定しない
- 856 名前:デフォルトの名無しさん [2015/07/22(水) 13:10:35.36 ID:phbUY/16.net]
- 何も指定しないと怒られます。
$ git rebase -i usage: git-rebase [-i] [options] [--] <upstream> [<branch>] or: git-rebase [-i] (--continue | --abort | --skip) ちなみに、今はcommitの数を数えて、HEAD~~~~~~とかしてます。
|

|