[過去ログ] Git 19 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
785: (ワッチョイ db8c-RKQT) 2023/08/19(土)07:31 ID:JNxKk40N0(1) AAS
>>784
成仏してください……
南無阿弥陀仏南無阿弥陀仏
786(2): (ワッチョイ 2bbb-8Zil) 2023/08/19(土)09:28 ID:Af/nXbF+0(2/10) AAS
個人的な経験からバージョン管理の進歩で最大の進化を挙げていくと
rcs: バージョン管理で共同開発できる
cvs: リモートチェックアウトでロック取らずに共同作業可能になった
svn: アトミックコミットができるようになった
git: ローカルブランチが切れるようになった
というやつなので長文君の主張は全部的外れ
ローカルブランチのない時代には絶対に戻りたくない
787(1): (ワッチョイ 599c-RKQT) 2023/08/19(土)11:03 ID:5NZcE5rk0(1) AAS
>>786
gitならローカルだけの運用も可能だからね。
サーバー立てずに手軽に始められる。
788: (ワッチョイ c963-Wp5N) 2023/08/19(土)12:17 ID:WQ8pf8iV0(1/2) AAS
>>784
まず「伽藍方式で開発しているところはgitに移行していない」というのが
事実だと示さなければどうしようもないことを理解できない長文くん
「バケツ」は伽藍方式向けなのかバザール方式向けなのか、どっち?
789(1): (ワッチョイ 317b-vj3y) 2023/08/19(土)12:54 ID:2LFpxJcr0(2/8) AAS
>>787には同意する。
>>786
> ローカルブランチ
これ言うほど意味あるか?
集中型でもローカルに動作環境を作って試す。
通常は最新版のファイルを全コピーし、目的のファイルだけ変更してテスト等流すことになる。
だから実際の作業状態は集中型でも分散型でも変わらない。
最終的に提出するのがファイルかリポジトリかという話であって。
790: (ワッチョイ 2b8f-mdXp) 2023/08/19(土)13:06 ID:QQmUr01P0(1/3) AAS
バージョン管理使ったことないやつに同意されても困るわw
791(1): (ワッチョイ abe4-Xr9l) 2023/08/19(土)13:14 ID:vl4t9mIK0(1/7) AAS
ローカルにブランチを作ってローカルにコミットを作ってローカルにコミットメッセージを仕上げて十分に確認する
ここまでの作業で気づいた間違いは自分以外の人に影響を与えることは全く無い
十分に確認して問題無いと判断出来たら、そのローカルブランチをそのまんまメインリポジトリのブランチにワンタッチで昇格できる
これが実務を安らかに遂行する上でどれだけ助けになるか、自分の妄想を垂れ流すだけの恥知らずにはわからんのだろうな
792: (ワッチョイ c963-8siF) 2023/08/19(土)13:14 ID:7gpnkKpM0(1) AAS
インストールは一人でもできるから同意出来るさー。
793(3): (ワッチョイ 317b-vj3y) 2023/08/19(土)13:51 ID:2LFpxJcr0(3/8) AAS
>>791
> ここまでの作業で気づいた間違いは自分以外の人に影響を与えることは全く無い
それはどんな環境でも同じだよ。
違いは提出物がファイルかリポジトリかで、一つのファイルしか触ってないのならファイル提出の方が断然楽だ。
しかもお前ら、
> そのローカルブランチをそのまんまメインリポジトリのブランチにワンタッチで昇格できる
は禁止なんだろ?
仮にパッチを作成するのに10日間かかったとして、
1日目(○○やります!!!)、2日目、、、10日目(完成しました!!!)、というコミットではなく、
最終的にrebaseして一発で最終状態(10日目の結果)を生成したと改竄した履歴をローカルリポジトリに作り、それを提出しろ、と言うんだろ。
なら意味ねーじゃん。
794: (ワッチョイ 2bf2-N2rt) 2023/08/19(土)14:20 ID:JpdK29XE0(2/2) AAS
いいから一度ちゃんとGit使えって
もう業界のデファクトスタンダードなんだって
お前めっちゃ恥ずかしい発言を連発してんだぞ
795(1): (ワッチョイ 2bbb-8Zil) 2023/08/19(土)14:41 ID:Af/nXbF+0(3/10) AAS
>>789
プログラム書けないやつはこれだから……
・複数の実装を書いて比較してみたいことがある
・機能の組み合わせを複数パータンでテストしたいことがある
・新しい発想を他に影響を与えずに試したいことがある
・新規提案前に実物を作って見せたいことがある
・開発を複数並行で進めなくてはいけないこともある
・緊急の割り込みタスクが入ることがある
・自分の仕事の合間に他の人の仕事を助けてやることがある
・やっつけで書いたコードを他人に見せる前に綺麗に清書するのは当然、しないやつは○ね
・テストなどで出た問題は他人に見せる前に直すのが普通
・タイポとか恥ずかしい間違いは他人に見せれない。見せられた方も困る
まだまだ書けるけど?
796: (ワッチョイ c963-Wp5N) 2023/08/19(土)15:09 ID:WQ8pf8iV0(2/2) AAS
長文くんは試行錯誤なんてできないからな
「バケツ」のときも、つくるのなら試行錯誤するしかないから
そうしろと言われたら「迫害された」と叫んで逃げ出したし
797(1): (ワッチョイ abe4-Xr9l) 2023/08/19(土)15:12 ID:vl4t9mIK0(2/7) AAS
>>793
おまえは勘違いしているというか、gitのブランチとリポジトリを理解できてない
「ローカルブランチをそのまんまメインリポジトリのブランチにワンタッチで昇格」これを禁止してるところはほとんど無い
プルリクエストで管理者がチェックしてメインブランチにマージする現場でも、まずはローカルブランチをメインのリポジトリにpushしてチェックしてもらうんだから
798: (ワッチョイ abe4-Xr9l) 2023/08/19(土)15:21 ID:vl4t9mIK0(3/7) AAS
>>793
提出物がファイルではなくてソース環境のほぼ完全なスナップショットであるブランチなのが重要なのだよ
それを誰への影響もないローカルなリポジトリで作って他人が閲覧可能なリモートへ簡単に昇格できる
svnは途中から近いことができるようになったがcvs以前では考えられないような便利な仕組み
799(1): (ワッチョイ 2bbb-8Zil) 2023/08/19(土)15:41 ID:Af/nXbF+0(4/10) AAS
>>793
ぜんぜん分かってないな。例を挙げると
A機能の追加
A機能のバグ修正
B機能の追加
A機能の変数名変更
B機能のスペルミス修正
C機能の追加
B機能のアルゴリズム変更
A機能のバグ修正
A機能とC機能の共通部分のくくり出し
共通部分を使うようA機能を変更
共通部分を使うようC機能を変更
C機能の拡張
C機能のコメントのタイポ修正
不要になったB機能の削除
A機能のコード整理
という作業を1日に手元でやって、15回のコミットがローカルブランチに入ってるとして、これを共有前に
共通部分の追加
A機能の追加
C機能の追加
という3回のコミットに直して、それぞれに丁寧なコミットログ書いて、こっちだけを共有するんだよ。他の人がレビューしたり再利用する時間が大幅短縮できる。
git ならコマンド1つでこの「直し」ができる。これをやらないのは、他人の時間を湯水のように使っても許されると思ってるバカだけ。
他でもやるべきだが、git みたいにコマンド一発とはいかないので超面倒。結局ぐちゃぐちゃなのが共有されたりする
800(2): (ワッチョイ 317b-vj3y) 2023/08/19(土)16:15 ID:2LFpxJcr0(4/8) AAS
>>795
それ全部、ブランチ無くてもローカルでコピーすれば出来る案件だろ。
実際、git以前でも出来たけど、何故出来ないと思ってるの?
お前、共有リポジトリを生でいじるガイジか?
ブランチはある意味そういったコピー履歴/ドタバタ履歴をリポジトリ内に記録する為の機能であって、
後で改竄してそういったドタバタなんて無かったことにするのなら、必要ないんだよ。
最終状態のファイル群をmasterに繋げていけば済むんだから。そしてgitが推奨してるのはこれだろ。
>>797
> 禁止してるところはほとんど無い
綺麗な履歴なら、だろ。
そして>>799のように綺麗な履歴にするのがmustなんだろ。
俺が残したい履歴は
> 結局ぐちゃぐちゃなのが共有されたりする(799)
と表現されてる方だから、gitは俺には(と言うよりもコードを書く人にとっては)合わないし意味がない、というわけ。
(ただまあ《マージしかしない》Linusにとっては「ぐちゃぐちゃ」してる部分は意味がないのも事実なので、
《自分専用機を作っただけの》彼がこの機能を意図的に落としているように見えるが、
それにつき合わされてgitを崇拝してる連中は頭がおかしいとしか思えない。
お前にとって残したい履歴は何?という話)
逆にHgとかはこの「ぐちゃぐちゃ」な履歴を保持するポリシーなのかな?
あちらは履歴の改竄は禁止だと聞いているので。
誰か知ってたら教えて。
801: (ワッチョイ 2bcf-YAjS) 2023/08/19(土)16:53 ID:ndraJbkl0(1/2) AAS
>それ全部、ブランチ無くてもローカルでコピーすれば出来る案件だろ。
だから何だというんだろう。ブランチ使わずにできるからコピーで頑張りましょうってか?
802(1): (ワッチョイ 2bbb-8Zil) 2023/08/19(土)17:16 ID:Af/nXbF+0(5/10) AAS
>>800
ちゃんと調べたか?
git も hg も同じだよ。そのためのローカルブランチなんだから
どっちも共有リポジトリの改竄は禁止、やったやつは腹を切れ。ローカルはお前にしか影響ないんだから好きにしろ。
803(1): (ワッチョイ 2bbb-8Zil) 2023/08/19(土)17:25 ID:Af/nXbF+0(6/10) AAS
> お前にとって残したい履歴は何?という話)
結局、プログラムしたことないので個人で残したい履歴と、共有で残したい履歴は違うということが理解できないんだな。
タイポの修正履歴とかは他の人にとってはノイズでしかないので共有不要。自分の手元にだけ残っていれば良い。タイポ修正前のコードを見たいやつはいない。
多人数で開発する場合はノイズが少ないほど開発効率が上がるしバグも少なくなる。
804(1): (ブーイモ MMb3-Xr9l) 2023/08/19(土)17:58 ID:0srhzwdMM(1) AAS
>>800
最終成果物としてマージする目的のブランチの他にも、まだ作業中で整理していないブランチもメインリポジトリで共有するぞ
作業方針をレビューする目的とか、お前みたいに口ばっかで全然作業が進まないやつをキツめにフォローする目的とかでな
805: (ワッチョイ 317b-vj3y) 2023/08/19(土)21:34 ID:2LFpxJcr0(5/8) AAS
>>802
いや調べてない。以下読んだだけ。
> Mercurialは「履歴は永久的で神聖である」という哲学を持っていて、
> 履歴を操作するコマンドとしては1種類しかありません。
> その一方で、Gitは履歴を操作できる範囲が広いという違いがあります。
> 外部リンク:tracpath.com
だから、多分、君らが思ってるほど同じじゃないんだよ。gitは履歴改竄する前提だ。
> どっちも共有リポジトリの改竄は禁止、やったやつは腹を切れ。ローカルはお前にしか影響ないんだから好きにしろ。
これは当たり前で、俺が言ってるのはこれではなく、
「ぐちゃぐちゃ」の履歴を保持する文化があるか、ということ。次レス以降参照
806(1): (ワッチョイ 317b-vj3y) 2023/08/19(土)21:36 ID:2LFpxJcr0(6/8) AAS
>>803
> 個人で残したい履歴と、共有で残したい履歴は違う
> 自分の手元にだけ残っていれば良い
これらはその通りだが、gitにはこれを残す方法が用意されてないだろ。(まあsvn等も同様だとも思うが)
お前は一々別に残せと言うのか?
799通りやってたら既にそれがgitに記録されてるのに?(1回目)
そして共有用に履歴を改竄して、(2回目)
またどこか別にオレオレ用履歴を記録し直すなりしろと?(3回目)
三度手間だろ。
お前らの言う「グチャグチャな」履歴(1回目)を提出すれば(2回目)(3回目)はやらなくて済む作業だよ。
そしてそもそも履歴の哲学が間違ってる。
gitは「歴史か物語か」と嘯いてるが、これは90年代のPCが非力なときの思想であって、
履歴は「全部記録した上で表示時に間引く」と結論は出てて、他も全部そうなってるだろ。
(テキストで言えば>>logしてgrepする)
後になって確認するときにならないと、何が必要だったか分からないものだからだよ。
綺麗に改竄された履歴があったとして、仮に修正漏れがあったとき、
何故修正が漏れたのか、どこで対応し損ねたか、反省も出来ないだろ。
タイポの記録なんて馬鹿げてると思うのなら、タイポしないように注意しろという話であって、
タイポ記録まで含めて記録されてれば、
後から「ああ俺はあのときはこんなにタイポしてたのか、ずいぶんマシになったな」というのも分かるだろ。
小綺麗な記録だけ残ってても大して役に立たない。
記録は「できるだけ情報を削らない」のが大原則だ。
gitはこの辺が根本的に間違ってる。思想が古すぎる。
「歴史か物語か」は、適切にgrepする機構が足りてないのを誤魔化してるだけ。
それで騙されてるお前らはお花畑過ぎる。
807(3): (ワッチョイ 317b-vj3y) 2023/08/19(土)21:38 ID:2LFpxJcr0(7/8) AAS
>>804
それが技術的に出来るのはみんな知ってるよ。
問題は上述の通り、それをやったときに適切にgrepする機構がないから、
最初からgrepした結果になるように履歴を改竄した上でpushしろ、という文化な事。
マージするLinusの都合だけで作ってある。
だからコードを書く側の俺はgitには相当違和感があるし、
805内URLの人もそうだからMercurialとは違うと書いてるのだと思う。
そしてお前らにこの方面の感度が皆無なのは、お前らがコードを書いてないからだとも思う。
まあこれはいい。それで、
> まだ作業中で整理していないブランチもメインリポジトリで共有する
で運用するとして、その先はどうするんだ?
整理したらブランチ消すのか?なら手間が増えてるだけだろ。
svnのブランチ、「ディレクトリがブランチになります!!!」と言い切るのはどうなのよ?とも思うが、
実際、svnなら中途半端なコードを各ブランチに上げられても他の人は全く手間は増えないよ。
のろま君が勝手にコピーしてろで終わりだ。
gitの場合は、のろま君をフォローする為に中央リポジトリが毎日更新されてた場合、
(大した手間ではないが)pushする前にまず中央リポジトリと同期しなければならなくなり、
のろま君の為に全員に手間が増えてる。
これは、分散型のgitで集中管理を行おうとしたから発生したオーバーヘッドであり、
集中型のsvnだったら発生しなかった手間だ。
だから当たり前だが、集中型の開発管理を行うのなら集中型のリポジトリの方が適切だということ。
そして大半のプロプライエタリは集中型の開発なので、ゲーム会社が積極的にgitに移行する理由がない。
(というか連中はここら辺のgitの問題を分かってるから移行してないと思うんだよ。
お前らみたいにgitを理解出来ないから移行出来ないのだ!とかいう、
「上から目線ガー」とかうるさい割には心の中では心底他人を馬鹿にしてるゆとりマインドでは理解不能かもしれんが)
808(1): (ワッチョイ 2b8f-mdXp) 2023/08/19(土)21:45 ID:QQmUr01P0(2/3) AAS
コミットが開発プロセスの資産であることを本質的にわかってないんだろうね
うちのプロジェクトのメンバーにもそういう人がいるんだよね
毎回説明しても理解してくれない…
809(1): (ワッチョイ 317b-vj3y) 2023/08/19(土)22:22 ID:2LFpxJcr0(8/8) AAS
>>808
コードが資産で、コミットやgitでの管理は手段だよ。
それは典型的な手段の目的化であり、お前が間違ってる。
ユーザーが求めてるのは、新規機能の実装やバグの修正であって、
綺麗なcommit履歴のgitリポジトリではない。
と毎回説明しても理解してくれない…とそいつも思ってるだろうよ。
810: (ワッチョイ 2bcf-YAjS) 2023/08/19(土)22:41 ID:ndraJbkl0(2/2) AAS
>ユーザーが求めてるのは、新規機能の実装やバグの修正であって、
gitを使ってそれができているならなんの問題もないわけだがあんたはいったいなにを主張したいんだろうか
811: (ワッチョイ 2bbb-8Zil) 2023/08/19(土)22:55 ID:Af/nXbF+0(7/10) AAS
>>806
>> 個人で残したい履歴と、共有で残したい履歴は違う
>> 自分の手元にだけ残っていれば良い
> これらはその通りだが、gitにはこれを残す方法が用意されてないだろ。
わざわざ消さなければ残っているのにどうして別の方法が必要なんだ?
>履歴は「全部記録した上で表示時に間引く」と結論は出てて、他も全部そうなってるだろ。
お前の脳内結論とか持ってこられても開発効率は上がらないんだよ。複雑なバグの追跡やコードの再利用には綺麗な履歴が必須。
812: (ワッチョイ 2b8f-mdXp) 2023/08/19(土)22:57 ID:QQmUr01P0(3/3) AAS
>>809
なんで資産かどうかの話にユーザが出てくるんだよ
もしかして資産は全てユーザに公開されるものだと思ってる?プロダクトの話ではなくて開発プロセスの資産の話だぞ
813(1): (ワッチョイ abe4-Xr9l) 2023/08/19(土)23:16 ID:vl4t9mIK0(4/7) AAS
>>807
みんなは知ってる
でもお前は知らなかった
複数履歴に跨るようなgrepもできるのをお前はしらない
知らないのはおまえだけ
814(1): (ワッチョイ 2bbb-8Zil) 2023/08/19(土)23:17 ID:Af/nXbF+0(8/10) AAS
>>807
svn 使ったことないのに、知ってる風を装って語るので嘘杉て笑いが止まらない。
push する前に同期が必要なのが git
commit する前に同期が必要なのが svn
理解できるかな? 無理だろうな。
上下前次1-新書関写板覧索設栞歴
あと 188 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.024s