Git 20 (530レス)
上下前次1-新
167(1): (ワッチョイ 7fbb-rdwU) 2024/12/10(火)14:56 ID:sGQQlBSJ0(3/3) AAS
長文君は問題外なので放っておくとして
unix 文化圏の KISS 原則というのは他の文化圏から来たやつには不思議でしょうがないんだろうな
Keep It Simple Stupid
「単純で馬鹿なままにしておけ = 余計なことはするな」
単純なものを組み合わせて何か複雑なものを作るのは簡単だけど、複雑なものを組み合わせるのは困難
お仕着せじゃなくて自分で工夫して何とかする人には元が単純であるほど良い
168: (ワッチョイ e729-7Ydj) 2024/12/10(火)15:14 ID:r7RcD6Xd0(1) AAS
まあ使いやすくしたければ自分でツール作れば良いだけの話なのに何で作らないの?
必要なら作った方が効率がいいと思うんだけど。
169(3): (ワッチョイ bf9d-thkz) 2024/12/10(火)16:47 ID:IViAh4+E0(1) AAS
元の質問者だけど、質問はただ出来るのかどうか聞いてただけなんだけどなあ
こうなって欲しいとかあるべきとか別に何とも思ってないんだが、なんで勝手に仮定してそんなに膨らませるんだろw
あとバックアップがどうのって言ってる人が最初の方からちらほらいるけど、バックアップの話ってどこから出してきたんだ?
誰もそんな話しとらんよね
170(1): (アウアウウー Sa6b-6wbi) 2024/12/10(火)17:00 ID:nRxMArw0a(2/2) AAS
Gitのことは嫌いでも、Linusのことは嫌いにならないでください!!
171: (ワッチョイ a77a-rdwU) 2024/12/10(火)18:03 ID:6HlM5sdR0(2/2) AAS
>>169
読んだら分かると思うけどこのスレには「git は初心者向けのバックアップ・ツールであるべき」というのが持論の変なやつが一人居着いていて定期的に湧くんだ
そして、ちょっとでもバックアップぽい使い方をしてるやつや初心者っぽい質問があると持論の補強に使おうとする
で、他の人がそれに反論したり予防するのが日常風景になってる
関係なければ軽く無視しても大丈夫だよ
172: (ワッチョイ e77b-BDa8) 2024/12/10(火)18:45 ID:iBb8Uq0X0(5/5) AAS
>>167
GitはKISSとは真逆だけどな
>>169
手動でスクリプト書いてパーミッションを保存する気なのに、自分が使いたい機能と認識出来ないのは知障だろ
>>170
いやLinusの発言内容は大体同意だし、(163に挙げた物含めて)
ズバズバ言うところも割と俺は好きだけどな
もちろん会った事も話した事もないが
ただGitはなぁ…OSSの中でもここまで仕様がグダグダなのは存在しない
仕様を詰めるのは時間の無駄だ、として嫌う奴はいるが、大体そいつらはプログラミング初心者で、
Linusがこの辺理解出来無いとも思えないので、意図的に放置してる気もする
結果的にVCS界のmulticsになってるので、いつかunixが生まれる
ただまあ、使う分にはコマンドが多すぎても大して困らないんだよ、使わなければいいだけだから
しかしメンテするとなると、本来は全部のコマンドが正しく動く事をチェックしないといけないので、肥大化すると無理になってくる
Gitはこの辺、自動テストもする気無く、動かなければ動きませんね、文句があるならお前が直せ、でやってるように見える
また、勿論OSSなのでプロプライエタリと比べれば限界点は10~100倍上であり、
行けるところまで行ってしまえ、限界点のテストだ、という風にも取れる
この辺の思想が俺には合わないね、まあ他も多々あるが
だから、俺が参戦するとしたら、Gitではなく、unixを作る側だよ
173: (ワッチョイ 27c5-s3+3) 2024/12/10(火)21:54 ID:KgYOToHf0(1) AAS
そんなにGitが嫌なら使わなければいいのでは?
誰もお前にGit使えなんて言ってないでしょ
174: (ワッチョイ 474c-6wbi) 2024/12/10(火)23:14 ID:cIogiqHs0(1) AAS
ゴミバケツ君また自分でVCS作る話してる。
前のはどうなったのか。
175(1): (ワッチョイ df80-OBL7) 2024/12/11(水)01:32 ID:bYjfV/I80(1/2) AAS
バージョン管理システムを変更履歴システムだと思い込んでいる人間は多いよなあ。
変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
176(1): (ワッチョイ df80-OBL7) 2024/12/11(水)01:35 ID:bYjfV/I80(2/2) AAS
Linuxは開発者の質が低いんだよ
カーネルに次々と新しいバグを追加する
だからLinuxを採用するとカーネルを独自に直すという作業が必要になる
177: (ワッチョイ bf0f-dt5O) 2024/12/11(水)01:50 ID:Y83IEE6u0(1) AAS
このスレ痛いやつ多いのな
↑とか
178(1): (ワッチョイ e77b-BDa8) 2024/12/11(水)08:49 ID:bZvW/lze0(1/4) AAS
>>175
> 変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
それはdiffで十分だし、しかもGitの場合はdiffを内包してしまってる(俺はこれにも反対)
だから不満があるとするならバイナリか?(Excel等を含む)
勿論これは対応してないだけだし、
また、対応するにしても、Gitが直接差分を出す「モノリシック」ではなく、
「プラグイン」で各社が自社アプリ用の差分出力ツールを供給出来る形態にするのが正しい
VCSから各種diffを直接出力すべきと考えるのは間違いだと思うぜ
>>176
そうだとしてもLinux以外にないわけだが、
> カーネルに次々と新しいバグを追加する
これはポリシーというか戦略が違ってて、「今より少しでも改善するなら採用」だからじゃないかと
従来型の「最低限のクオリティに達するまではreject」へのアンチテーゼでもあるから
そして(文句あるかもしれんが)カーネル開発者は元々のエンジニアの質がそこそこ高かったからそれでも何とかなったものの、
同じ事をGitでやったからあの「ぼくがおもいついたすごいこまんど」の山になったのだと思う
交通整理すらやる気無かったわけだ
とはいえ、「使われなくなったコマンドは、いつしか動かなくなった事すら認識されなくなり、死んでいく」という、
Gitコマンド内でのライフゲームをやるつもりなら、ありなんだろうさ
厳選されてるように思えるunixコマンドだって、レイヤーが1つ違うだけで同じライフゲーム状態だし
179(1): (ワッチョイ 2772-s3+3) 2024/12/11(水)09:57 ID:34XO7K6O0(1) AAS
お前よりAIのほうが賢いんじゃね?
画像リンク
180: (ワッチョイ 7fbb-rdwU) 2024/12/11(水)12:19 ID:+nAxu/ku0(1/3) AAS
git を始めとして最近のVCSは著者(author)とか承認者(commiter)とかの由来を管理するけど、所有者(owner)とか所属グループ(group)とかの現状は管理しない
管理の粒度もファイル単位ではなくて変更点単位
「バックアップ」という言葉の使い方次第だが次元の違うものを管理してるというのは最低限の事前知識
181: (ワッチョイ 67e6-s3+3) 2024/12/11(水)12:25 ID:JMogi+gN0(1/2) AAS
GitHubを容量無制限のファイルバックアップ置き場として紹介しているサイトもあるけどな
182(2): (ワッチョイ 875c-QLAB) 2024/12/11(水)12:45 ID:kPp0f2Rs0(1/2) AAS
>>161
タイムスタンプがそうなっている理由はプログラマならわかるかと。
makeとかのビルドシステムがファイル更新をタイムスタンプで判定しているんだから、gitが書き換えるごとにタイムスタンプが新しくなるのはビルドシステムを考慮したら当然の話。
タイムスタンプを勝手に書き戻したら再現困難なバグになるから、採用は無いだろうね。
183(1): (ワッチョイ 67e6-s3+3) 2024/12/11(水)13:21 ID:JMogi+gN0(2/2) AAS
自分もタイムスタンプは戻してほしい派
その手のビルドツールって、なんで「タイムスタンプが古くなってても更新扱い」にしてくれないの?
184(1): (ワッチョイ 7fbb-rdwU) 2024/12/11(水)13:29 ID:+nAxu/ku0(2/3) AAS
1バイトも更新せずにタイムスタンプだけ更新したら、それも記録すんの?
そのタイムスタンプ更新の著作権は誰に所属するの?
コミッタはそれを確認して承認作業するの?
古いパッチの再利用したら日付が昔に戻るの?
ブランチ統合したらどっちの日付が採用されるの?
アホらし過ぎる議論
ファイルのバックアップは別に取れ
185: (ワッチョイ df3c-lhhN) 2024/12/11(水)17:38 ID:HXU8Fpor0(1) AAS
>>169
今話してるのは質問がGitをバックアップに使ってると勘違いしてる人たちだから無視していいよ
他の人は>>99でやりとりが終わってると分かってる
186(1): (ワッチョイ e77b-BDa8) 2024/12/11(水)18:37 ID:bZvW/lze0(2/4) AAS
>>179
それは「現時点でもGitはバックアップツールとして十分使えます」と言ってるんだがお前はそれで良いのか?
>>182-183
つ make distclean
>>184
回答を期待してるわけではないだろうが、俺が今思いついた範囲なら、
1バイトも更新せずにタイムスタンプだけ更新したら、それも記録すんの?→古い日付のファイルに戻してからcommitしろ(或いは「内容が同一のファイルは非更新扱いにする」オプションをcommitコマンドに追加するからそれを使え)
そのタイムスタンプ更新の著作権は誰に所属するの?→上記なので関係なし
コミッタはそれを確認して承認作業するの?→同上
古いパッチの再利用したら日付が昔に戻るの?→パッチを当てた日になる、つまり戻らない
ブランチ統合したらどっちの日付が採用されるの?→マージ時に変更されたファイルはマージした日付になる
これで別段大して問題ない気がするが
まあ日付を保存する事について技術的問題はないと思うけど
Linusがわざわざ外したんだから、政治的な問題はあって、採用はされないんだろうけどさ
(全世界からメール等で連絡受けてたLinusは、テメエのローカルタイムなんて知るか!!!とブチ切れ、
タイプスタンプでの連絡が出来ないように作ったと予想)
が、多分根本は、形式主義者か現実主義者か、といったところか
形式主義者: GitはVCSであり、それ以外の使い方をしてはならない
現実主義者: 機能が揃ってればラベルがどうであれ使う
つまりGitもバックアップツールとして使えるし、
GitHubは容量無制限のファイル置き場だし、
git clone GitHubのURL: が現状一番簡単なデプロイ方法であるので、Gitはデプロイツールでもある
(ただし目的外流用だから色々機能が揃ってないが、それでも他ツールよりマシなら使うだけ)
187(1): (ワッチョイ 875c-QLAB) 2024/12/11(水)19:28 ID:kPp0f2Rs0(2/2) AAS
>>186
開発者に「俺達の利便性のために、お前らはチェックアウトするごとに手動でcleanして一からビルドしろ」と言ったらさすがに傲慢かと。
gitはプログラム開発者がソースコード管理のために用意したツールだから、開発者にとって百害あって一利無しの機能が入ることは無いんじゃないんかね。
188(1): (ワッチョイ 47dd-s3+3) 2024/12/11(水)20:38 ID:WFtEMDpk0(1) AAS
>>182
Subversionには、ファイルのタイムスタンプをコミット日時にする設定はあるけどな
もちろん、makeを使うような人には危険な機能だが、それなりの要望はあったのだろう
189(1): (ワッチョイ e77b-BDa8) 2024/12/11(水)20:46 ID:bZvW/lze0(3/4) AAS
>>187
それはお前が傲慢すぎ
元々makeはインクリメンタルビルドの為のツールで、
Git以前からC界隈ではほぼ100%使われてたし、勿論Linusも使ってたはず
make clean; make distclean; は常識であり、知らない奴は死ねレベル
ただし通常はそもそも clean する必要がない
clean はだいたい rm *o だが、そもそも中間ファイル(*.o)は tar ボールには入ってないので、自分で make しない限り存在しない
だから「同一ディレクトリで『再度』makeしなおす」前に make clean であって、初回はやる必要がない
つまり「何度もビルドし直す」実際の開発者向けの機能であり
「ソースをダウンロードして一回ビルド成功したら終わり」のユーザーはどのみち clean なんてやる必要がないし、知らなくていい
これがGitの普及で毎回全部リビルドがデフォになっており、
君のように勘違いしてたり、あるいは makefile 内の clean が機能しなくなってる(メンテされてない)、という可能性はある
或いは、この辺の行き違いがLinuxで相当数発生し、『常に全部リビルド』するようにLinusが作った、という可能性もある
(Linus発言見てる限りは「タイムスタンプじゃなくてちゃんとコメント書けやボケ!」のように感じるが)
ただまあ、どのみちお前らのような、現状のGitに満足してる連中にはどうでもいい事だし、
俺ならタイプスタンプは戻すし、Gitにはコミットせずにフォークして勝手に作る
勿論気に入らなければ使うな、タイムスタンプ戻したければ勝手に使えだし
ただお前ら、繰り返すが
> それを思いついたやつは今までいない (126)
とか考えるのがとにかく傲慢すぎるんだよ
自分以外は超絶馬鹿としか思ってない奴しかこんな発言はできない
実際には、考えた上で、違う選択になってる
「タイムスタンプも保存した方がいいのでは」という提案を、これまで世界で誰も思いつかなかった、なんて事はあり得ない
Linus自身も最初から分かってて、敢えて落としてるんだよ
で、本来は、その落とした理由が分からないと地雷を踏むだけなので確認すべきなんだけども、
Git信者共はポジショントークを繰り返すだけでクソ使えねえ、
まあどのみちrejectされるのは分かり切ってるのでやるならフォークしかない、といったところ
190(1): (ワッチョイ 7fbb-rdwU) 2024/12/11(水)21:17 ID:+nAxu/ku0(3/3) AAS
何も分かってないやつがいて草
タイムスタンプは過去には戻らない未来に進むだけ、という前提で多くのツールが設計されてる make もそう
この前提を壊さないように配慮することが大原則で git のみならず unix 系のツールは設計されてる
バックアップからの復元はこの前提を壊して過去に時間を戻す行為なので特別な時にのみ使うもの
191: (ワッチョイ e77b-BDa8) 2024/12/11(水)21:35 ID:bZvW/lze0(4/4) AAS
>>190
zipやtarは普通にタイムスタンプは保存されるだろ
その延長で考えるなら、保存された方が自然だし有用だ、というだけ
ただまあ、これも合意する必要はない
フォークしてどちらがウケるかで決するフォーク主義が正しいし、ユーザーは好きな方使えば済むだけ
(現実的にはcp -p と同様にオプションで切り替えるのが普通で、
逆に言えばオプションすら存在しないGitは何らかの「意図」をもってそうしてるとも言える
理由は今のところ不明なので思いつく人はよろしく)
まあ心配せずとも、Linuxカーネルにコミットしてくる連中で、make clean を知らない奴なんて一人もいないよ
(だから多分問題はここではない)
192: (ワッチョイ 7fbb-rdwU) 2024/12/12(木)00:21 ID:C7R5gozk0(1/2) AAS
git pull した後に make clean とか git 使ったことないのが丸わかりだな
何のための make だよ?
193: (ワッチョイ 4768-u/4x) 2024/12/12(木)01:11 ID:2Npzz1EV0(1) AAS
負け組のためのだろ
194(1): (ワッチョイ 5f8e-QLAB) 2024/12/12(木)08:57 ID:yWChnlb80(1/2) AAS
>>189
「俺はタイムスタンプの管理をgitでやりたいから、お前らはチェックアウトするごとにmake dustclean しろ」と言ったら、温厚になったLinusでもさすがに罵倒するかと。
gitはLinusがlinuxのソースコードを管理するために作ったツール。今もメインユーザーはLinux開発者で想定利用シーンもLinux開発なんだから、「Linux開発者の足を引っ張る機能」を追加するのはディレクターの正気を疑うレベルですな。
195: (ワッチョイ 7fbb-rdwU) 2024/12/12(木)09:15 ID:C7R5gozk0(2/2) AAS
>>194
いや linux とか Linus とかもはや関係なく全プログラマー大爆笑案件だろ
git pull で同期したら日付が過去に戻りましたとか全員が git の使用やめるレベル
196(1): (ワッチョイ 67e6-s3+3) 2024/12/12(木)09:16 ID:OOlmzVQX0(1) AAS
外部リンク:stackoverflow.com
PythonやPerlを使う人には、makeのためにタイムスタンプが失われるのはいい迷惑だと言われてるな
今さらリポジトリにメタデータを埋め込むのは難しいにしても、
gitconfigで>>188くらいさせてくれてもいいのにとは思う
上下前次1-新書関写板覧索設栞歴
あと 334 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.016s