探検
Git 20
1デフォルトの名無しさん (ワッチョイ df35-BO+l)
2024/02/15(木) 09:50:09.07ID:En27mXas0ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。
Git
http://git-scm.com/
◆関連サイト
Pro Git - Table of Contents
http://git-scm.com/book/ja
Git入門
http://www8.atwiki.jp/git_jp/
◆前スレ
Git 17
https://mevius.5ch.net/test/read.cgi/tech/1599016710/
Git 18
http://mevius.5ch.net/test/read.cgi/tech/1650651945/
Git 19
https://mevius.5ch.net/test/read.cgi/tech/1667720427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
162デフォルトの名無しさん (ブーイモ MM8f-dt5O)
2024/12/10(火) 13:15:59.11ID:maUGvQsbM gitも再発明だろ
お前はひたすらやらない理由を考えるタイプ
お前はひたすらやらない理由を考えるタイプ
163デフォルトの名無しさん (ワッチョイ e77b-BDa8)
2024/12/10(火) 13:17:40.15ID:iBb8Uq0X0 >>160
Gitでやるなら>>93-99
Gitを改造する気なら、commit時に何かしらのメタファイル(的なもの)を自動コミットしてしまって、
その中にパーミッションを記録しておき、戻すときに使えばいいだけ
まあ、やる気になればすぐ出来る問題だから、現時点で入ってないのは、
・本気で要らないと思ってる ← Git信者の予想
・まだブチ切れた奴が居ないだけ ← 俺の予想
・何かしらの理由で、政治的に拒否している ← Linusならあり得る
最後のは、例の発言
> マジで、Cを選択する理由が「何もなかった」としてもだ、C++プログラマー避けになるというだけで、Cを使う大義名分になる。
> https://cpplover.blogspot.com/2013/05/linus-torvalsc.html
なので、Git信者が喚き散らしてる「Gitをバックアップツールとして使わせない!!!」為に意図的にやってるってのは、
(半分ジョークだとしても、)Linusならあり得る
Gitでやるなら>>93-99
Gitを改造する気なら、commit時に何かしらのメタファイル(的なもの)を自動コミットしてしまって、
その中にパーミッションを記録しておき、戻すときに使えばいいだけ
まあ、やる気になればすぐ出来る問題だから、現時点で入ってないのは、
・本気で要らないと思ってる ← Git信者の予想
・まだブチ切れた奴が居ないだけ ← 俺の予想
・何かしらの理由で、政治的に拒否している ← Linusならあり得る
最後のは、例の発言
> マジで、Cを選択する理由が「何もなかった」としてもだ、C++プログラマー避けになるというだけで、Cを使う大義名分になる。
> https://cpplover.blogspot.com/2013/05/linus-torvalsc.html
なので、Git信者が喚き散らしてる「Gitをバックアップツールとして使わせない!!!」為に意図的にやってるってのは、
(半分ジョークだとしても、)Linusならあり得る
164デフォルトの名無しさん (ブーイモ MMff-OBL7)
2024/12/10(火) 13:21:33.43ID:1EevVDftM ファイルの中身の先頭にファイルそのものの属性情報を付けるという発想は、メインフレームなどの古い思想。
165デフォルトの名無しさん (ワッチョイ 8763-++IT)
2024/12/10(火) 13:23:12.69ID:0BGH+xex0166デフォルトの名無しさん (ワッチョイ 4768-u/4x)
2024/12/10(火) 13:49:10.16ID:yCEb4nkG0 ごっみばけっつ君来てるのか
ばーじょん0.1でいいから早く成果物公開してや
ばーじょん0.1でいいから早く成果物公開してや
167デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/10(火) 14:56:53.30ID:sGQQlBSJ0 長文君は問題外なので放っておくとして
unix 文化圏の KISS 原則というのは他の文化圏から来たやつには不思議でしょうがないんだろうな
Keep It Simple Stupid
「単純で馬鹿なままにしておけ = 余計なことはするな」
単純なものを組み合わせて何か複雑なものを作るのは簡単だけど、複雑なものを組み合わせるのは困難
お仕着せじゃなくて自分で工夫して何とかする人には元が単純であるほど良い
unix 文化圏の KISS 原則というのは他の文化圏から来たやつには不思議でしょうがないんだろうな
Keep It Simple Stupid
「単純で馬鹿なままにしておけ = 余計なことはするな」
単純なものを組み合わせて何か複雑なものを作るのは簡単だけど、複雑なものを組み合わせるのは困難
お仕着せじゃなくて自分で工夫して何とかする人には元が単純であるほど良い
168デフォルトの名無しさん (ワッチョイ e729-7Ydj)
2024/12/10(火) 15:14:11.48ID:r7RcD6Xd0 まあ使いやすくしたければ自分でツール作れば良いだけの話なのに何で作らないの?
必要なら作った方が効率がいいと思うんだけど。
必要なら作った方が効率がいいと思うんだけど。
169デフォルトの名無しさん (ワッチョイ bf9d-thkz)
2024/12/10(火) 16:47:08.21ID:IViAh4+E0 元の質問者だけど、質問はただ出来るのかどうか聞いてただけなんだけどなあ
こうなって欲しいとかあるべきとか別に何とも思ってないんだが、なんで勝手に仮定してそんなに膨らませるんだろw
あとバックアップがどうのって言ってる人が最初の方からちらほらいるけど、バックアップの話ってどこから出してきたんだ?
誰もそんな話しとらんよね
こうなって欲しいとかあるべきとか別に何とも思ってないんだが、なんで勝手に仮定してそんなに膨らませるんだろw
あとバックアップがどうのって言ってる人が最初の方からちらほらいるけど、バックアップの話ってどこから出してきたんだ?
誰もそんな話しとらんよね
170デフォルトの名無しさん (アウアウウー Sa6b-6wbi)
2024/12/10(火) 17:00:49.95ID:nRxMArw0a Gitのことは嫌いでも、Linusのことは嫌いにならないでください!!
171デフォルトの名無しさん (ワッチョイ a77a-rdwU)
2024/12/10(火) 18:03:32.07ID:6HlM5sdR0 >>169
読んだら分かると思うけどこのスレには「git は初心者向けのバックアップ・ツールであるべき」というのが持論の変なやつが一人居着いていて定期的に湧くんだ
そして、ちょっとでもバックアップぽい使い方をしてるやつや初心者っぽい質問があると持論の補強に使おうとする
で、他の人がそれに反論したり予防するのが日常風景になってる
関係なければ軽く無視しても大丈夫だよ
読んだら分かると思うけどこのスレには「git は初心者向けのバックアップ・ツールであるべき」というのが持論の変なやつが一人居着いていて定期的に湧くんだ
そして、ちょっとでもバックアップぽい使い方をしてるやつや初心者っぽい質問があると持論の補強に使おうとする
で、他の人がそれに反論したり予防するのが日常風景になってる
関係なければ軽く無視しても大丈夫だよ
172デフォルトの名無しさん (ワッチョイ e77b-BDa8)
2024/12/10(火) 18:45:20.68ID:iBb8Uq0X0 >>167
GitはKISSとは真逆だけどな
>>169
手動でスクリプト書いてパーミッションを保存する気なのに、自分が使いたい機能と認識出来ないのは知障だろ
>>170
いやLinusの発言内容は大体同意だし、(163に挙げた物含めて)
ズバズバ言うところも割と俺は好きだけどな
もちろん会った事も話した事もないが
ただGitはなぁ…OSSの中でもここまで仕様がグダグダなのは存在しない
仕様を詰めるのは時間の無駄だ、として嫌う奴はいるが、大体そいつらはプログラミング初心者で、
Linusがこの辺理解出来無いとも思えないので、意図的に放置してる気もする
結果的にVCS界のmulticsになってるので、いつかunixが生まれる
ただまあ、使う分にはコマンドが多すぎても大して困らないんだよ、使わなければいいだけだから
しかしメンテするとなると、本来は全部のコマンドが正しく動く事をチェックしないといけないので、肥大化すると無理になってくる
Gitはこの辺、自動テストもする気無く、動かなければ動きませんね、文句があるならお前が直せ、でやってるように見える
また、勿論OSSなのでプロプライエタリと比べれば限界点は10~100倍上であり、
行けるところまで行ってしまえ、限界点のテストだ、という風にも取れる
この辺の思想が俺には合わないね、まあ他も多々あるが
だから、俺が参戦するとしたら、Gitではなく、unixを作る側だよ
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:47.54ID:KgYOToHf0 そんなにGitが嫌なら使わなければいいのでは?
誰もお前にGit使えなんて言ってないでしょ
誰もお前にGit使えなんて言ってないでしょ
174デフォルトの名無しさん (ワッチョイ 474c-6wbi)
2024/12/10(火) 23:14:48.26ID:cIogiqHs0 ゴミバケツ君また自分でVCS作る話してる。
前のはどうなったのか。
前のはどうなったのか。
175デフォルトの名無しさん (ワッチョイ df80-OBL7)
2024/12/11(水) 01:32:29.88ID:bYjfV/I80 バージョン管理システムを変更履歴システムだと思い込んでいる人間は多いよなあ。
変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
176デフォルトの名無しさん (ワッチョイ df80-OBL7)
2024/12/11(水) 01:35:22.67ID:bYjfV/I80 Linuxは開発者の質が低いんだよ
カーネルに次々と新しいバグを追加する
だからLinuxを採用するとカーネルを独自に直すという作業が必要になる
カーネルに次々と新しいバグを追加する
だからLinuxを採用するとカーネルを独自に直すという作業が必要になる
177デフォルトの名無しさん (ワッチョイ bf0f-dt5O)
2024/12/11(水) 01:50:58.96ID:Y83IEE6u0 このスレ痛いやつ多いのな
↑とか
↑とか
178デフォルトの名無しさん (ワッチョイ e77b-BDa8)
2024/12/11(水) 08:49:43.35ID:bZvW/lze0 >>175
> 変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
それはdiffで十分だし、しかもGitの場合はdiffを内包してしまってる(俺はこれにも反対)
だから不満があるとするならバイナリか?(Excel等を含む)
勿論これは対応してないだけだし、
また、対応するにしても、Gitが直接差分を出す「モノリシック」ではなく、
「プラグイン」で各社が自社アプリ用の差分出力ツールを供給出来る形態にするのが正しい
VCSから各種diffを直接出力すべきと考えるのは間違いだと思うぜ
>>176
そうだとしてもLinux以外にないわけだが、
> カーネルに次々と新しいバグを追加する
これはポリシーというか戦略が違ってて、「今より少しでも改善するなら採用」だからじゃないかと
従来型の「最低限のクオリティに達するまではreject」へのアンチテーゼでもあるから
そして(文句あるかもしれんが)カーネル開発者は元々のエンジニアの質がそこそこ高かったからそれでも何とかなったものの、
同じ事をGitでやったからあの「ぼくがおもいついたすごいこまんど」の山になったのだと思う
交通整理すらやる気無かったわけだ
とはいえ、「使われなくなったコマンドは、いつしか動かなくなった事すら認識されなくなり、死んでいく」という、
Gitコマンド内でのライフゲームをやるつもりなら、ありなんだろうさ
厳選されてるように思えるunixコマンドだって、レイヤーが1つ違うだけで同じライフゲーム状態だし
> 変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
それはdiffで十分だし、しかもGitの場合はdiffを内包してしまってる(俺はこれにも反対)
だから不満があるとするならバイナリか?(Excel等を含む)
勿論これは対応してないだけだし、
また、対応するにしても、Gitが直接差分を出す「モノリシック」ではなく、
「プラグイン」で各社が自社アプリ用の差分出力ツールを供給出来る形態にするのが正しい
VCSから各種diffを直接出力すべきと考えるのは間違いだと思うぜ
>>176
そうだとしてもLinux以外にないわけだが、
> カーネルに次々と新しいバグを追加する
これはポリシーというか戦略が違ってて、「今より少しでも改善するなら採用」だからじゃないかと
従来型の「最低限のクオリティに達するまではreject」へのアンチテーゼでもあるから
そして(文句あるかもしれんが)カーネル開発者は元々のエンジニアの質がそこそこ高かったからそれでも何とかなったものの、
同じ事をGitでやったからあの「ぼくがおもいついたすごいこまんど」の山になったのだと思う
交通整理すらやる気無かったわけだ
とはいえ、「使われなくなったコマンドは、いつしか動かなくなった事すら認識されなくなり、死んでいく」という、
Gitコマンド内でのライフゲームをやるつもりなら、ありなんだろうさ
厳選されてるように思えるunixコマンドだって、レイヤーが1つ違うだけで同じライフゲーム状態だし
179デフォルトの名無しさん (ワッチョイ 2772-s3+3)
2024/12/11(水) 09:57:22.36ID:34XO7K6O0 お前よりAIのほうが賢いんじゃね?
https://i.imgur.com/V1cME8T.png
https://i.imgur.com/V1cME8T.png
180デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/11(水) 12:19:18.72ID:+nAxu/ku0 git を始めとして最近のVCSは著者(author)とか承認者(commiter)とかの由来を管理するけど、所有者(owner)とか所属グループ(group)とかの現状は管理しない
管理の粒度もファイル単位ではなくて変更点単位
「バックアップ」という言葉の使い方次第だが次元の違うものを管理してるというのは最低限の事前知識
管理の粒度もファイル単位ではなくて変更点単位
「バックアップ」という言葉の使い方次第だが次元の違うものを管理してるというのは最低限の事前知識
181デフォルトの名無しさん (ワッチョイ 67e6-s3+3)
2024/12/11(水) 12:25:55.27ID:JMogi+gN0 GitHubを容量無制限のファイルバックアップ置き場として紹介しているサイトもあるけどな
182デフォルトの名無しさん (ワッチョイ 875c-QLAB)
2024/12/11(水) 12:45:40.19ID:kPp0f2Rs0 >>161
タイムスタンプがそうなっている理由はプログラマならわかるかと。
makeとかのビルドシステムがファイル更新をタイムスタンプで判定しているんだから、gitが書き換えるごとにタイムスタンプが新しくなるのはビルドシステムを考慮したら当然の話。
タイムスタンプを勝手に書き戻したら再現困難なバグになるから、採用は無いだろうね。
タイムスタンプがそうなっている理由はプログラマならわかるかと。
makeとかのビルドシステムがファイル更新をタイムスタンプで判定しているんだから、gitが書き換えるごとにタイムスタンプが新しくなるのはビルドシステムを考慮したら当然の話。
タイムスタンプを勝手に書き戻したら再現困難なバグになるから、採用は無いだろうね。
183デフォルトの名無しさん (ワッチョイ 67e6-s3+3)
2024/12/11(水) 13:21:42.72ID:JMogi+gN0 自分もタイムスタンプは戻してほしい派
その手のビルドツールって、なんで「タイムスタンプが古くなってても更新扱い」にしてくれないの?
その手のビルドツールって、なんで「タイムスタンプが古くなってても更新扱い」にしてくれないの?
184デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/11(水) 13:29:52.53ID:+nAxu/ku0 1バイトも更新せずにタイムスタンプだけ更新したら、それも記録すんの?
そのタイムスタンプ更新の著作権は誰に所属するの?
コミッタはそれを確認して承認作業するの?
古いパッチの再利用したら日付が昔に戻るの?
ブランチ統合したらどっちの日付が採用されるの?
アホらし過ぎる議論
ファイルのバックアップは別に取れ
そのタイムスタンプ更新の著作権は誰に所属するの?
コミッタはそれを確認して承認作業するの?
古いパッチの再利用したら日付が昔に戻るの?
ブランチ統合したらどっちの日付が採用されるの?
アホらし過ぎる議論
ファイルのバックアップは別に取れ
185デフォルトの名無しさん (ワッチョイ df3c-lhhN)
2024/12/11(水) 17:38:01.33ID:HXU8Fpor0186デフォルトの名無しさん (ワッチョイ e77b-BDa8)
2024/12/11(水) 18:37:28.10ID:bZvW/lze0 >>179
それは「現時点でもGitはバックアップツールとして十分使えます」と言ってるんだがお前はそれで良いのか?
>>182-183
つ make distclean
>>184
回答を期待してるわけではないだろうが、俺が今思いついた範囲なら、
1バイトも更新せずにタイムスタンプだけ更新したら、それも記録すんの?→古い日付のファイルに戻してからcommitしろ(或いは「内容が同一のファイルは非更新扱いにする」オプションをcommitコマンドに追加するからそれを使え)
そのタイムスタンプ更新の著作権は誰に所属するの?→上記なので関係なし
コミッタはそれを確認して承認作業するの?→同上
古いパッチの再利用したら日付が昔に戻るの?→パッチを当てた日になる、つまり戻らない
ブランチ統合したらどっちの日付が採用されるの?→マージ時に変更されたファイルはマージした日付になる
これで別段大して問題ない気がするが
まあ日付を保存する事について技術的問題はないと思うけど
Linusがわざわざ外したんだから、政治的な問題はあって、採用はされないんだろうけどさ
(全世界からメール等で連絡受けてたLinusは、テメエのローカルタイムなんて知るか!!!とブチ切れ、
タイプスタンプでの連絡が出来ないように作ったと予想)
が、多分根本は、形式主義者か現実主義者か、といったところか
形式主義者: GitはVCSであり、それ以外の使い方をしてはならない
現実主義者: 機能が揃ってればラベルがどうであれ使う
つまりGitもバックアップツールとして使えるし、
GitHubは容量無制限のファイル置き場だし、
git clone GitHubのURL: が現状一番簡単なデプロイ方法であるので、Gitはデプロイツールでもある
(ただし目的外流用だから色々機能が揃ってないが、それでも他ツールよりマシなら使うだけ)
それは「現時点でもGitはバックアップツールとして十分使えます」と言ってるんだがお前はそれで良いのか?
>>182-183
つ make distclean
>>184
回答を期待してるわけではないだろうが、俺が今思いついた範囲なら、
1バイトも更新せずにタイムスタンプだけ更新したら、それも記録すんの?→古い日付のファイルに戻してからcommitしろ(或いは「内容が同一のファイルは非更新扱いにする」オプションをcommitコマンドに追加するからそれを使え)
そのタイムスタンプ更新の著作権は誰に所属するの?→上記なので関係なし
コミッタはそれを確認して承認作業するの?→同上
古いパッチの再利用したら日付が昔に戻るの?→パッチを当てた日になる、つまり戻らない
ブランチ統合したらどっちの日付が採用されるの?→マージ時に変更されたファイルはマージした日付になる
これで別段大して問題ない気がするが
まあ日付を保存する事について技術的問題はないと思うけど
Linusがわざわざ外したんだから、政治的な問題はあって、採用はされないんだろうけどさ
(全世界からメール等で連絡受けてたLinusは、テメエのローカルタイムなんて知るか!!!とブチ切れ、
タイプスタンプでの連絡が出来ないように作ったと予想)
が、多分根本は、形式主義者か現実主義者か、といったところか
形式主義者: GitはVCSであり、それ以外の使い方をしてはならない
現実主義者: 機能が揃ってればラベルがどうであれ使う
つまりGitもバックアップツールとして使えるし、
GitHubは容量無制限のファイル置き場だし、
git clone GitHubのURL: が現状一番簡単なデプロイ方法であるので、Gitはデプロイツールでもある
(ただし目的外流用だから色々機能が揃ってないが、それでも他ツールよりマシなら使うだけ)
187デフォルトの名無しさん (ワッチョイ 875c-QLAB)
2024/12/11(水) 19:28:51.98ID:kPp0f2Rs0 >>186
開発者に「俺達の利便性のために、お前らはチェックアウトするごとに手動でcleanして一からビルドしろ」と言ったらさすがに傲慢かと。
gitはプログラム開発者がソースコード管理のために用意したツールだから、開発者にとって百害あって一利無しの機能が入ることは無いんじゃないんかね。
開発者に「俺達の利便性のために、お前らはチェックアウトするごとに手動でcleanして一からビルドしろ」と言ったらさすがに傲慢かと。
gitはプログラム開発者がソースコード管理のために用意したツールだから、開発者にとって百害あって一利無しの機能が入ることは無いんじゃないんかね。
188デフォルトの名無しさん (ワッチョイ 47dd-s3+3)
2024/12/11(水) 20:38:24.90ID:WFtEMDpk0189デフォルトの名無しさん (ワッチョイ e77b-BDa8)
2024/12/11(水) 20:46:11.17ID:bZvW/lze0 >>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されるのは分かり切ってるのでやるならフォークしかない、といったところ
それはお前が傲慢すぎ
元々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デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/11(水) 21:17:41.31ID:+nAxu/ku0 何も分かってないやつがいて草
タイムスタンプは過去には戻らない未来に進むだけ、という前提で多くのツールが設計されてる make もそう
この前提を壊さないように配慮することが大原則で git のみならず unix 系のツールは設計されてる
バックアップからの復元はこの前提を壊して過去に時間を戻す行為なので特別な時にのみ使うもの
タイムスタンプは過去には戻らない未来に進むだけ、という前提で多くのツールが設計されてる make もそう
この前提を壊さないように配慮することが大原則で git のみならず unix 系のツールは設計されてる
バックアップからの復元はこの前提を壊して過去に時間を戻す行為なので特別な時にのみ使うもの
191デフォルトの名無しさん (ワッチョイ e77b-BDa8)
2024/12/11(水) 21:35:45.41ID:bZvW/lze0 >>190
zipやtarは普通にタイムスタンプは保存されるだろ
その延長で考えるなら、保存された方が自然だし有用だ、というだけ
ただまあ、これも合意する必要はない
フォークしてどちらがウケるかで決するフォーク主義が正しいし、ユーザーは好きな方使えば済むだけ
(現実的にはcp -p と同様にオプションで切り替えるのが普通で、
逆に言えばオプションすら存在しないGitは何らかの「意図」をもってそうしてるとも言える
理由は今のところ不明なので思いつく人はよろしく)
まあ心配せずとも、Linuxカーネルにコミットしてくる連中で、make clean を知らない奴なんて一人もいないよ
(だから多分問題はここではない)
zipやtarは普通にタイムスタンプは保存されるだろ
その延長で考えるなら、保存された方が自然だし有用だ、というだけ
ただまあ、これも合意する必要はない
フォークしてどちらがウケるかで決するフォーク主義が正しいし、ユーザーは好きな方使えば済むだけ
(現実的にはcp -p と同様にオプションで切り替えるのが普通で、
逆に言えばオプションすら存在しないGitは何らかの「意図」をもってそうしてるとも言える
理由は今のところ不明なので思いつく人はよろしく)
まあ心配せずとも、Linuxカーネルにコミットしてくる連中で、make clean を知らない奴なんて一人もいないよ
(だから多分問題はここではない)
192デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/12(木) 00:21:35.10ID:C7R5gozk0 git pull した後に make clean とか git 使ったことないのが丸わかりだな
何のための make だよ?
何のための make だよ?
193デフォルトの名無しさん (ワッチョイ 4768-u/4x)
2024/12/12(木) 01:11:52.06ID:2Npzz1EV0 負け組のためのだろ
194デフォルトの名無しさん (ワッチョイ 5f8e-QLAB)
2024/12/12(木) 08:57:54.12ID:yWChnlb80 >>189
「俺はタイムスタンプの管理をgitでやりたいから、お前らはチェックアウトするごとにmake dustclean しろ」と言ったら、温厚になったLinusでもさすがに罵倒するかと。
gitはLinusがlinuxのソースコードを管理するために作ったツール。今もメインユーザーはLinux開発者で想定利用シーンもLinux開発なんだから、「Linux開発者の足を引っ張る機能」を追加するのはディレクターの正気を疑うレベルですな。
「俺はタイムスタンプの管理をgitでやりたいから、お前らはチェックアウトするごとにmake dustclean しろ」と言ったら、温厚になったLinusでもさすがに罵倒するかと。
gitはLinusがlinuxのソースコードを管理するために作ったツール。今もメインユーザーはLinux開発者で想定利用シーンもLinux開発なんだから、「Linux開発者の足を引っ張る機能」を追加するのはディレクターの正気を疑うレベルですな。
195デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/12(木) 09:15:02.60ID:C7R5gozk0196デフォルトの名無しさん (ワッチョイ 67e6-s3+3)
2024/12/12(木) 09:16:55.48ID:OOlmzVQX0 https://stackoverflow.com/questions/1964470/whats-the-equivalent-of-subversions-use-commit-times-for-git
PythonやPerlを使う人には、makeのためにタイムスタンプが失われるのはいい迷惑だと言われてるな
今さらリポジトリにメタデータを埋め込むのは難しいにしても、
gitconfigで>>188くらいさせてくれてもいいのにとは思う
PythonやPerlを使う人には、makeのためにタイムスタンプが失われるのはいい迷惑だと言われてるな
今さらリポジトリにメタデータを埋め込むのは難しいにしても、
gitconfigで>>188くらいさせてくれてもいいのにとは思う
197デフォルトの名無しさん (ワッチョイ e7c8-iSwO)
2024/12/12(木) 15:16:51.62ID:d+ZuY6W00 >>196
当然だが既に同じことを考えてパッチしてた奴が居たか
> Linus' rationale of timestamps being harmful just because it "confuses make" is lame:
189に書いたようにこれはないと思ってたが、マジだったとは
makeで問題になる場合って、
makeした同じディレクトリでより古いバージョンでソースを上書きしてcleanせずにmakeした場合、
に限られるのでLinus以外はほぼやらねえし、Linusがmakeの使い方知らんわけねえし、ねえわと思ってたが、
自分専用ツールだからカスタマイズ済みの感じか
とはいえ謎の地雷があるわけではなさそうというのは分かった、ありがとう
普通に考えれば、保存した上で戻す際にオプションで選べるようにしておけばいいだけなのだがな
この辺Gitは無駄に押し付けがましいのが意識高い系と被るし、
だからこそ連中とも親和性が高く、このスレにもそういう奴が多いのだろうけど
用途は考え方の違いで、(俺がそういう使い方をするわけではないが)
cron に commit させとけば、VCSはバックアップツールとしても使えて、
偶に過去バージョンにパッチ当てる際は branch すればいいのだから、
一本線しか許されないバックアップツールよりはソースコードのバックアップには向いているというだけ
ただHgなら保存されるのか?なら俺はそれでもいいんだが
(料理の腕前で勝負してるのに、整理棚に必要以上にこだわっても本末転倒)
当然だが既に同じことを考えてパッチしてた奴が居たか
> Linus' rationale of timestamps being harmful just because it "confuses make" is lame:
189に書いたようにこれはないと思ってたが、マジだったとは
makeで問題になる場合って、
makeした同じディレクトリでより古いバージョンでソースを上書きしてcleanせずにmakeした場合、
に限られるのでLinus以外はほぼやらねえし、Linusがmakeの使い方知らんわけねえし、ねえわと思ってたが、
自分専用ツールだからカスタマイズ済みの感じか
とはいえ謎の地雷があるわけではなさそうというのは分かった、ありがとう
普通に考えれば、保存した上で戻す際にオプションで選べるようにしておけばいいだけなのだがな
この辺Gitは無駄に押し付けがましいのが意識高い系と被るし、
だからこそ連中とも親和性が高く、このスレにもそういう奴が多いのだろうけど
用途は考え方の違いで、(俺がそういう使い方をするわけではないが)
cron に commit させとけば、VCSはバックアップツールとしても使えて、
偶に過去バージョンにパッチ当てる際は branch すればいいのだから、
一本線しか許されないバックアップツールよりはソースコードのバックアップには向いているというだけ
ただHgなら保存されるのか?なら俺はそれでもいいんだが
(料理の腕前で勝負してるのに、整理棚に必要以上にこだわっても本末転倒)
198デフォルトの名無しさん (ワッチョイ 27bb-s3+3)
2024/12/12(木) 15:21:09.29ID:JM/xCx8/0 料理の腕前で勝負してるつもりならさっさとWitBucketとやらを作れよ
199デフォルトの名無しさん (ブーイモ MM8b-dt5O)
2024/12/12(木) 16:33:59.70ID:d0NKDmelM >>197
ChatGPTで3行に縮めて投稿しろ
ChatGPTで3行に縮めて投稿しろ
200デフォルトの名無しさん (ワッチョイ 5f8e-QLAB)
2024/12/12(木) 18:58:50.56ID:yWChnlb80201デフォルトの名無しさん (ワッチョイ 7f10-f5HH)
2024/12/14(土) 10:34:37.92ID:mefXJp+A0 Gitの使い方というかSourcetreeの使い方というか質問があります
とある1コミットに複数ファイルがあって複数個所に変更がまたがってて
別ブランチにそのコミットの1ファイルの1部分だけをマージしたいです
その場合はチェリーピックは使えないので1部分のHunkをステージングに移動して
コミットするという方法が素直なマージ方法でしょうか?
とある1コミットに複数ファイルがあって複数個所に変更がまたがってて
別ブランチにそのコミットの1ファイルの1部分だけをマージしたいです
その場合はチェリーピックは使えないので1部分のHunkをステージングに移動して
コミットするという方法が素直なマージ方法でしょうか?
202デフォルトの名無しさん (ワッチョイ 7fbb-rdwU)
2024/12/14(土) 11:43:48.24ID:kPFQFgKW0 >>201
採用元が push 後とか他人のコードだとそんな感じかな
私だと cherry-pick してから巻き戻し修正するけど、複数パッチなら rebase -i で edit を使う
採用元がローカルにしかない push 前なら元のコミットを分割しておくのが良い方法だろう
将来的に再利用するときにも別々に利用する可能性があるものは、今のうちに別パッチに分割しておくのが賢いと思う
採用元が push 後とか他人のコードだとそんな感じかな
私だと cherry-pick してから巻き戻し修正するけど、複数パッチなら rebase -i で edit を使う
採用元がローカルにしかない push 前なら元のコミットを分割しておくのが良い方法だろう
将来的に再利用するときにも別々に利用する可能性があるものは、今のうちに別パッチに分割しておくのが賢いと思う
203デフォルトの名無しさん (ワッチョイ 7f10-f5HH)
2024/12/14(土) 11:54:03.74ID:mefXJp+A0 >>202
回答ありがとうございます
まさに他人がプッシュしたものを派生ブランチにも適用させようとしています
その中に特定ブランチの対応分も混ぜてしまっていたため
どう対応すべきか質問した次第です
コミット分割は癖にしておきたいと思います
回答ありがとうございます
まさに他人がプッシュしたものを派生ブランチにも適用させようとしています
その中に特定ブランチの対応分も混ぜてしまっていたため
どう対応すべきか質問した次第です
コミット分割は癖にしておきたいと思います
204デフォルトの名無しさん (ワッチョイ 87f0-gWKG)
2024/12/14(土) 14:22:21.70ID:jFwYZGRF0 ろくに開発経験ないやつがgitの仕様はグダグダとか言ってるのまじで面白いな
205デフォルトの名無しさん (ワッチョイ dffd-thkz)
2024/12/14(土) 19:07:11.21ID:cLbKsfdN0 >>93の質問以降まともだったのは96、97、99、101、107くらいしかいなかった
7bは置いとくとしても100レスも使ってこの体たらくとは情けない
7bは置いとくとしても100レスも使ってこの体たらくとは情けない
206デフォルトの名無しさん (ワッチョイ 4a97-66FK)
2024/12/15(日) 22:01:21.97ID:D9xraIFr0 >>178
diffでわざわざ比較するというのは時間の無駄
diffでわざわざ比較するというのは時間の無駄
207デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/15(日) 22:49:45.11ID:9FCwcKO70208デフォルトの名無しさん (ワッチョイ fb50-Nme3)
2024/12/15(日) 23:49:43.28ID:UElXL8/K0 >>203
コミットの際にcherry-pickまで考慮するなんて不毛だからやめておいた方がいいよ
そんなことをしなければならないほど強くcherry-pickに依存したワークフローになっているならその方がよほど問題
コミットの際にcherry-pickまで考慮するなんて不毛だからやめておいた方がいいよ
そんなことをしなければならないほど強くcherry-pickに依存したワークフローになっているならその方がよほど問題
209デフォルトの名無しさん (ワッチョイ eac0-Hfw5)
2024/12/16(月) 00:02:22.98ID:I9YsDANU0 不毛っていうのも程度問題でしょ
経験の浅いメンバーだと一つのコミットに複数のバグトラッカーのissueを混ぜこぜにすることがある
hot−fixブランチが必ずしも計画的に作られるとは限らないからcherry-pickで取り出したいことは時々起こる
経験の浅いメンバーだと一つのコミットに複数のバグトラッカーのissueを混ぜこぜにすることがある
hot−fixブランチが必ずしも計画的に作られるとは限らないからcherry-pickで取り出したいことは時々起こる
210デフォルトの名無しさん (ワッチョイ 8fd6-NWjc)
2024/12/16(月) 12:28:18.00ID:UeL/Eu4T0 cherry-pickに依存するのは不毛だと思うが、リモートへのコミットは機能単位・イシュー単位に整理した方がやり取り楽じゃない?
211デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/16(月) 12:38:05.37ID:ZibPg38H0 同じプロジェクト内に並行で製品(バージョン)を維持しているような場合には cherry-pick は多用するよ
特にブランチ切るまでもない単純な修正の場合とか
要はコミット1個だけのブランチの rebase/merge の簡略形なので不毛とか言うやつは単に経験が足りないだけ
特にブランチ切るまでもない単純な修正の場合とか
要はコミット1個だけのブランチの rebase/merge の簡略形なので不毛とか言うやつは単に経験が足りないだけ
212デフォルトの名無しさん (ワッチョイ 8fd6-NWjc)
2024/12/16(月) 12:42:21.10ID:UeL/Eu4T0 せっかくbranch切ったのに、merge代わりにcherry-pickしたら後でトレース面倒にならん?
213デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/16(月) 12:53:45.68ID:ZibPg38H0214デフォルトの名無しさん (ワッチョイ 4a6b-O1Z7)
2024/12/16(月) 13:11:10.31ID:56LO+jCc0 今度はチェリーピックでやり合いか
215デフォルトの名無しさん (ワッチョイ eaa0-Hfw5)
2024/12/16(月) 13:17:14.68ID:I9YsDANU0 将来どのコミットが急遽hotfixに採用されるか分からないからといってあらゆる事前の修正コミットをもしものためだけにブランチ分けするのもガチガチで作業効率が落ちる
程度問題と言った通り俺はcherry-pickを多用する気もないしフローとして禁止扱いも効率が悪いと思う
hotfixが必要ない現場なら必要になる機会は少ないだろうな
程度問題と言った通り俺はcherry-pickを多用する気もないしフローとして禁止扱いも効率が悪いと思う
hotfixが必要ない現場なら必要になる機会は少ないだろうな
216デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/16(月) 13:41:54.88ID:ZibPg38H0 cherry-pick には複数の使いみちがあって別に全部の使い方しなければいけない訳ではないが色々知ってると便利
・最新版から過去リリースへのバックポート
・セキュリティなどの hotfix の適用
・テスト用の addhoc 修正版(正式なマージは今ではない
・ゴミ箱ブランチ等から拾ってコードの再利用(コードだけ拾ってコミットは再利用しない
など多数
「1つのコミットには1つの修正」という大原則を守ってさえいれば、cherry-pick に限らずあらゆる再利用や利用中止がやり易くなるといだけ
・最新版から過去リリースへのバックポート
・セキュリティなどの hotfix の適用
・テスト用の addhoc 修正版(正式なマージは今ではない
・ゴミ箱ブランチ等から拾ってコードの再利用(コードだけ拾ってコミットは再利用しない
など多数
「1つのコミットには1つの修正」という大原則を守ってさえいれば、cherry-pick に限らずあらゆる再利用や利用中止がやり易くなるといだけ
217デフォルトの名無しさん (ワッチョイ 662c-1w4P)
2024/12/16(月) 15:08:47.67ID:/03Ox5VG0 cherry-pickって言葉のニュアンスの通り
218デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/16(月) 16:03:21.23ID:ZibPg38H0 git の rebase と cherry-pick は同じ概念なので rebase とか使わない派閥のやつは cherry-pick も使わないだろうなあ
cherry-pick はブランチ切って rebase してブランチを消すを一発でやってくれるコマンド
正確には rebase の方が cherry-pick を繰り返した後にブランチ位置をそっちに切り替える機能というべきだけど
要はブランチを使うか使わないかの違い
cherry-pick はブランチ切って rebase してブランチを消すを一発でやってくれるコマンド
正確には rebase の方が cherry-pick を繰り返した後にブランチ位置をそっちに切り替える機能というべきだけど
要はブランチを使うか使わないかの違い
219デフォルトの名無しさん (ワッチョイ be10-aNNs)
2024/12/16(月) 22:52:09.15ID:m/ncuAnJ0 すみません、チェリーピックに関して質問した者ですが
追加で質問よろしいでしょうか?
本流ブランチAから子ブランチBが作成されて
子ブランチBから一時的に孫ブランチCが作成されました
ブランチCで修正した一部コミットだけブランチBにチェリーピックしてマージして
他のコミットは無駄なのでブランチCがもはや不要となりました
孫ブランチCを削除してもブランチBにチェリーピックした内容は
削除される(元に戻される)ことはない認識で合っているでしょうか?
追加で質問よろしいでしょうか?
本流ブランチAから子ブランチBが作成されて
子ブランチBから一時的に孫ブランチCが作成されました
ブランチCで修正した一部コミットだけブランチBにチェリーピックしてマージして
他のコミットは無駄なのでブランチCがもはや不要となりました
孫ブランチCを削除してもブランチBにチェリーピックした内容は
削除される(元に戻される)ことはない認識で合っているでしょうか?
220デフォルトの名無しさん (ワッチョイ be10-aNNs)
2024/12/16(月) 22:58:16.88ID:m/ncuAnJ0 コミットの独立性が保たれているためチェリーピック元のブランチを
削除しても問題ないと認識しています
削除しても問題ないと認識しています
221デフォルトの名無しさん (ワッチョイ ea5b-Hfw5)
2024/12/17(火) 00:55:20.81ID:Np7JyJBV0 >>219
削除されないから大丈夫
まず第一に、残ったブランチやタグのいずれかから到達可能なコミットは生存し続ける
第二に、cherry-pickによって作られたコミットはマージと違って元のコミットとは別物の複製体になるので原本がどうなろうと知ったこっちゃない
削除されないから大丈夫
まず第一に、残ったブランチやタグのいずれかから到達可能なコミットは生存し続ける
第二に、cherry-pickによって作られたコミットはマージと違って元のコミットとは別物の複製体になるので原本がどうなろうと知ったこっちゃない
222デフォルトの名無しさん (ワッチョイ be10-aNNs)
2024/12/17(火) 07:53:20.59ID:n6Rf+SXX0 >>221
ありがとうございます
Sourcetree独自の機能か分かりませんが
チェリーピック元のコミットIDをコメントに付与しているため
もう辿ることもないコミットならコメントから余計な情報は
省いた方がよさそうですね
ありがとうございます
Sourcetree独自の機能か分かりませんが
チェリーピック元のコミットIDをコメントに付与しているため
もう辿ることもないコミットならコメントから余計な情報は
省いた方がよさそうですね
223デフォルトの名無しさん (ワッチョイ ea5b-Hfw5)
2024/12/17(火) 09:46:53.70ID:Np7JyJBV0224デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/17(火) 12:10:27.20ID:Mk8ZrsM80 残ってても邪魔にはならないだろうけど cherry-pick 元がすぐ消える予定なら、付けないのが普通ですね
225デフォルトの名無しさん (ワッチョイ 8fb9-/rN0)
2024/12/17(火) 13:07:22.36ID:bMW/7Xg20 チェリーピックって童貞狩りじゃねえのか?
226デフォルトの名無しさん (ブーイモ MM8a-1w4P)
2024/12/17(火) 13:48:26.81ID:8t1OBzHLM つまんな
227デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/17(火) 14:02:58.22ID:Mk8ZrsM80 cherry pick
1. 都合の良いものだけを (恣意的に) 選び出す
2. 慎重に必要なものを選別する
2. 好きなもののみを摘み食いする
4. バーゲン品から掘り出しものを漁る
5. 木から熟したサクランボだけをもぎ取る
5が本来の使われ方、1の意味で使われることが多い
1. 都合の良いものだけを (恣意的に) 選び出す
2. 慎重に必要なものを選別する
2. 好きなもののみを摘み食いする
4. バーゲン品から掘り出しものを漁る
5. 木から熟したサクランボだけをもぎ取る
5が本来の使われ方、1の意味で使われることが多い
228デフォルトの名無しさん (ワッチョイ 8f2d-iztn)
2024/12/17(火) 22:22:58.48ID:uhdhcEFf0 コミットする内容を複数に分けたい場合、必要な部分だけステージングすると読んだのですが、
この機能を使っても作業フォルダの内容は変化しないので、
一緒にコミットするべきだったところを入れ忘れてしまい、
プルしても正しく動かない状態のものを上げてしまっていたということがあります
この一発勝負みたいなステージングの機能をみんな使いこなしているのでしょうか?
この機能を使っても作業フォルダの内容は変化しないので、
一緒にコミットするべきだったところを入れ忘れてしまい、
プルしても正しく動かない状態のものを上げてしまっていたということがあります
この一発勝負みたいなステージングの機能をみんな使いこなしているのでしょうか?
229デフォルトの名無しさん (ワッチョイ ea1e-Hfw5)
2024/12/17(火) 23:11:14.06ID:Np7JyJBV0 >>228
一発勝負っていう感覚はおかしいでしょう
一度ステージングした後やコミットした後でプッシュするまでもいくらでも再確認とやり直しのチャンスがある
危うい操作をしたのに十分に確認していない内容をプッシュしてしまう習慣のほうがどちらかというと諸悪の根源だと思う
SVNだってローカルの変更を部分的にコミットしようと思えば同じようなリスクがあるので、ステージングという考え方自体のリスクではない
分割してコミットはビルドの通らないコミットを作ってしまうリスクは増すから不慣れで自信のないオペレーションになったときはstashやswitchを活用して疎通確認しておくとか、要らん変更と意図的に残した変更と漏れた変更を混同しないようにassume-unchangedやskip-worktreeなんかを活用してもいい
一発勝負っていう感覚はおかしいでしょう
一度ステージングした後やコミットした後でプッシュするまでもいくらでも再確認とやり直しのチャンスがある
危うい操作をしたのに十分に確認していない内容をプッシュしてしまう習慣のほうがどちらかというと諸悪の根源だと思う
SVNだってローカルの変更を部分的にコミットしようと思えば同じようなリスクがあるので、ステージングという考え方自体のリスクではない
分割してコミットはビルドの通らないコミットを作ってしまうリスクは増すから不慣れで自信のないオペレーションになったときはstashやswitchを活用して疎通確認しておくとか、要らん変更と意図的に残した変更と漏れた変更を混同しないようにassume-unchangedやskip-worktreeなんかを活用してもいい
230デフォルトの名無しさん (ワッチョイ 231b-3k2I)
2024/12/17(火) 23:14:08.08ID:QjcMYSDT0 >>228
複数のコミットで一つの修正になるならrebase してまとめたら?
複数のコミットで一つの修正になるならrebase してまとめたら?
231デフォルトの名無しさん (ワッチョイ ea1e-Hfw5)
2024/12/17(火) 23:25:32.69ID:Np7JyJBV0232デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/17(火) 23:33:17.82ID:Mk8ZrsM80 >>229
git status とかを頻繁に打つくせをつけた方が良いぞ、それでコミットし忘れ防げる(ついでによく使うオプションは alias にするとさらに良いぞ)
あと正しく動かないコミットに分割するのは「必要な部分だけ」とは言わないぞ
git status とかを頻繁に打つくせをつけた方が良いぞ、それでコミットし忘れ防げる(ついでによく使うオプションは alias にするとさらに良いぞ)
あと正しく動かないコミットに分割するのは「必要な部分だけ」とは言わないぞ
233デフォルトの名無しさん (ワッチョイ 3ebb-f1VN)
2024/12/17(火) 23:34:08.72ID:Mk8ZrsM80234デフォルトの名無しさん (ワッチョイ 0b49-7GPw)
2024/12/18(水) 09:25:32.99ID:IhQ3pKwU0 Git v2.48.0-rc0
235デフォルトの名無しさん (ブーイモ MMd6-1w4P)
2024/12/18(水) 11:41:14.09ID:pGa0ZLUBM236デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/19(木) 21:05:36.88ID:KU+lpcLj0 >>218
言うほど同じか?
rebaseを好む派閥がrebase使う最大のモチベーションはログの直線化
そういう神経質な連中がcherry-pickによる重複コミットの大量発生を許容するとは思えないのだが
言うほど同じか?
rebaseを好む派閥がrebase使う最大のモチベーションはログの直線化
そういう神経質な連中がcherry-pickによる重複コミットの大量発生を許容するとは思えないのだが
237デフォルトの名無しさん (ワッチョイ 2303-AYc0)
2024/12/19(木) 21:38:31.24ID:QSrQ7dPA0 やってることの内容は似てるけど用途が全然違うからなあ
かのPro Gitもリベースの章はベタ褒めでahhとかthe bliss of rebasingなどと顔もやや恍惚気味の御様子だが
チェリーピックとなると淡々とした説明で真顔だよ
かのPro Gitもリベースの章はベタ褒めでahhとかthe bliss of rebasingなどと顔もやや恍惚気味の御様子だが
チェリーピックとなると淡々とした説明で真顔だよ
238デフォルトの名無しさん (ワッチョイ 3ebb-IjhS)
2024/12/19(木) 23:45:56.41ID:b251oEg00 >>236
目的じゃなくて動き(実装)の話
rebase で cherry-pick できるし
cherry-pick で rebase できる
どっちもコミットの再利用(付け先の変更)を目的とするコマンド
あと直線化にしか rebase 使わないと思ってるうちは git の実力が認識できてない
目的じゃなくて動き(実装)の話
rebase で cherry-pick できるし
cherry-pick で rebase できる
どっちもコミットの再利用(付け先の変更)を目的とするコマンド
あと直線化にしか rebase 使わないと思ってるうちは git の実力が認識できてない
239デフォルトの名無しさん (ワッチョイ 7379-SnOJ)
2024/12/20(金) 01:21:38.28ID:+bubGwJY0 リポジトリを分けるか、モノでやるか
統合度合いが微妙な場合にものすごく悩む
統合度合いが微妙な場合にものすごく悩む
240デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/20(金) 09:56:06.03ID:PANCPXf30 そんなところで悩んでいる段階なら分けなくていいよ。最初から細かく分けようとするのは基本的に時間の無駄。
成功している組織はだいたいクソデカリポジトリなのも事実。それについては戦略としてモノレポが優れているというよりは結果的にそうなっただけだろうけど。
成功している組織はだいたいクソデカリポジトリなのも事実。それについては戦略としてモノレポが優れているというよりは結果的にそうなっただけだろうけど。
241デフォルトの名無しさん (ワッチョイ 3ebb-IjhS)
2024/12/20(金) 11:20:48.46ID:Vt9p1L/d0 >>239
一般論にはメンバーで分けるとうまくいく事が多い
将来的に人が増えたり入れ替わっても同じ1つのグループで開発を続ける予定なら一緒にする、
対応するグループが分割されて片方だけに関わる人が出てきそう、もしくは不明なら別にしておく
一般論にはメンバーで分けるとうまくいく事が多い
将来的に人が増えたり入れ替わっても同じ1つのグループで開発を続ける予定なら一緒にする、
対応するグループが分割されて片方だけに関わる人が出てきそう、もしくは不明なら別にしておく
242デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/20(金) 12:26:56.43ID:PANCPXf30 「うまくいく」の定義によるかなあ
分かれている方が良いという前提のもとで失敗の可能性を下げるという意味では>>241に同意するが、
個人的には不適切な分割による失敗は幾度も見たことがあるが、逆に一緒であることの直接的な実害にはあまり遭遇した経験がない
巨大なモノリスへと誘導されやすいみたいなアーキテクチャに対する影響は否定しないが、そのへんは日常的なコーディング作業というより
もっと大きな視点で恣意的に判断すべきことかと思う
そして、その判断を今すべきか、そもそも可能なのかは冷静に考えた方がいい
分かれている方が良いという前提のもとで失敗の可能性を下げるという意味では>>241に同意するが、
個人的には不適切な分割による失敗は幾度も見たことがあるが、逆に一緒であることの直接的な実害にはあまり遭遇した経験がない
巨大なモノリスへと誘導されやすいみたいなアーキテクチャに対する影響は否定しないが、そのへんは日常的なコーディング作業というより
もっと大きな視点で恣意的に判断すべきことかと思う
そして、その判断を今すべきか、そもそも可能なのかは冷静に考えた方がいい
243デフォルトの名無しさん (ワッチョイ 3ebb-IjhS)
2024/12/20(金) 12:53:34.97ID:Vt9p1L/d0 >>242
・分かれてるものを一緒にするのはとても簡単だが、1つのものを分割するのはかなり手間がかかる
・単純なものどうしを組合わせるのは単純作業だが、複雑なものを組合わせるのは不可能な場合がある
という一般原則による、悩んだ時は原則に従うのがたいてい正しい
・分かれてるものを一緒にするのはとても簡単だが、1つのものを分割するのはかなり手間がかかる
・単純なものどうしを組合わせるのは単純作業だが、複雑なものを組合わせるのは不可能な場合がある
という一般原則による、悩んだ時は原則に従うのがたいてい正しい
244デフォルトの名無しさん (ワッチョイ 8fe6-Nme3)
2024/12/21(土) 08:12:17.24ID:/IqCjkFy0245デフォルトの名無しさん (ワッチョイ 3ebb-IjhS)
2024/12/21(土) 10:33:21.60ID:Hifil6s+0246デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/21(土) 11:20:34.07ID:w/Sbt61U0 >>245
誤解させたようで申し訳ないが、単なるリポジトリの統合じゃなくてコードの共通化の話な
一般論として、集中管理は密結合を、分散管理は重複を招く
共通部分を介して密結合しているモジュール同士を切り離すには最悪共通部分をコピペすればよい
一方、分散管理され各所で個別化された重複を後から共通化する作業には、それほど自明な移行パスは存在しない
コードスタイルや設計の問題といえばそれだけだが、それはモノレポだって同じことだ
誤解させたようで申し訳ないが、単なるリポジトリの統合じゃなくてコードの共通化の話な
一般論として、集中管理は密結合を、分散管理は重複を招く
共通部分を介して密結合しているモジュール同士を切り離すには最悪共通部分をコピペすればよい
一方、分散管理され各所で個別化された重複を後から共通化する作業には、それほど自明な移行パスは存在しない
コードスタイルや設計の問題といえばそれだけだが、それはモノレポだって同じことだ
247デフォルトの名無しさん (ワッチョイ 3ebb-IjhS)
2024/12/21(土) 12:43:49.34ID:Hifil6s+0 >>246
一般論だけどコードの共通化は難しくない
というのは必須ではないし時間の制限がないから
バラバラのまま結合して共通化できるところから時間をかけてゆっくり丁寧に共通部品に切り替えていけば良い
linux kernel とか部品の共通化に3年とか5年とかかけてゆっくりやってることも多い、共通化しないこともある
(手間だけの問題と技術的難易度の問題という本質的な部分の優先度を分けて考えると理解できると思うよ)
一般論だけどコードの共通化は難しくない
というのは必須ではないし時間の制限がないから
バラバラのまま結合して共通化できるところから時間をかけてゆっくり丁寧に共通部品に切り替えていけば良い
linux kernel とか部品の共通化に3年とか5年とかかけてゆっくりやってることも多い、共通化しないこともある
(手間だけの問題と技術的難易度の問題という本質的な部分の優先度を分けて考えると理解できると思うよ)
248デフォルトの名無しさん (ワッチョイ 2ef8-Nme3)
2024/12/21(土) 14:07:45.37ID:w/Sbt61U0 うーん、難しいと感じるかどうかはあなたの感性の問題だから、比較対象と根拠を示してね
249デフォルトの名無しさん (ワッチョイ 3ebb-IjhS)
2024/12/21(土) 17:31:11.06ID:Hifil6s+0 >>248
感性の議論はしてないよ、お前がそう思ってるだけ
技術的にすぐに必要なものもと、条件によって無くてもすむし後回しにもできるものとを同次元で語るなって指摘なだけ
(後回しにして良いなら簡単、やらなくて済むのが一番簡単、という当たり前の指摘、感性の余地とかない)
感性の議論はしてないよ、お前がそう思ってるだけ
技術的にすぐに必要なものもと、条件によって無くてもすむし後回しにもできるものとを同次元で語るなって指摘なだけ
(後回しにして良いなら簡単、やらなくて済むのが一番簡単、という当たり前の指摘、感性の余地とかない)
250デフォルトの名無しさん (ワッチョイ 66bf-1w4P)
2024/12/21(土) 18:23:30.51ID:Bjr5M2i00251デフォルトの名無しさん (ワッチョイ 7d96-Ni2M)
2024/12/22(日) 11:25:46.33ID:KQFeVRO70 >>229-235
みなさんご意見どうもです
SVNを使っていた頃や、ステージングを使ってみる前は、
変更ファイルをいったんどこかに逃がして、作業フォルダを綺麗な状態に戻して、
今回コミットしたいところだけくっつけ直して、動作確認できたらそれらをすべてコミットして、
逃がしておいたものを元の場所に戻して作業再開、みたいな操作をしてました
結局プッシュする前にステージングし忘れなどを確認する必要があるとなると、
コミット時に確実に確認できる上記の方法もそんなに悪くはないってことですかね
みなさんご意見どうもです
SVNを使っていた頃や、ステージングを使ってみる前は、
変更ファイルをいったんどこかに逃がして、作業フォルダを綺麗な状態に戻して、
今回コミットしたいところだけくっつけ直して、動作確認できたらそれらをすべてコミットして、
逃がしておいたものを元の場所に戻して作業再開、みたいな操作をしてました
結局プッシュする前にステージングし忘れなどを確認する必要があるとなると、
コミット時に確実に確認できる上記の方法もそんなに悪くはないってことですかね
252デフォルトの名無しさん (ワッチョイ 7fbb-KOZO)
2024/12/22(日) 14:58:34.96ID:1vLY5nWA0 >>251
それで良いんじゃないかな?
私だと2つに分けたのを両方先にコミットしておいて、両方別々にチェックアウトしてテストを走らせるけど
問題があれば巻き戻してやり直し
問題がなけば push
push 前ならローカルでいくらでもやり直しが効くのが git の利点なので個人的に分かりやすいやり方でやれば良い
慣れたらテストの自動化とか検討すると捗る
それで良いんじゃないかな?
私だと2つに分けたのを両方先にコミットしておいて、両方別々にチェックアウトしてテストを走らせるけど
問題があれば巻き戻してやり直し
問題がなけば push
push 前ならローカルでいくらでもやり直しが効くのが git の利点なので個人的に分かりやすいやり方でやれば良い
慣れたらテストの自動化とか検討すると捗る
253デフォルトの名無しさん (ワッチョイ b3b2-bv9v)
2025/01/01(水) 05:03:32.91ID:RPjVgyjf0 Git v2.48.0-rc1
254デフォルトの名無しさん (ワッチョイ 6181-QUM6)
2025/01/07(火) 09:45:36.95ID:DbV6+6Xe0 Git v2.48.0-rc2
255デフォルトの名無しさん (ワッチョイ 61d0-QUM6)
2025/01/11(土) 11:00:17.95ID:tzzUwbv+0 Git v2.48.0
256デフォルトの名無しさん (ワッチョイ 8610-Z6+G)
2025/01/12(日) 11:20:09.87ID:L3maUoeD0 サル先生でGitの学習を始めました
そこで質問です!
下記コマンドの中に dewfr という記述が存在するのですが、これは何を意味するのでしょうか?
> git config --global core.editor "\"[使用するエディタのパス]\""dewfr
参照:https://backlog.com/ja/git-tutorial/intro/06/
そこで質問です!
下記コマンドの中に dewfr という記述が存在するのですが、これは何を意味するのでしょうか?
> git config --global core.editor "\"[使用するエディタのパス]\""dewfr
参照:https://backlog.com/ja/git-tutorial/intro/06/
257デフォルトの名無しさん (ワッチョイ a999-Vnhz)
2025/01/12(日) 12:11:34.88ID:hjmuezNa0 先生が個人的に使っているエディタのファイル名なのでは?
直前がパス区切り文字で終わってるし
直前がパス区切り文字で終わってるし
258デフォルトの名無しさん (ワッチョイ 8610-Z6+G)
2025/01/12(日) 12:24:19.20ID:L3maUoeD0 あ〜なるほど!謎が解けました!
ありがとうございます!
ありがとうございます!
259デフォルトの名無しさん (ワッチョイ 6579-WFUU)
2025/01/12(日) 17:53:29.03ID:6ooBodrm0 Git用GUIがなまじっか日本語化されていると、
求めているコマンドを探すときに面倒くさい
求めているコマンドを探すときに面倒くさい
260デフォルトの名無しさん (スッップ Sdea-6XWm)
2025/01/12(日) 18:29:09.15ID:ORJFqn4Yd >>259
わかる
わかる
261デフォルトの名無しさん (スッップ Sdea-6XWm)
2025/01/12(日) 18:29:16.18ID:ORJFqn4Yd >>259
わかる
わかる
レスを投稿する
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【雑談】暇人集会所part18
