[過去ログ] Git 18 (1002レス)
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の優れた点が、発想の転換で
本体を記録することで差分を表現することにした点なんだろ

実装の話とごっちゃにするな
そういうところが技術的に未熟なんだよ
885: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:33 ID:5Oe/8sYX0(12/24) AAS
>>883
> そこまではしないが、1日10回とか平気ですることもあるし、それが問題だとも思わない。
そりゃお前が素人だから問題であることに気づいてないだけ
誰もやってないからね

> この辺はポリシーだし、好きなようにすればいいと思うがね。
お前が未熟だから反論できずにポリシーってことにしようとしてる
886
(1): (ワッチョイ 09e4-chQ5) 2022/11/05(土)18:33 ID:zDjINlW+0(6/26) AAS
>>877
分散バージョン管理ではですね、リポジトリのコピーがばらばらに複数存在することが前提なので、
あるひとつのリポジトリのコミット履歴が A<-B<-C で、他のリポジトリではこれが A<-C になっているという状況は不味いんですよ
なのでGitではそれができないようにデータ構造が設計されています
887: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:34 ID:5Oe/8sYX0(13/24) AAS
> 間違いなく言えるのは、俺は美しいソースコードを目指しているのであって、
> 美しいコミット履歴を目指しているわけではないんだよ。

コミット履歴は「使うもの」だって分かってないようだな
一部のコミットだけ抜き取って
他のブランチに組み込む
使うものだ

お前はただ見れればいいと思ってる
バージョン管理を理解してない
888: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:35 ID:5Oe/8sYX0(14/24) AAS
>>883
> 所詮commitメッセージなんて当てにならないし、diffが取れれば全く問題ない。

お前が作るコミットがクソだから、使いものにならなくなっているだけだなw
889
(1): (ワッチョイ 617b-8+ss) 2022/11/05(土)18:39 ID:646uiMLL0(15/38) AAS
>>882
まあ君と仕事することは無さそうだから別に問題ないけど、

> 修正しろよ。それが出来るように作られているだろ
コミットメッセージをいくら修正したところでそもそも意味無いんだよ。
管理してるのはメッセージじゃなくてソースコードなんだから。
それで、重要なコメントはソースコード上に書いてるから、diff取れれば十分なんだよ。
コミットメッセージは、あくまでGit上から探し出すラベルでしかなくて、何をやったかはdiffで見るし、それ以外にないよ。

> はっw バージョン管理の素人が。
> コミットメッセージの重要性を知らない時点で終わってるよ
まあ俺はGitの達人になりたいわけでもないんで、これで問題ないよ。
890: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:40 ID:5Oe/8sYX0(15/24) AAS
> コミットメッセージをいくら修正したところでそもそも意味無いんだよ。
それはお前だけの感想ですねw
891: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:41 ID:5Oe/8sYX0(16/24) AAS
> まあ俺はGitの達人になりたいわけでもないんで、これで問題ないよ。
バージョン管理の素人だって言ってる
お前、他の人と一緒に仕事ができないよw
892: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:41 ID:5Oe/8sYX0(17/24) AAS
> コミットメッセージは、あくまでGit上から探し出すラベルでしかなくて、何をやったかはdiffで見るし、それ以外にないよ。

途中を抜いといて、何をやったかなんてわかるわけ無いだろwww
893: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:43 ID:5Oe/8sYX0(18/24) AAS
>>889
こうやってコミット履歴をちゃんと見れて
なんの変更をしたのかわかるようになるまで頑張れよ
外部リンク:github.com

お前のコミットは汚すぎて
使い物にならんのだわ
894: (ワッチョイ 617b-8+ss) 2022/11/05(土)18:44 ID:646uiMLL0(16/38) AAS
>>884
> gitの優れた点が、発想の転換で
> 本体を記録することで差分を表現することにした点なんだろ
これは違う。
というかね、どっちを記録したところで、正常に動いていればどのみち任意の履歴を取り出せるから関係ないんだ。
ただ、ファイルシステム等がぶっ壊れて、断片的にしか取り出せなくなったときに、Gitみたいに本体を記録してる方が断然強い。

だから基本は「一番大事なもの」で記録するようにしなければいけない、という観点だったのだけど、
まあこれはフォールトトレラントにしろという話で、ちょっと蛇足ではあったね。
あまり関係ないからこの話は終わりで。
895: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:45 ID:5Oe/8sYX0(19/24) AAS
> これは違う。
だーかーら、素人のお前の意見なんか聞いてない
896: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:50 ID:5Oe/8sYX0(20/24) AAS
> ただ、ファイルシステム等がぶっ壊れて、断片的にしか取り出せなくなったときに、

gitは速度のためにスナップショットにしてると書いています
外部リンク:git-scm.com
897: (ワッチョイ 6914-pSqO) 2022/11/05(土)18:53 ID:5Oe/8sYX0(21/24) AAS
外部リンク:www.techpit.jp

なぜスナップショットとして記録するのか
スナップショットとして記録することで、複数人で開発する時のスピードを上げることができます。
詳しくは後ほど解説しますが、複数人での開発の際、並行して開発できるよう、
Gitではブランチというものを切って、バージョンを枝分かれさせて開発していきます。
このブランチでバージョンを枝分かれさせる際や、ブランチを統合(マージ)する際にスナップショットだと非常に作業が速くできます。

Gitがデータを差分というかたちで持っていると、ブランチを切ってマージする時に差分をいちいち計算しなければなりません。
しかしスナップショットで保存しておけば、差分の計算をしなくて済む分、とても速くブランチを切ったりマージできるようになります。

ちなみに、Git以前のバージョン管理ツールの多くは差分としてデータを保存していて、ブランチを切るのに大変時間がかかっていました。
大規模なプロジェクトになると数十秒かかったりすることもありました。
Gitだとこの作業が一瞬でできます。こういった事情があって、Linuxの作者のリーナス・トーバルズは
当時、大規模開発であったLinuxカーネル開発のバージョン管理システムを自作しました。これがGitのスタートです。
1-
あと 105 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.033s