[過去ログ] Git 18 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
855: (ブーイモ MM96-1bV6) 2022/11/05(土)14:19 ID:W/77BOuWM(1/2) AAS
>>854
git そのものを理解すること諦めたか
でもお前使い方の方も盛大に勘違いしてるよ
856: (ワッチョイ 617b-8+ss) 2022/11/05(土)14:24 ID:646uiMLL0(6/38) AAS
>>851
> それはgitをバックアップとか途中セーブ機能とでも思ってんのか?
> 1 commit = 一機能の追加とか、一日の最後にやるものとか思ってるんだろ
そうだぞ。
ブッ込んでおけば後で何とでもなるただのバケツでしかない。
バケツの使い方を学べとか、知るかボケだ。
後でバケツから探し出すハメになった時、取り出し方をググって取り出せれば十分だ。
大方、プログラマの大半はこの程度の認識のはずだぞ。
そしてお前が望む、綺麗な管理記録は、これのサブセットでしかないんだよ。
だから例えば俺が780で言ったように、「コミットメッセージが空」を除外すれば簡単に得られる。
今のGitにこの機能がないだけ。(まあ近い機能はあるが)
DBならWHEREに条件を付加すればいいだけの楽勝案件で、Web系ならみんな出来るよ。
sedのワンライナーで済むことすらCで実装するGit界隈だと誰も出来ないのだろうけどさ。
まあGitにSQLインタフェースを付け加えればWeb系の奴等は文句言わなくなるんじゃないかな?
連中にとっては直感的になるから。
857: (ワッチョイ 6914-pSqO) 2022/11/05(土)14:34 ID:0q4aURph0(5/9) AAS
> 大方、プログラマの大半はこの程度の認識のはずだぞ。
お前の周りの無能集団だけだろ
858(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)14:35 ID:0q4aURph0(6/9) AAS
一体どこのプロジェクトに「2022年11月4日の仕事終了時のセーブ」なんてコミットがあるんですかねぇ
859(2): (アウアウウー Sacd-EsyA) [age] 2022/11/05(土)14:42 ID:oTMzuhJSa(1) AAS
>>858
それなんて、俺の前の職場
860(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)14:46 ID:0q4aURph0(7/9) AAS
データの取り出し方なんか知っていても
過去のコミットのミスを簡単に直せないなら
バージョン管理は苦痛になるし
やっぱりツールの使い方だけ知ってバージョン管理をしたことがないんだろうな
バージョン管理が不便だからgitが作られたんだぞ
861: (ワッチョイ 617b-8+ss) 2022/11/05(土)14:58 ID:646uiMLL0(7/38) AAS
>>859
俺はそれでいいと思うけど。
記録してない方が問題で、記録さえしてあれば、ゴミとマジを簡単に分離出来れば十分だ。
>>860
今のGitの修正は十分苦痛だよ。
修正させたくないから面倒にする、は間違いで、
簡単に修正出来るが、修正したことも履歴に残るようにする、が正しい。
862(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)15:03 ID:0q4aURph0(8/9) AAS
× 俺はそれでいいと思うけど。
○ 無能はそんなことをしている。
まずさぁ、gitというかバージョン管理の基本を理解してないんだからさ
そこから勉強しなよ
863(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)15:04 ID:0q4aURph0(9/9) AAS
> 簡単に修正出来るが、修正したことも履歴に残るようにする、が正しい。
お前はテキストエディタで保存するたびに
gitにセーブしろって言ってんのか?w
864(2): (ワッチョイ 617b-8+ss) 2022/11/05(土)16:06 ID:646uiMLL0(8/38) AAS
>>863
俺が言ってる「修正」は、Git自体の修正で、
> なのでマージ前のブランチをレビュー対象とする開発では push の際に整理することになる (778)
の場合に、SQL的に、
DELETE FROM my_repo WHERE branch='featureX' AND commit_message='';
あるいは、
CREATE INDEX beautiful_featureX ON my_repo WHERE branch='featureX' AND commit_message='';
で済むのに、何故Gitにつき合ってグダグダやらねばならんのだ?ということ。
それとは別に、ちょこまかcommitしても、俺は構わんと思うけど。
上記のように、それを1コマンドで除去出来れば、実務上何ら問題ない。
粒度が細かすぎてDBが膨れあがるなら、その部分を定期的にバックアップに切り出していけばいいだけ。
bitcoinはこの方式だ。
>>862
多分根本的に違うのは、
俺: 俺のワークフローに合うようにツールをカスタマイズする
863: Gitのワークフローに合わせてgitを使え、それ以外認めない!
なんだよ。
Linusが個人的に開発したんだからGit自体はそれでいいんだが、
全世界でLinuxと同じワークフローが適切なわけではない。
865: (ワッチョイ 6914-pSqO) 2022/11/05(土)16:10 ID:5Oe/8sYX0(1/24) AAS
>>864
アホなの?コミットメッセージは毎回入れるものだ
866: (ワッチョイ 6914-pSqO) 2022/11/05(土)16:11 ID:5Oe/8sYX0(2/24) AAS
>>864
> 全世界でLinuxと同じワークフローが適切なわけではない。
だからgitはいろんなワークフローに対応してるんだろうが
お前のはバージョン管理のワークフローではない
ただのバックアップのワークフローだ
867: (ワッチョイ 5e8f-gUJl) 2022/11/05(土)16:45 ID:CLSrxuim0(2/2) AAS
まあ1人プロジェクトみたいだし好き勝手やらせればいいさ
868: (ワッチョイ 6914-pSqO) 2022/11/05(土)16:54 ID:5Oe/8sYX0(3/24) AAS
コミットメッセージが空だったら~とかわけわからんなw
869(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)16:56 ID:5Oe/8sYX0(4/24) AAS
行単位で独立してるデータベースのデータじゃないんだからさぁ
ソースコードは前後の歴史とつながってる
DELETEなんちゃらみたいに一つだけ取り除くことが出来るのは稀
870(1): (ワッチョイ 617b-8+ss) 2022/11/05(土)17:21 ID:646uiMLL0(9/38) AAS
>>869
それは当然UIの話で、当たり前だが内部のリンクは接続し直すんだよ。
そしてそれをユーザーには見せない。
多分ここら辺の階層の話がGitには存在しないんだよ。
だからユーザーがviでリンク書き換えろとかの勢いだろ。
超密結合だし滅茶苦茶だよそれは。
871(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)17:22 ID:5Oe/8sYX0(5/24) AAS
>>870
都合が悪いからって無視するな
前後のソースコード関連してるから
途中のコミットを取り除くことはできないと言ってる
872: (ワッチョイ 0d4e-GJ//) 2022/11/05(土)17:28 ID:B2i8Nuif0(1) AAS
つまり、両親がイブに中出ししてお前が生まれたという歴史において、
イブの中出しだけを無かったことにはできないと言うことだね
その後の歴史でお前が存在するのはおかしいし
873(3): (ワッチョイ 617b-8+ss) 2022/11/05(土)17:30 ID:646uiMLL0(10/38) AAS
>>871
何言ってんだ?
中身はただの単方向リンクリストだぞ。
リンク先が複数のこともあるが、それでも問題なく抜ける。
ただそれ以前に、俺は既に言ったとおり「記録されてないほうが問題」とするので、
CREATE INDEXを使うが。これなら理解出来るか?
だったら、このINDEX対象をちょうど全部含むようにリンクリストを新しく作り直せばいいだけ。
それがDELETEしたものと同じ物になる。これで理解出来るか?
874(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)17:40 ID:5Oe/8sYX0(6/24) AAS
>>873
じゃあ抜き取ってみ
・commit 1「aaa を追加」
aaa
・commit 2「bbb を追加」
aaa
bbb
・commit 3「bbb を ccc に置き換えた」
aaa
ccc
ここからcommit2を抜き取ったときの
commit3の修正内容をよく読んでみろ
875(1): (ブーイモ MM96-1bV6) 2022/11/05(土)17:44 ID:W/77BOuWM(2/2) AAS
>>873
残念だけどそこから間違ってる
Gitのコミットのリストは単方向リンクリストではない
なのでリストの途中のコミットを削除したり途中に追加できない
876(2): (ワッチョイ 617b-8+ss) 2022/11/05(土)17:58 ID:646uiMLL0(11/38) AAS
>>874
ああコミットメッセージについては考えてなかったが、
俺ならそのままぐちゃっと貼り付けるけど。
つまり、
・commit 1「aaa を追加」
aaa
・commit 3「bbb を追加」「bbb を ccc に置き換えた」
aaa
ccc
になる。
877(1): (ワッチョイ 617b-8+ss) 2022/11/05(土)18:03 ID:646uiMLL0(12/38) AAS
>>875
親が複数あるだけの単方向リストだよ。
まあこれを単方向リストと呼ぶかは微妙だから、ツリーと言った方が通じたか?
ツリーが複数重なり合った状態になってるだけだよ。
単線の A<-B<-C なら A<-C になる。これは自明だよな。
マージの場合、(BがADのマージ結果ね)
A<-B<-C
D<-|
を
A<-C
D<-|
にする。
878(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)18:18 ID:5Oe/8sYX0(7/24) AAS
>>876
ようやく理解したか。
だからお前がやってるのはただのバックアップを取ってるだけだっていってんだよ
バージョン管理というのは何をどう変えたかという変化を記録するものだ
スナップショットじゃねーんだよ、あーほ
879: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:19 ID:5Oe/8sYX0(8/24) AAS
>>876
bbbの話がないのだから、
書き間違えなのか全く区別がつかない
バグコミットメッセージだな
880(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)18:21 ID:5Oe/8sYX0(9/24) AAS
>>873
> ただそれ以前に、俺は既に言ったとおり「記録されてないほうが問題」とするので、
だからお前のテキストエディタでの変更内容を全部記録するって言ってるんだろ?
ファイルを保存するたびにコミットするんだろお前は?
バージョン管理で記録するのはソースコードの修正履歴であって
お前個人の作業履歴じゃねーんだよ
使い物にならないゴミコミットを作るな
881(1): (ワッチョイ 617b-8+ss) 2022/11/05(土)18:26 ID:646uiMLL0(13/38) AAS
>>878
ああ履歴についての認識が違うんだな。了解した。
履歴は、
俺: スナップショット=「点」の並び
君: 変更した線の並びで、それはcommitメッセージに現れる。
それだと、commitメッセージが間違ってる場合はどうしようもなくなるだろ。
あくまでソースコードが重要で、どこをどう変えたかはdiff取れば済むだけの話、
commitメッセージなんて目安に過ぎないんだよ。
Gitもこちらの立場に近く、VCSとしては珍しく(と聞いているが俺はそこまで詳しくないが)
差分ではなく本体を記録するだろ。
882(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)18:31 ID:5Oe/8sYX0(10/24) AAS
>>881
> 履歴は、
> 俺: スナップショット=「点」の並び
だから、それはバックアップで言うって最初から言ってるだろ
お前が完全に間違ってるんだよ
> それだと、commitメッセージが間違ってる場合はどうしようもなくなるだろ。
修正しろよ。それが出来るように作られているだろ
> commitメッセージなんて目安に過ぎないんだよ。
はっw バージョン管理の素人が。
コミットメッセージの重要性を知らない時点で終わってるよ
883(2): (ワッチョイ 617b-8+ss) 2022/11/05(土)18:32 ID:646uiMLL0(14/38) AAS
>>880
> ファイルを保存するたびにコミットするんだろお前は?
そこまではしないが、1日10回とか平気ですることもあるし、それが問題だとも思わない。
この辺はポリシーだし、好きなようにすればいいと思うがね。
間違いなく言えるのは、俺は美しいソースコードを目指しているのであって、
美しいコミット履歴を目指しているわけではないんだよ。
そしてコミット履歴が過剰なら、落とせばいいだけだろ、という話。
無い履歴からは生成することは不可能なのだから、大きすぎる粒度より、小さすぎる粒度の方がいいに決まってる。
所詮commitメッセージなんて当てにならないし、diffが取れれば全く問題ない。
884(1): (ワッチョイ 6914-pSqO) 2022/11/05(土)18:32 ID:5Oe/8sYX0(11/24) AAS
> Gitもこちらの立場に近く、VCSとしては珍しく(と聞いているが俺はそこまで詳しくないが)
> 差分ではなく本体を記録するだろ。
だから最初からバージョン管理は差分を記録するものであり
gitの優れた点が、発想の転換で
本体を記録することで差分を表現することにした点なんだろ
実装の話とごっちゃにするな
そういうところが技術的に未熟なんだよ
上下前次1-新書関写板覧索設栞歴
あと 118 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.023s