Git 20

2024/11/16(土) 16:51:08.62ID:ahS7aS5o0
>>69
濃淡といっても濃いやつかすごく濃いやつかの違い
薄いやつは存在しない

もちろん自分の思想にあってれば空気みたいに感じて薄いと思うかもだが、他の人にとっては猛毒という個人差
2024/11/16(土) 17:05:38.74ID:l/37O0wv0
>>70
うん、だから >>63 はGitはかなり濃い目の部類って言ってるんだよ
2024/11/17(日) 11:09:45.68ID:1w/WFdpP0
いやわかるんだけどさ、適材適所にならずにgitが一番、git使うのが正しい、gitも使えないような奴ぁ、みたいにいらぬ波風を仕事で起こす迷惑な原理主義者が実際多いのよ
2024/11/17(日) 11:57:45.29ID:XBj9RB2E0
たかがソースコードのバージョン管理に適材適所とか多様性とか要らん
くだらん自転車置き場の議論で時間を無駄にするだけだから問答無用でgit一択でいい
ゲーム開発で巨大なアセットを管理する必要があるように管理対象の性質によって他を選ぶのは仕方ないが、
些細なワークフローの問題で他の選択肢を検討するべきではない
2024/11/17(日) 12:30:40.26ID:4bPBMVA80
>>73
git 使う理由を考えろ
お前みたいな変なのがいるから、git でロックしたいだの、事前にコミット・メッセージ入れたいだの的外れなこと言い出すやつが湧いくことになる
git 使うんなら git のワークフローになるし、他のワークフローにしたいのなら他の VCS 使うべき
(全部が一緒に見えるアホはどれ使っても駄目だが)
2024/11/17(日) 14:21:11.61ID:Mcc4e1u50
Gitのワークフローなんてものは無い
個人の小規模開発では、手元のフォルダ上でデフォルトブランチにコミットするだけの使い方も多い
GitHub使ったクローズドな組織での開発では単一のリモードリポジトリで作業する中央集権型のワークフローが普通だ
一方で、OSSではフォークして互いにpullし合うのが一般的だろう
素のGitにはレビューやコメントもなければCI/CDもなく、マージやデプロイを承認するような機能もない
それらはあくまでGitと直行するものとしてGitHubによって自然な形で実装されたものだ
GitはLinuxカーネル開発のワークフローを前提として設計されたものではあるがGitそれ自体はワークフロー中立であり、
多様な使い方を受容することがGitがこれだけ広く普及した大きな理由だ
2024/11/17(日) 15:03:16.35ID:GO7/5tRJ0
svnはバイナリも差分で保存してくれることは覚えといて損はないぜ
脳死でgit一択なんてこたーない
2024/11/17(日) 15:08:32.39ID:Mcc4e1u50
>>76
よく読んでくれ
俺は管理対象の性質に応じて選択することは否定していない
2024/11/17(日) 18:01:53.15ID:hkK5KPG+0
>>75
もっと大きな部分を考えろ

分散して手元で開発
複数の人が同じファイルを並行して作業
ロックを取らずにマージ時に調整
ステージングでパッチを読みやすく整形
リベースでチェインを整形
個別ロックのかわりにブランチを使う

みたいなのも全部ワークフローだ
git 使ってると当たり前過ぎて空気になってるだけ、中央集権とかだけがワークフローじゃない
2024/11/17(日) 18:22:05.70ID:hkK5KPG+0
Q. バッティングするといやなのでロック取りたいんだが
A. ブランチ切れ、自分専用ブランチならバッティングしない

Q. 作業開始前に今からする作業の説明保存したいんだが
A. ブランチ切ってブランチの説明を追加しろ

だいたい git のワークフローに適した代替のやり方がある
個人ごとで保管すべきものが何で、全員で共有すべきものは何か? という根幹の考え方が VCS ごとに違っている
2024/11/17(日) 18:43:36.44ID:hbhRcMl00
だからそういう話だろ?
なんか勘違いをしているようだが、質問者はあくまでクライアントの話をしている
自分の手元で自分以外誰も見ないし触らないブランチでやる分にはロックしようと自由だ
2024/11/17(日) 19:09:27.90ID:hkK5KPG+0
>>80
ロックは自由だ
LとR間違ってないか? 何のため誰のためのロックの話?
2024/11/17(日) 19:28:00.48ID:hbhRcMl00
だから>>57の通り、メッセージを先に書きたいだけでしょ
そもそもロックしたいとは言っていないが、実装するなら少なくとも手元のブランチに対する排他制御は必要だろうね
2024/11/17(日) 19:37:35.19ID:hbhRcMl00
いやブランチじゃなくてリポジトリに対しての排他制御が必要か
コミット前だからどうせブランチは切り替えられないもんね
補足すると、自分で重複して同じクライアントを起動することによる競合を防ぐことを目的とした、同一PC上の同一のクライアント自身に対する排他制御な
2024/11/17(日) 19:51:48.68ID:odgQ051H0
ソースコードの履歴管理上の排他制御とリポジトリ内部の整合性を保証するための排他制御がごっちゃになってない?
2024/11/17(日) 20:35:32.55ID:Jr+9HLroM
なんでGitはおかしな原理主義者出てきやすいのだろう?
そりゃGitの〜を使えばできます、は事実ですだろう
でも無理してなんでもかんでもGitでやる必要ないよなあ

どうも原理主義者くんはこの用途はこっちのバージョン管理ツールが合ってる、と言われるとGitにはその機能がない、と責められているように聞こえるらしい
2024/11/17(日) 21:12:22.55ID:9BT2IQwv0
git 以前にプログラミング向いてないやつがいるな
「ローカルでエディットしてるファイルを排他したいだけなら VCS じゃなくてエディタのロックの仕事」
って言われたら顔真っ赤にして反論するんだろうか?
2024/11/17(日) 22:38:40.72ID:G7eUir2J0
git一択と言ってる奴いて草
これが原理主義か怖いねえ😱
88デフォルトの名無しさん (ワッチョイ 42d2-YlA6)
垢版 |
2024/11/18(月) 23:21:35.04ID:cZsx9Sbk0
日本人はやたら正解があることにしたがるが、外国人は正解が複数存在するという考えだから発展する。
2024/11/19(火) 07:05:59.68ID:8dOnv38L0
>>85
> なんでGitはおかしな原理主義者出てきやすいのだろう?
馬鹿がイキるのに丁度良い複雑さだから
まともな人はコードに忙しくツールなんて出来るだけ疎かにするのもあって
2024/11/19(火) 17:13:14.46ID:ADRNByYj0
ゴミ箱くんが帰ってきたのか?
2024/11/19(火) 19:37:11.73ID:dPz/0I6b0
>>90
思い出した。
専用のスレッド作ってもらっていて、2022/11/20だ。あれから2年か。
2024/11/25(月) 16:12:49.15ID:dXKNZcvG0
Git v2.47.1
93デフォルトの名無しさん (スッップ Sd70-V211)
垢版 |
2024/12/02(月) 01:10:56.87ID:rhvdeBiud
ファイルのパーミッションって保存されないの?
2024/12/02(月) 09:32:52.91ID:9ZwZTn5W0
>>93
実行権限以外は管理されない、git は保存ツールやバックアップツールでなくてコラボツールなので読み書き権限の管理は不要
Windows 使いとかで実行権限がうまくいかない場合は core.filemode=true 設定とか、--chmod とオプションとかを使うと良い
2024/12/03(火) 09:10:05.62ID:6hEsCuOf0
>>93
なんかバックアップと勘違いしてる人多いよね。
複数のPCで使う前提なのにパーミッション管理して何したいの?って思う。
96デフォルトの名無しさん (ワッチョイ 520d-X9QH)
垢版 |
2024/12/03(火) 12:44:13.34ID:yqFxGGnO0
>>93
されないね 600の設定ファイルとかでよく出るGitのあるあるなんだけど設計思想なんでしょうがない
他のVCSには出来るものもあるんでそっちを検討するか、毎回シェルスクリプトを叩くか、置けるならGitのフックを使うか
それこそドットファイルの管理なんかでマージとかはあんまり考慮しなく出来るなら、rsyncみたいな世代バックアップのツール使ってもいいかも
97デフォルトの名無しさん (ワッチョイ 3afd-06K+)
垢版 |
2024/12/03(火) 16:09:40.34ID:OOgT5lr40
perforceは出来るけどまああれだしな
後はそれこそRCSくらいしか思い浮かばないけど他になんかあったっけ
2024/12/03(火) 17:16:17.61ID:vojirIcj0
>>97
昔は、
新しいのは考え方や目的が違う、ファイル単位で読み書き権限の管理とかしたかったら今まで通りRCSとかCVS使い続けろ
って言うのが常識だったんだが
99デフォルトの名無しさん (スッップ Sd70-V211)
垢版 |
2024/12/03(火) 23:07:05.89ID:bTlhOqOWd
>>96 >>97
なるほどありがとう
そういうことならスクリプトでやるかな
100デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 01:07:05.86ID:PwliRaIW0
>>93
それはOSが管理しているのであって、ファイルそのものにそういう情報があるわけではない。
2024/12/05(木) 09:32:47.93ID:BvdDuGAN0
んなこと言ったらファイル名もいらないって話になっちゃうぞ。
ファイル名はinodeではなくデータだとかいうツッコミは無しな。それこそファイルシステムの実装の都合に過ぎないんだから。
Gitがパーミッションを扱わないのはLinuxカーネル開発のソース管理においてそれを必要としないからで、それ以上のこじつけは必要ない。
2024/12/05(木) 14:04:38.28ID:pujK8SSF0
xlsxとかxmlとしてバージョン管理できないの?しなくて良いのかもしれんが
2024/12/05(木) 15:31:26.26ID:jrS77sb50
>>101
git 出てくる以前から svn とか他の分散型でも実行権限しか管理しないのが常識だったから linux kernel のせいにするのは間違い
104デフォルトの名無しさん (ワイーワ2 FF7a-cbcK)
垢版 |
2024/12/05(木) 19:17:01.43ID:xwxGapJaF
>>101
プレーンテキストにこのファイルの説明書が付いているという発想はなかなか思いつかないぞw
105デフォルトの名無しさん (ブーイモ MMba-cbcK)
垢版 |
2024/12/05(木) 19:17:26.14ID:f+d6ZP2RM
>>101
プレーンテキストにこのファイルの説明書が付いているという発想はなかなか思いつかないぞw
106デフォルトの名無しさん (ブーイモ MMba-cbcK)
垢版 |
2024/12/05(木) 19:19:57.44ID:f+d6ZP2RM
Windowsだってファイルにアクセス制御情報があるのではない。

DOSがディスクオペレーションシステムだと知っていれば、ファイルを管理しているのはOSで、ファイルがOSに指示しているという発想が出てくるはずがない。
2024/12/05(木) 20:15:24.74ID:3xJzv6vp0
(この流れ早く終わらないかなあ)
2024/12/05(木) 20:36:07.99ID:+3mg3S2k0
必要な機能が欠けている、という事でしかないのでは。
実行権限だけ管理するというのもチグハグだし。

>>101
> それ以上のこじつけは必要ない。
完全に同意。
Git信者はGit一神教徒だから、Gitは間違ってない、間違わない、という前提で話をするからおかしくなる。
本当に間違ってないのであれば、更新する必要がない。ある意味CやHTMLがこれに近い。
Gitはツギハギだらけなんだから、パーミッションも今後は保存されるようになる、それの方が便利だから、というだけでよいのでは。
2024/12/05(木) 20:59:18.56ID:jrS77sb50
>>108
逆に git しか使ったことないやつがこういう戯言言うよな
最近のメジャーな VCS は実行権限しか管理しないのが普通なのに git 特有の仕様だと思い込んでる。git 以前からなのに
110デフォルトの名無しさん (スッップ Sd70-V211)
垢版 |
2024/12/05(木) 21:27:58.46ID:mSFWhExMd
みなさんケンカはやめよう
111デフォルトの名無しさん (ワッチョイ 52d7-NABF)
垢版 |
2024/12/05(木) 22:57:49.39ID:i4nmZT4E0
しかし教科書ではきれいにブランチだのフィックスだのと理想的なバージョン
管理が語られるが、会社でそれなりの規模になってくるとユーザーもいろいろだし
MSオフィスファイルや画像やとファイルの種別も多いのでほんとカオス化するなあ
もうやだ
2024/12/05(木) 23:18:07.05ID:SPvCQMZG0
>>106
だからその理屈だとgitが実行権限やファイル名を扱えることを説明できないでしょ
Linuxでは実行権限はメタデータだし、ファイル名はファイルではなくディレクトリのデータだ
Windowsではファイル名はアクセス権限と同等のメタデータの一つだね
113デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:37:35.74ID:PwliRaIW0
>>112
それはGitの話ではなく、Gitの使い方の話だぜ?
114デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:38:42.52ID:PwliRaIW0
>>112
ファイル名がパス名なのはUNIXの話でLinux独自の考えじゃない
115デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:39:42.78ID:PwliRaIW0
>>112
「メタデータ」の意味を取り違えていますけど?
116デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:42:05.86ID:PwliRaIW0
このスレッドはLinuxにおけるGitのスレッドじゃねえのにな
2024/12/06(金) 09:03:40.82ID:fS/z7DY00
>>112
不毛だと思うが続けるつもりならシンボリックリンクを突いた方がいいのでは?
Gitに整合性なんて無いし、
Linusには不要だったから付いてないが、一般人には必要だから質問されるって事にしかならないと思うが
2024/12/07(土) 15:04:30.30ID:4vDr1gw70
必要ならそのツールを使えばいいだけ。
GITではそんな機能はないと言うだけのこと。
119デフォルトの名無しさん (ワッチョイ df05-lhhN)
垢版 |
2024/12/08(日) 01:32:04.62ID:69SzSHkA0
随分ひどいが質の低いのが回答者側に回ってきてるのは悪いことなのかそれとも良いバロメータなのか
2024/12/08(日) 09:44:23.06ID:neBRud1Z0
昔から専門系の板は簡単そうに見える質問が来ると極端な知識マウントで自己重要感を補おうとする人が湧くよ
今風に言うと「完全に理解した」人々ってやつ
121デフォルトの名無しさん (ワッチョイ bf7d-EOzv)
垢版 |
2024/12/08(日) 13:11:46.15ID:1OHrCiTu0
事故重要感って言葉初めて聞いた
2024/12/08(日) 14:49:01.54ID:VtvkCH1/a
検索したら出てきたから使っている人いるんだね。
自尊心と何が違うのかは知らんし、どうでもいいけど
2024/12/09(月) 08:29:12.66ID:oqd+iiqc0
他人の作ったツールでマウント取ろうとしてる時点で頭おかしいけどな
せめて「ぼくのすごいそふとうぇあ」でやれよと
(この意味ではQiitaは正しい)

それはさておき、
・実行環境の全てを保存したい→パーミッションも全部保持して欲しい
・ソースコードの変遷が辿れればいい→パーミッションは全部755でいい
実行権限のあり/なしで動作が変わるシェルスクリプトなんて普通作らんし、
(Git以前かららしいが)実行権限だけ保存するのはどういう理由なん?
2024/12/09(月) 08:58:03.97ID:4HU/GnaT0
>>123
多分だけど古くからの unix 文化の影響
ファイル所有者の読み書きの権限は無制限、ファイル所有者の実行権限は個々のファイルごとによって違うという使い方をするのが普通だった
分散型だと他人とかグループとかを管理する必要はない(そもそも所有者とか所有グループを管理してないので他人と所有者の区別がない)
結論として「実行権限」だけが残った
2024/12/09(月) 09:59:14.74ID:oqd+iiqc0
>>124
つまりデフォの644→手動で755に変更の履歴を残すのが目的だったと
なら750とか400とか使って真面目に管理してる連中には機能が足りないのだろうね

機能が足りないのなら追加すればいいだけの話
そこでGitは間違ってない、今後ともパーミッションが保存される事はない、他VCSもそうだし、とか考えるのは頭おかしいと思うぜ
2024/12/09(月) 10:54:51.44ID:4HU/GnaT0
>>125
そもそもバックアップはないのでファイルの所有者とかグループとかを保存管理してない

・つまり644だろうと666だろうと600だろうと違いがない、後ろの2つの数字は意味がない
・開発において所有者自身の読み書きを禁止する意味はない

という考えなので所有者の実行ビットのみくらうしか汎用的なユースケースが存在しない

みんなが役に立つ具体的な使い方思いつけば拡張されるかもしれないが、それを思いついたやつは今までいないので現状があると理解しろ
2024/12/09(月) 12:05:14.30ID:oqd+iiqc0
>>126
> それを思いついたやつは今までいないので現状があると理解しろ
それはお前が知らないだけ
ソースコード管理者≠実行者なのは普通にある
例えばapache等のWebサーバーはnobodyやothers等の低権限で動かすのが一般的だ
この場合は少なくとも自分とapacheの権限は独立して記録出来てないと不便だろ

そもそも今回の質問が発生するのも、また、
> 600の設定ファイルとかでよく出るGitのあるあるなんだけど設計思想なんでしょうがない (>>96)
あるあるになるのもみんなその機能を使いたいからだろ

> そもそもバックアップはないのでファイルの所有者とかグループとかを保存管理してない
バックアップ程度で大半の人には十分だし、実際、デプロイしたらいきなり使える方が便利だろ
これを言うとデプロイツールでもないと言い出すんだろうが、
いちいちパーミッションを設定するだけのスクリプトを書いたり、手動で走らせるのは全くの無駄だろ(>>96-99参考)

Git信者にはGitは間違ってない!としか思えないのだろうが、
俺は単純にパーミッションも保存すればもっと便利になるからそうすればいいだけだと考える
まあこの点は平行線なのでもういいが
とにかく今できないのは事実としてもね

というかね、このスレのGit信者にはパヨクや意識高い系馬鹿と同じ類の勘違いを感じる
「Gitではパーミッションは保存されないのが正しいのだ!だからお前らもGitの正しい使い方を学べ!」ではなく、
大衆が望んでる機能だし、今からでもパーミッションを保存するように改善すれば終わる話だと思うのだけどな
2024/12/09(月) 12:09:10.99ID:4HU/GnaT0
>>127
もしそう思うなら具体的なユースケースをつけてコミットしろ

みんなの役に立つと思われば採用されるだろう
お前の役にしか立たんと思われればフォークして勝手にやれと言われるだけ

結果が全て、お前の妄想はいらない
2024/12/09(月) 12:21:54.83ID:4HU/GnaT0
git に限らずオープンソースというのは実際に手を動かして実物で利便性を証明したものの集大成
誰もやらないのは、やる価値がないから(コストに見合わないと思うから)
怠慢だと思うならお前がやって証明しろ
2024/12/09(月) 13:27:52.18ID:oqd+iiqc0
>>128-129
長期的には俺がフォークするかもだが、今はやらないよ
誰かがフォークしてパーミッションも保存するバージョンを作ったら、そっちを使うけど
(同じスタンスの奴も多いはず。そもそもGit以前のLinusも同様だし)

というかそこでムキになる理由が分からんのよ
お前がGitの基本設計をしたわけではないのだから、お前が間違った事にはならないし、
必要な機能なのだから、最終的には実装されるだろうし、なら付ければいいだけだろ

現実的には99のように自分でスクリプト等を『余分に』整備して我慢してる人が大半で、
いつか誰かがブチ切れて実装されるのを待ってるだけだろ
OSSなんてそんなに大した物でもないよ
(Gitに限らず、どれもこれも結構ポンコツ)

なお俺がGitにコミットする事はないぞ。やるなら必ずフォークする
理由はコマンドをほぼ全部リストラしたいから
2024/12/09(月) 13:55:32.71ID:4HU/GnaT0
「何で? 理由は?」ってお前が問うから
・unix の伝統的に必要性が低いから
・そのせいで今まで誰もやろとうとしなかったから
という今そうなってない理由を答えてやっただけ(理由を間違えてるなら指摘しろ

それがお前の需要を満たしてないと思うのならば、それは別問題、それはお前が変えろ
変えるのは自由、そっちは議論してない
2024/12/09(月) 14:08:27.99ID:oz7HR5eE0
バケツ君 再来?
2024/12/09(月) 14:14:55.04ID:oqd+iiqc0
>>131
お前らGit信者はOSSを勘違いしてて、

× OSSは自由に改変出来るので必要な機能は全て実装されている
○ OSSに実装されている機能は全て、
 誰かがブチ切れて「こんなのやり続けるくらいなら俺が実装してやる!」となった結果であって、
 当たり前だが不満は常に溜まった状態にあり、爆発ない限り何も改善しない
 (不満があってブチ切れたとき、プロプライエタリでは使用を止めることしかできないが、
 OSSなら自分で機能を付加するという選択肢もある、程度)

つまりGitに限らずOSSは完璧でもなく、足りない機能は普通にありまくりで、
Gitの場合はパーミッションがそうだ、というだけ
お前らがそこで、ムキー!!!ならお前が実装しろ!!!ってなるのも狂ってるよ
2024/12/09(月) 14:26:15.08ID:4HU/GnaT0
>>133
誰も git が完璧なんて言ってないが、今頃になって長文君論法は何故?

道具なので完璧である必要なんてそもそもない、自分が満足いく性能ならそれで良し
oss なんて情熱をもってそれを作る人がいるかとそれを使いたい人がいるかの論理積
存在しないのは作る人がいないか、使いたい人がいないかのどっちか

結果が全て、満足いかないなら、文句あったらお前が変えろの世界、それこそ気に要らなければ使わなくても良い
2024/12/09(月) 14:31:09.65ID:oz7HR5eE0
>>133
誰かが実装するまで不満は残ったままということだろ?
だから不満があるなら自分で実装すればいいと言われている
2024/12/09(月) 14:47:29.93ID:oqd+iiqc0
>>134
> 変えるのは自由、そっちは議論してない(131)
> 長文君論法は何故?(134)
それはお前がフォークしろ論法に逃げたから、俺はフォークしない理由を述べたまで

というか、元の話に戻すと、パーミッションが保存されない件について、

あるある質問者: 保存して欲しい、或いは保存されるのが当然だと思ってたのに…
俺: 機能の不備で、いつか追加されるだろ
Git信者: 保存されないのが仕様だし、正しい!文句あるならGitを使うな!
 或いはフォークしろ!フォークもしないのに文句言うな!

であって、これはもう平行線だからいいと既に127で言ったろ
その後お前がフォークガー論法(128-129)で論点逸らししてきたから、
俺もちょっとつき合ってみたら、逆に俺が論点逸らしした風に装うのだからGit信者は頭おかしい
論点を逸らしたのはお前だぞ
(まあお前が議論慣れしてないだけかもしれんが)

とはいえこの話題についてはもう何も生産性無いし、やめでいいが
2024/12/09(月) 14:54:58.40ID:4HU/GnaT0
俺は 123 の最後にある「どういう理由?」に答えようとしただけで、それ以前の議論の回答はしてないぞ?

現状が気にいらないとう方向に話が逸れたのでそっちはコミットするなり勝手にしろといってるだけ
2024/12/09(月) 15:04:27.86ID:oz7HR5eE0
>大衆が望んでる機能

と言いながらそれを望んでいる人がどれくらいいるかというデータは示さない
「俺が望んでいるのだから皆望んでいるに決まってる!」と言ってるだけ
2024/12/09(月) 15:25:10.39ID:oqd+iiqc0
>>137
> それ以前の議論の回答はしてないぞ?
お前がそう思うのならそれでいいが、俺もお前の「パーミッションを保存しなかった理由の推定」には文句言ってないぞ

俺が突っ込んだのは、127で引用したとおり、
> それを思いついたやつは今までいない
なわけあるかボケ!であってね
というかむしろ、パーミッションも保存してくれると考える方が自然だ
既に言った通り、お前らはGitが正しいという前提で考えだすから話がおかしくなる

とはいえこの辺は本当に平行線なのでもういいよ
OSSなんてどれもマグマは溜まってる状態で、ある意味これが仕様だ

> 結果が全て(134)
これでいいよ

俺: いつか誰かが追加して、パーミッションも保存出来るようになるだろ
Git信者: Gitではパーミッションは保存されないのが正しいので、未来永劫この機能は付きません

で、どっちの予想が正しいか、結果で判断するのが正しい
そしてこれを現時点で結論づけるのは不可能なので、この話は終わりでいい
2024/12/09(月) 15:31:54.27ID:4HU/GnaT0
OSS なんて「仕様に文句言う暇があったら修正コード書け、コード書いてない時点で困ってない」と判断する修羅の世界
「その機能がない」=「今まではそれを入れる理由はなかった」なんだよ
未来は知らん、困ってるやつが頑張れ
2024/12/09(月) 15:36:35.15ID:oz7HR5eE0
>>139
この先ずっと実装されないままでも「俺は正しい」と言い続けるわけだ
2024/12/09(月) 15:43:57.63ID:oqd+iiqc0
>>140
× > 今まではそれを入れる理由はなかった
○ 我慢出来る範囲だったので我慢してた (130で言ったとおり)

なんだよ
というかお前のOSS最強信仰がどこから来るのか分からんが、
Gitに限らず何であれ、或いはプロプライエタリでも、
「ここもうちょっとなんとかならんかったんか」とは感じるものだと思うのだがな

ただまあ、中には、現状をひたすら受け入れるタイプも居て、君がそうだというだけなのかもしれんが
2024/12/09(月) 15:52:55.63ID:oqd+iiqc0
>>140
おっとすまん、見落とした

> OSS なんて「仕様に文句言う暇があったら修正コード書け
OSSは主語が大きすぎるので『Gitは』ということにして欲しいが、実際Gitではそうなのだろう
仕様を軽視しすぎだからあんなコマンドの山になる
とはいえ、これに関しては作った奴がそうなんだし、気に入らなければ使うなにしかならないが
2024/12/09(月) 15:52:58.51ID:oz7HR5eE0
>>142
「我慢出来る範囲」を超えたのなら実装すればいい
グダグダ言うだけで実装しない・できない奴ばかりならこの先もずっと変わらない
2024/12/09(月) 16:40:26.01ID:4HU/GnaT0
我慢できてる時点で困ってないんだよ

俺の git には(俺にしか役に立たない)パッチがいくつも当たってるけど、git に限らず OSS ってそういうもんだろ
他にも同じ問題で困っている人がいたら公開して共有するし、そうじゃなきゃ自分専用で使えばいい
2024/12/09(月) 18:04:22.56ID:oqd+iiqc0
>>145
> 我慢できてる時点で困ってないんだよ
なるほどそういう考え方か、全く同意はしないが

俺は逆に、93-99の流れの時点で駄目だと思うけどな(=困っていると判断する)
高い確率で、欲しい機能(または、あって当然と思ってる機能)が動かないから質問してるわけだし
手間を減らす為のツールなのに、手動で別スクリプト用意して管理が必要なのは、二度手間だし、アウトだよ
そして最初に仕様を練ってれば、つまり、
「本当にパーミッションは保存する必要ないのか?保存した場合に何か問題があるのか?」を熟慮してたら、回避出来た問題だという話さ
とはいえ、仕様を軽視する連中にはこの辺の話が全く通じないのもいつも通りではあるが

まあどこまで行っても平行線だし、合意する必要もないしで、もう終わりでいいよ
結果を待てばいい
2024/12/09(月) 18:22:17.32ID:oz7HR5eE0
>>146
>>141
2024/12/09(月) 18:28:39.87ID:oz7HR5eE0
>この話は終わりでいい
>もう終わりでいいよ

そう思うなら黙っていればいいのに
149デフォルトの名無しさん (ワッチョイ bfe0-thkz)
垢版 |
2024/12/09(月) 19:40:56.21ID:/rVJ/4Ts0
まだやってたんだ
なんでこんなことになってるんだ?
2024/12/09(月) 20:11:13.66ID:ZPo7jPZJ0
久しぶりに長文君 (https://mevius.5ch.net/test/read.cgi/tech/1668901194/) が帰ってきたからさ。
2024/12/09(月) 21:50:22.89ID:RQhO7hoM0
>>127
>バックアップ程度で大半の人には十分だし、実際、デプロイしたらいきなり使える方が便利だろ

だったらgitじゃなくてバックアップツールを使えばいいのでは?
誰もお前にgit使えなんて頼んでないし
2024/12/10(火) 00:43:59.32ID:LZyb1uxu0
パーミッションも記録するようになったらなったで今度は誰かがACLも入れてくれと言い出す
2024/12/10(火) 08:19:56.89ID:iBb8Uq0X0
>>152
プラグイン出来るようにすれば済む話
2024/12/10(火) 10:33:12.74ID:sGQQlBSJ0
昔の状態を保存したい目的に使うのはバックアップツール、アーカイバとかでも良い

長文君といい今回といい、なんで git とかのバージョン・コントロール・ツールをバックアップと勘違いするやつが定期的に湧くんだろう?(同一人物が暴れてるだけ?)

このペンチでは釘が打てないと文句を言ってるレベルの無知さらけ出してるの気づいてないんだろか
2024/12/10(火) 11:39:48.78ID:iBb8Uq0X0
>>154
そこが疑問になるのは、お前に一般化能力が全く足りないからだな

まあGit自体に一般化能力が皆無だから、Gitに不満がない奴等は一般化能力もかなり低めで、
この意味ではGitは一般化能力の低い連中のエコーチェンバーになってる
このスレもそう
並の一般化能力があれば、あの全く整理されてないコマンドの山を見れば発狂する、俺がそうだ


して本題だが、単純にバックアップツール/アーカイバとしても使えるからだ
例えばtgzして毎日保存して、必要ならコメントも付けて、必要ないファイルは除外して、重複してる部分は圧縮して、検索機能も付けて、…
とかやりだすとほぼVCSになる
鯖なしで単体アプリとして使えるVCSで一番目に付くのはGitになる
バックアップ=ブランチのない一本線コミット履歴、でしかないのでどのVCSも(一般人が期待する機能の)バックアップツール/アーカイバとしては使える
「別物」としてしか捉えられないのなら一般化能力が全く足りてない
(「勘違い」ではなく、分かってて「流用/転用」しようとしてるだけなのを、一般化能力が低すぎる故に理解出来ない)

Git信者風に言えば、「ぼくはいっぱんかのうりょくがかいむです」と言ってる事に気づいていないんだろうか、となる
ただなんつうか、この手の一々イヤミを言うのもお前らが嫌われてる理由だと思うんだけどさ
最後の文なんて意味不明な選民思想の露呈であって、しかも間違ってるしで、言わない方がましだよね
(まあリアルでは絶対に言わないがここは5chなので試しに言ってみる、というのならアリだが)
2024/12/10(火) 12:15:22.20ID:6HlM5sdR0
こいつの言ってるは「ペンチでも頑張ったら釘を打てるんだから、もっと釘打ち能力を強化しろ」ということだな
普通の人はペンチと金槌を使い分けるし、専門家なら用途ごとに複数のペンチや金槌を準備する
一つの道具で全部やろうとしてる時点でド素人だと気付けない病気かな?
2024/12/10(火) 12:26:57.55ID:ChjTkXcv0
言っていることはごもっともだが、一方で、ツール選定の際には使い慣れているものや既に運用されているものを優先するバイアスがあった方が効率的なのも事実だ
些細な課題に必要以上に固執してすぐに別のツールを使おうとするのも、それはそれで生産性を低下させる原因となる典型的な悪癖
もちろん上記のバイアスが強すぎるのも良くないけどね
2024/12/10(火) 12:28:35.11ID:nRxMArw0a
双極性障害で、今が元気な期間で鬱に入ったら静かになるよ。
2024/12/10(火) 12:31:13.80ID:sGQQlBSJ0
>>155
ブランチ使わねーとか、やっぱお前長文君だろ
開発どうなったんだ?
自分のスレに帰れ、完成まで戻って来んな
2024/12/10(火) 12:55:13.36ID:maUGvQsbM
仮にパーミッション対応するにはどうしたらいいか、という生産的な議論はできんのか?
2024/12/10(火) 13:04:16.91ID:iBb8Uq0X0
>>156
> 用途ごとに複数のペンチや金槌を準備する
ペンチや金槌ほど違いはないって事

ソフトウェア界隈でよく言われる、
「気に入らないからといってオレオレフレームワーク/ライブラリを作っても
どうせ9割は同じコードになるのだから、(=車輪の再開発でしかないので)
多少気に入らなくとも既存のフレームワーク/ライブラリを使え、その方が生産性が断然高い」が該当する
俺はGitを気に入らないが、かといって自分で作ったとしても9割は同じコードになるので、
わざわざ作り直すよりはそのまま使って、本来のアプリケーション開発に注力する方が全体的にマシ、ということ
コマンドが糞の山だが、基本コマンド以外は使わなければいいだけではあるので
その他てんこ盛りの機能も同様

まあ俺的にはタイプスタンプを保存して欲しいんですけどね
理由は一番分かりやすいから
でもLinusは何か知らんがこれは絶対に認めないんだろうしね
2024/12/10(火) 13:15:59.11ID:maUGvQsbM
gitも再発明だろ
お前はひたすらやらない理由を考えるタイプ
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ならあり得る
164デフォルトの名無しさん (ブーイモ MMff-OBL7)
垢版 |
2024/12/10(火) 13:21:33.43ID:1EevVDftM
ファイルの中身の先頭にファイルそのものの属性情報を付けるという発想は、メインフレームなどの古い思想。
2024/12/10(火) 13:23:12.69ID:0BGH+xex0
>>159
同意

長文君のスレ
日常の進捗履歴記録ツールWitBucket(仮称)検討中
https://mevius.5ch.net/test/read.cgi/tech/1668901194/
166デフォルトの名無しさん (ワッチョイ 4768-u/4x)
垢版 |
2024/12/10(火) 13:49:10.16ID:yCEb4nkG0
ごっみばけっつ君来てるのか
ばーじょん0.1でいいから早く成果物公開してや
2024/12/10(火) 14:56:53.30ID:sGQQlBSJ0
長文君は問題外なので放っておくとして

unix 文化圏の KISS 原則というのは他の文化圏から来たやつには不思議でしょうがないんだろうな
Keep It Simple Stupid
「単純で馬鹿なままにしておけ = 余計なことはするな」

単純なものを組み合わせて何か複雑なものを作るのは簡単だけど、複雑なものを組み合わせるのは困難
お仕着せじゃなくて自分で工夫して何とかする人には元が単純であるほど良い
2024/12/10(火) 15:14:11.48ID:r7RcD6Xd0
まあ使いやすくしたければ自分でツール作れば良いだけの話なのに何で作らないの?
必要なら作った方が効率がいいと思うんだけど。
169デフォルトの名無しさん (ワッチョイ bf9d-thkz)
垢版 |
2024/12/10(火) 16:47:08.21ID:IViAh4+E0
元の質問者だけど、質問はただ出来るのかどうか聞いてただけなんだけどなあ
こうなって欲しいとかあるべきとか別に何とも思ってないんだが、なんで勝手に仮定してそんなに膨らませるんだろw
あとバックアップがどうのって言ってる人が最初の方からちらほらいるけど、バックアップの話ってどこから出してきたんだ?
誰もそんな話しとらんよね
2024/12/10(火) 17:00:49.95ID:nRxMArw0a
Gitのことは嫌いでも、Linusのことは嫌いにならないでください!!
2024/12/10(火) 18:03:32.07ID:6HlM5sdR0
>>169
読んだら分かると思うけどこのスレには「git は初心者向けのバックアップ・ツールであるべき」というのが持論の変なやつが一人居着いていて定期的に湧くんだ
そして、ちょっとでもバックアップぽい使い方をしてるやつや初心者っぽい質問があると持論の補強に使おうとする

で、他の人がそれに反論したり予防するのが日常風景になってる
関係なければ軽く無視しても大丈夫だよ
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を作る側だよ
2024/12/10(火) 21:54:47.54ID:KgYOToHf0
そんなにGitが嫌なら使わなければいいのでは?
誰もお前にGit使えなんて言ってないでしょ
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を採用するとカーネルを独自に直すという作業が必要になる
2024/12/11(水) 01:50:58.96ID:Y83IEE6u0
このスレ痛いやつ多いのな
↑とか
2024/12/11(水) 08:49:43.35ID:bZvW/lze0
>>175
> 変更履歴用ならどこがどう変わったのかを表示する機能がないことに疑問を持たないのだろうか。
それはdiffで十分だし、しかもGitの場合はdiffを内包してしまってる(俺はこれにも反対)

だから不満があるとするならバイナリか?(Excel等を含む)
勿論これは対応してないだけだし、
また、対応するにしても、Gitが直接差分を出す「モノリシック」ではなく、
「プラグイン」で各社が自社アプリ用の差分出力ツールを供給出来る形態にするのが正しい

VCSから各種diffを直接出力すべきと考えるのは間違いだと思うぜ


>>176
そうだとしてもLinux以外にないわけだが、

> カーネルに次々と新しいバグを追加する
これはポリシーというか戦略が違ってて、「今より少しでも改善するなら採用」だからじゃないかと
従来型の「最低限のクオリティに達するまではreject」へのアンチテーゼでもあるから
そして(文句あるかもしれんが)カーネル開発者は元々のエンジニアの質がそこそこ高かったからそれでも何とかなったものの、
同じ事をGitでやったからあの「ぼくがおもいついたすごいこまんど」の山になったのだと思う
交通整理すらやる気無かったわけだ

とはいえ、「使われなくなったコマンドは、いつしか動かなくなった事すら認識されなくなり、死んでいく」という、
Gitコマンド内でのライフゲームをやるつもりなら、ありなんだろうさ
厳選されてるように思えるunixコマンドだって、レイヤーが1つ違うだけで同じライフゲーム状態だし
2024/12/11(水) 09:57:22.36ID:34XO7K6O0
お前よりAIのほうが賢いんじゃね?
https://i.imgur.com/V1cME8T.png
2024/12/11(水) 12:19:18.72ID:+nAxu/ku0
git を始めとして最近のVCSは著者(author)とか承認者(commiter)とかの由来を管理するけど、所有者(owner)とか所属グループ(group)とかの現状は管理しない

管理の粒度もファイル単位ではなくて変更点単位

「バックアップ」という言葉の使い方次第だが次元の違うものを管理してるというのは最低限の事前知識
2024/12/11(水) 12:25:55.27ID:JMogi+gN0
GitHubを容量無制限のファイルバックアップ置き場として紹介しているサイトもあるけどな
2024/12/11(水) 12:45:40.19ID:kPp0f2Rs0
>>161
タイムスタンプがそうなっている理由はプログラマならわかるかと。

makeとかのビルドシステムがファイル更新をタイムスタンプで判定しているんだから、gitが書き換えるごとにタイムスタンプが新しくなるのはビルドシステムを考慮したら当然の話。
タイムスタンプを勝手に書き戻したら再現困難なバグになるから、採用は無いだろうね。
2024/12/11(水) 13:21:42.72ID:JMogi+gN0
自分もタイムスタンプは戻してほしい派
その手のビルドツールって、なんで「タイムスタンプが古くなってても更新扱い」にしてくれないの?
2024/12/11(水) 13:29:52.53ID:+nAxu/ku0
1バイトも更新せずにタイムスタンプだけ更新したら、それも記録すんの?
そのタイムスタンプ更新の著作権は誰に所属するの?
コミッタはそれを確認して承認作業するの?
古いパッチの再利用したら日付が昔に戻るの?
ブランチ統合したらどっちの日付が採用されるの?

アホらし過ぎる議論
ファイルのバックアップは別に取れ
185デフォルトの名無しさん (ワッチョイ df3c-lhhN)
垢版 |
2024/12/11(水) 17:38:01.33ID:HXU8Fpor0
>>169
今話してるのは質問がGitをバックアップに使ってると勘違いしてる人たちだから無視していいよ
他の人は>>99でやりとりが終わってると分かってる
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はデプロイツールでもある
 (ただし目的外流用だから色々機能が揃ってないが、それでも他ツールよりマシなら使うだけ)
2024/12/11(水) 19:28:51.98ID:kPp0f2Rs0
>>186
開発者に「俺達の利便性のために、お前らはチェックアウトするごとに手動でcleanして一からビルドしろ」と言ったらさすがに傲慢かと。

gitはプログラム開発者がソースコード管理のために用意したツールだから、開発者にとって百害あって一利無しの機能が入ることは無いんじゃないんかね。
2024/12/11(水) 20:38:24.90ID:WFtEMDpk0
>>182
Subversionには、ファイルのタイムスタンプをコミット日時にする設定はあるけどな
もちろん、makeを使うような人には危険な機能だが、それなりの要望はあったのだろう
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されるのは分かり切ってるのでやるならフォークしかない、といったところ
2024/12/11(水) 21:17:41.31ID:+nAxu/ku0
何も分かってないやつがいて草

タイムスタンプは過去には戻らない未来に進むだけ、という前提で多くのツールが設計されてる make もそう
この前提を壊さないように配慮することが大原則で git のみならず unix 系のツールは設計されてる
バックアップからの復元はこの前提を壊して過去に時間を戻す行為なので特別な時にのみ使うもの
2024/12/11(水) 21:35:45.41ID:bZvW/lze0
>>190
zipやtarは普通にタイムスタンプは保存されるだろ
その延長で考えるなら、保存された方が自然だし有用だ、というだけ

ただまあ、これも合意する必要はない
フォークしてどちらがウケるかで決するフォーク主義が正しいし、ユーザーは好きな方使えば済むだけ
(現実的にはcp -p と同様にオプションで切り替えるのが普通で、
逆に言えばオプションすら存在しないGitは何らかの「意図」をもってそうしてるとも言える
理由は今のところ不明なので思いつく人はよろしく)

まあ心配せずとも、Linuxカーネルにコミットしてくる連中で、make clean を知らない奴なんて一人もいないよ
(だから多分問題はここではない)
2024/12/12(木) 00:21:35.10ID:C7R5gozk0
git pull した後に make clean とか git 使ったことないのが丸わかりだな
何のための make だよ?
193デフォルトの名無しさん (ワッチョイ 4768-u/4x)
垢版 |
2024/12/12(木) 01:11:52.06ID:2Npzz1EV0
負け組のためのだろ
2024/12/12(木) 08:57:54.12ID:yWChnlb80
>>189
「俺はタイムスタンプの管理をgitでやりたいから、お前らはチェックアウトするごとにmake dustclean しろ」と言ったら、温厚になったLinusでもさすがに罵倒するかと。

gitはLinusがlinuxのソースコードを管理するために作ったツール。今もメインユーザーはLinux開発者で想定利用シーンもLinux開発なんだから、「Linux開発者の足を引っ張る機能」を追加するのはディレクターの正気を疑うレベルですな。
2024/12/12(木) 09:15:02.60ID:C7R5gozk0
>>194
いや linux とか Linus とかもはや関係なく全プログラマー大爆笑案件だろ
git pull で同期したら日付が過去に戻りましたとか全員が git の使用やめるレベル
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くらいさせてくれてもいいのにとは思う
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なら保存されるのか?なら俺はそれでもいいんだが
(料理の腕前で勝負してるのに、整理棚に必要以上にこだわっても本末転倒)
2024/12/12(木) 15:21:09.29ID:JM/xCx8/0
料理の腕前で勝負してるつもりならさっさとWitBucketとやらを作れよ
2024/12/12(木) 16:33:59.70ID:d0NKDmelM
>>197
ChatGPTで3行に縮めて投稿しろ
2024/12/12(木) 18:58:50.56ID:yWChnlb80
>>197
>Linus以外はほぼやらねえし、

「gitはLinusがLinux開発で使うために作った」という大前提を忘れるのはアルツハイマー病の一種かしらん?
2024/12/14(土) 10:34:37.92ID:mefXJp+A0
Gitの使い方というかSourcetreeの使い方というか質問があります

とある1コミットに複数ファイルがあって複数個所に変更がまたがってて
別ブランチにそのコミットの1ファイルの1部分だけをマージしたいです
その場合はチェリーピックは使えないので1部分のHunkをステージングに移動して
コミットするという方法が素直なマージ方法でしょうか?
2024/12/14(土) 11:43:48.24ID:kPFQFgKW0
>>201
採用元が push 後とか他人のコードだとそんな感じかな
私だと cherry-pick してから巻き戻し修正するけど、複数パッチなら rebase -i で edit を使う

採用元がローカルにしかない push 前なら元のコミットを分割しておくのが良い方法だろう
将来的に再利用するときにも別々に利用する可能性があるものは、今のうちに別パッチに分割しておくのが賢いと思う
2024/12/14(土) 11:54:03.74ID:mefXJp+A0
>>202
回答ありがとうございます
まさに他人がプッシュしたものを派生ブランチにも適用させようとしています
その中に特定ブランチの対応分も混ぜてしまっていたため
どう対応すべきか質問した次第です
コミット分割は癖にしておきたいと思います
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レスも使ってこの体たらくとは情けない
206デフォルトの名無しさん (ワッチョイ 4a97-66FK)
垢版 |
2024/12/15(日) 22:01:21.97ID:D9xraIFr0
>>178
diffでわざわざ比較するというのは時間の無駄
2024/12/15(日) 22:49:45.11ID:9FCwcKO70
>>206
相手にすんな
バケツ君はマニュアル読めなくて git が外部 diff に対応してることすら見つけられずに俺の望む出力じゃないと散々暴れた過去がある、今もそう思い込んでるので
2024/12/15(日) 23:49:43.28ID:UElXL8/K0
>>203
コミットの際にcherry-pickまで考慮するなんて不毛だからやめておいた方がいいよ
そんなことをしなければならないほど強くcherry-pickに依存したワークフローになっているならその方がよほど問題
2024/12/16(月) 00:02:22.98ID:I9YsDANU0
不毛っていうのも程度問題でしょ
経験の浅いメンバーだと一つのコミットに複数のバグトラッカーのissueを混ぜこぜにすることがある
hot−fixブランチが必ずしも計画的に作られるとは限らないからcherry-pickで取り出したいことは時々起こる
2024/12/16(月) 12:28:18.00ID:UeL/Eu4T0
cherry-pickに依存するのは不毛だと思うが、リモートへのコミットは機能単位・イシュー単位に整理した方がやり取り楽じゃない?
2024/12/16(月) 12:38:05.37ID:ZibPg38H0
同じプロジェクト内に並行で製品(バージョン)を維持しているような場合には cherry-pick は多用するよ
特にブランチ切るまでもない単純な修正の場合とか

要はコミット1個だけのブランチの rebase/merge の簡略形なので不毛とか言うやつは単に経験が足りないだけ
2024/12/16(月) 12:42:21.10ID:UeL/Eu4T0
せっかくbranch切ったのに、merge代わりにcherry-pickしたら後でトレース面倒にならん?
2024/12/16(月) 12:53:45.68ID:ZibPg38H0
>>212
cherry-pick はブランチ切るまでもない修正用だよ
コミット1個ならどこから cherry-pick したか分かれば良いだけだし
214デフォルトの名無しさん (ワッチョイ 4a6b-O1Z7)
垢版 |
2024/12/16(月) 13:11:10.31ID:56LO+jCc0
今度はチェリーピックでやり合いか
2024/12/16(月) 13:17:14.68ID:I9YsDANU0
将来どのコミットが急遽hotfixに採用されるか分からないからといってあらゆる事前の修正コミットをもしものためだけにブランチ分けするのもガチガチで作業効率が落ちる
程度問題と言った通り俺はcherry-pickを多用する気もないしフローとして禁止扱いも効率が悪いと思う
hotfixが必要ない現場なら必要になる機会は少ないだろうな
2024/12/16(月) 13:41:54.88ID:ZibPg38H0
cherry-pick には複数の使いみちがあって別に全部の使い方しなければいけない訳ではないが色々知ってると便利

・最新版から過去リリースへのバックポート
・セキュリティなどの hotfix の適用
・テスト用の addhoc 修正版(正式なマージは今ではない
・ゴミ箱ブランチ等から拾ってコードの再利用(コードだけ拾ってコミットは再利用しない
など多数

「1つのコミットには1つの修正」という大原則を守ってさえいれば、cherry-pick に限らずあらゆる再利用や利用中止がやり易くなるといだけ
2024/12/16(月) 15:08:47.67ID:/03Ox5VG0
cherry-pickって言葉のニュアンスの通り
2024/12/16(月) 16:03:21.23ID:ZibPg38H0
git の rebase と cherry-pick は同じ概念なので rebase とか使わない派閥のやつは cherry-pick も使わないだろうなあ
cherry-pick はブランチ切って rebase してブランチを消すを一発でやってくれるコマンド

正確には rebase の方が cherry-pick を繰り返した後にブランチ位置をそっちに切り替える機能というべきだけど

要はブランチを使うか使わないかの違い
2024/12/16(月) 22:52:09.15ID:m/ncuAnJ0
すみません、チェリーピックに関して質問した者ですが
追加で質問よろしいでしょうか?

本流ブランチAから子ブランチBが作成されて
子ブランチBから一時的に孫ブランチCが作成されました
ブランチCで修正した一部コミットだけブランチBにチェリーピックしてマージして
他のコミットは無駄なのでブランチCがもはや不要となりました
孫ブランチCを削除してもブランチBにチェリーピックした内容は
削除される(元に戻される)ことはない認識で合っているでしょうか?
2024/12/16(月) 22:58:16.88ID:m/ncuAnJ0
コミットの独立性が保たれているためチェリーピック元のブランチを
削除しても問題ないと認識しています
2024/12/17(火) 00:55:20.81ID:Np7JyJBV0
>>219
削除されないから大丈夫
まず第一に、残ったブランチやタグのいずれかから到達可能なコミットは生存し続ける
第二に、cherry-pickによって作られたコミットはマージと違って元のコミットとは別物の複製体になるので原本がどうなろうと知ったこっちゃない
2024/12/17(火) 07:53:20.59ID:n6Rf+SXX0
>>221
ありがとうございます
Sourcetree独自の機能か分かりませんが
チェリーピック元のコミットIDをコメントに付与しているため
もう辿ることもないコミットならコメントから余計な情報は
省いた方がよさそうですね
2024/12/17(火) 09:46:53.70ID:Np7JyJBV0
>>222
それは git cherry-pick -x で付く情報だと思う
公開されないコミットへの参照は残さないほうがいいね
2024/12/17(火) 12:10:27.20ID:Mk8ZrsM80
残ってても邪魔にはならないだろうけど cherry-pick 元がすぐ消える予定なら、付けないのが普通ですね
225デフォルトの名無しさん (ワッチョイ 8fb9-/rN0)
垢版 |
2024/12/17(火) 13:07:22.36ID:bMW/7Xg20
チェリーピックって童貞狩りじゃねえのか?
2024/12/17(火) 13:48:26.81ID:8t1OBzHLM
つまんな
2024/12/17(火) 14:02:58.22ID:Mk8ZrsM80
cherry pick
1. 都合の良いものだけを (恣意的に) 選び出す
2. 慎重に必要なものを選別する
2. 好きなもののみを摘み食いする
4. バーゲン品から掘り出しものを漁る
5. 木から熟したサクランボだけをもぎ取る

5が本来の使われ方、1の意味で使われることが多い
2024/12/17(火) 22:22:58.48ID:uhdhcEFf0
コミットする内容を複数に分けたい場合、必要な部分だけステージングすると読んだのですが、
この機能を使っても作業フォルダの内容は変化しないので、
一緒にコミットするべきだったところを入れ忘れてしまい、
プルしても正しく動かない状態のものを上げてしまっていたということがあります

この一発勝負みたいなステージングの機能をみんな使いこなしているのでしょうか?
2024/12/17(火) 23:11:14.06ID:Np7JyJBV0
>>228
一発勝負っていう感覚はおかしいでしょう
一度ステージングした後やコミットした後でプッシュするまでもいくらでも再確認とやり直しのチャンスがある
危うい操作をしたのに十分に確認していない内容をプッシュしてしまう習慣のほうがどちらかというと諸悪の根源だと思う
SVNだってローカルの変更を部分的にコミットしようと思えば同じようなリスクがあるので、ステージングという考え方自体のリスクではない
分割してコミットはビルドの通らないコミットを作ってしまうリスクは増すから不慣れで自信のないオペレーションになったときはstashやswitchを活用して疎通確認しておくとか、要らん変更と意図的に残した変更と漏れた変更を混同しないようにassume-unchangedやskip-worktreeなんかを活用してもいい
2024/12/17(火) 23:14:08.08ID:QjcMYSDT0
>>228
複数のコミットで一つの修正になるならrebase してまとめたら?
2024/12/17(火) 23:25:32.69ID:Np7JyJBV0
>>228
問に回答してなかった
ステージングの機能を使いこなしているかはNoです
差分確認からコミットまでの流れはGUIのほうが好きなのでステージングは全然活用できてない
2024/12/17(火) 23:33:17.82ID:Mk8ZrsM80
>>229
git status とかを頻繁に打つくせをつけた方が良いぞ、それでコミットし忘れ防げる(ついでによく使うオプションは alias にするとさらに良いぞ)
あと正しく動かないコミットに分割するのは「必要な部分だけ」とは言わないぞ
2024/12/17(火) 23:34:08.72ID:Mk8ZrsM80
>>232
アンカミス >>228 あて
2024/12/18(水) 09:25:32.99ID:IhQ3pKwU0
Git v2.48.0-rc0
2024/12/18(水) 11:41:14.09ID:pGa0ZLUBM
>>228
もうでてるけど
いれないものはstashして動確してcommit
stagingの存在理由わかってくる
2024/12/19(木) 21:05:36.88ID:KU+lpcLj0
>>218
言うほど同じか?
rebaseを好む派閥がrebase使う最大のモチベーションはログの直線化
そういう神経質な連中がcherry-pickによる重複コミットの大量発生を許容するとは思えないのだが
237デフォルトの名無しさん (ワッチョイ 2303-AYc0)
垢版 |
2024/12/19(木) 21:38:31.24ID:QSrQ7dPA0
やってることの内容は似てるけど用途が全然違うからなあ
かのPro Gitもリベースの章はベタ褒めでahhとかthe bliss of rebasingなどと顔もやや恍惚気味の御様子だが
チェリーピックとなると淡々とした説明で真顔だよ
2024/12/19(木) 23:45:56.41ID:b251oEg00
>>236
目的じゃなくて動き(実装)の話
rebase で cherry-pick できるし
cherry-pick で rebase できる
どっちもコミットの再利用(付け先の変更)を目的とするコマンド
あと直線化にしか rebase 使わないと思ってるうちは git の実力が認識できてない
2024/12/20(金) 01:21:38.28ID:+bubGwJY0
リポジトリを分けるか、モノでやるか
統合度合いが微妙な場合にものすごく悩む
2024/12/20(金) 09:56:06.03ID:PANCPXf30
そんなところで悩んでいる段階なら分けなくていいよ。最初から細かく分けようとするのは基本的に時間の無駄。
成功している組織はだいたいクソデカリポジトリなのも事実。それについては戦略としてモノレポが優れているというよりは結果的にそうなっただけだろうけど。
2024/12/20(金) 11:20:48.46ID:Vt9p1L/d0
>>239
一般論にはメンバーで分けるとうまくいく事が多い
将来的に人が増えたり入れ替わっても同じ1つのグループで開発を続ける予定なら一緒にする、
対応するグループが分割されて片方だけに関わる人が出てきそう、もしくは不明なら別にしておく
2024/12/20(金) 12:26:56.43ID:PANCPXf30
「うまくいく」の定義によるかなあ
分かれている方が良いという前提のもとで失敗の可能性を下げるという意味では>>241に同意するが、
個人的には不適切な分割による失敗は幾度も見たことがあるが、逆に一緒であることの直接的な実害にはあまり遭遇した経験がない
巨大なモノリスへと誘導されやすいみたいなアーキテクチャに対する影響は否定しないが、そのへんは日常的なコーディング作業というより
もっと大きな視点で恣意的に判断すべきことかと思う
そして、その判断を今すべきか、そもそも可能なのかは冷静に考えた方がいい
2024/12/20(金) 12:53:34.97ID:Vt9p1L/d0
>>242
・分かれてるものを一緒にするのはとても簡単だが、1つのものを分割するのはかなり手間がかかる
・単純なものどうしを組合わせるのは単純作業だが、複雑なものを組合わせるのは不可能な場合がある

という一般原則による、悩んだ時は原則に従うのがたいてい正しい
2024/12/21(土) 08:12:17.24ID:/IqCjkFy0
>>243
同様に、下記も言える
- 共通化されているものを個別化するのは簡単だが、個別化されているものを共通化するのは難しい
世の中そんなに単純じゃないんだわ
2024/12/21(土) 10:33:21.60ID:Hifil6s+0
>>244
俺の書いた2つは、お前が書いた共通化の手間より断然難しいというのが一般的だと思うが、お前にとっては同レベルなんだろうなあ
まあ頑張れ
2024/12/21(土) 11:20:34.07ID:w/Sbt61U0
>>245
誤解させたようで申し訳ないが、単なるリポジトリの統合じゃなくてコードの共通化の話な
一般論として、集中管理は密結合を、分散管理は重複を招く
共通部分を介して密結合しているモジュール同士を切り離すには最悪共通部分をコピペすればよい
一方、分散管理され各所で個別化された重複を後から共通化する作業には、それほど自明な移行パスは存在しない
コードスタイルや設計の問題といえばそれだけだが、それはモノレポだって同じことだ
2024/12/21(土) 12:43:49.34ID:Hifil6s+0
>>246
一般論だけどコードの共通化は難しくない
というのは必須ではないし時間の制限がないから
バラバラのまま結合して共通化できるところから時間をかけてゆっくり丁寧に共通部品に切り替えていけば良い

linux kernel とか部品の共通化に3年とか5年とかかけてゆっくりやってることも多い、共通化しないこともある
(手間だけの問題と技術的難易度の問題という本質的な部分の優先度を分けて考えると理解できると思うよ)
2024/12/21(土) 14:07:45.37ID:w/Sbt61U0
うーん、難しいと感じるかどうかはあなたの感性の問題だから、比較対象と根拠を示してね
2024/12/21(土) 17:31:11.06ID:Hifil6s+0
>>248
感性の議論はしてないよ、お前がそう思ってるだけ

技術的にすぐに必要なものもと、条件によって無くてもすむし後回しにもできるものとを同次元で語るなって指摘なだけ
(後回しにして良いなら簡単、やらなくて済むのが一番簡単、という当たり前の指摘、感性の余地とかない)
2024/12/21(土) 18:23:30.51ID:Bjr5M2i00
>>249
読み返してみたけど>>244のツッコミがまとも
お前は自分の意見が一般的と言い張ってるだけ
2024/12/22(日) 11:25:46.33ID:KQFeVRO70
>>229-235
みなさんご意見どうもです

SVNを使っていた頃や、ステージングを使ってみる前は、
変更ファイルをいったんどこかに逃がして、作業フォルダを綺麗な状態に戻して、
今回コミットしたいところだけくっつけ直して、動作確認できたらそれらをすべてコミットして、
逃がしておいたものを元の場所に戻して作業再開、みたいな操作をしてました

結局プッシュする前にステージングし忘れなどを確認する必要があるとなると、
コミット時に確実に確認できる上記の方法もそんなに悪くはないってことですかね
2024/12/22(日) 14:58:34.96ID:1vLY5nWA0
>>251
それで良いんじゃないかな?
私だと2つに分けたのを両方先にコミットしておいて、両方別々にチェックアウトしてテストを走らせるけど
問題があれば巻き戻してやり直し
問題がなけば push

push 前ならローカルでいくらでもやり直しが効くのが git の利点なので個人的に分かりやすいやり方でやれば良い
慣れたらテストの自動化とか検討すると捗る
2025/01/01(水) 05:03:32.91ID:RPjVgyjf0
Git v2.48.0-rc1
2025/01/07(火) 09:45:36.95ID:DbV6+6Xe0
Git v2.48.0-rc2
2025/01/11(土) 11:00:17.95ID:tzzUwbv+0
Git v2.48.0
2025/01/12(日) 11:20:09.87ID:L3maUoeD0
サル先生でGitの学習を始めました
そこで質問です!
下記コマンドの中に dewfr という記述が存在するのですが、これは何を意味するのでしょうか?

> git config --global core.editor "\"[使用するエディタのパス]\""dewfr

参照:https://backlog.com/ja/git-tutorial/intro/06/
2025/01/12(日) 12:11:34.88ID:hjmuezNa0
先生が個人的に使っているエディタのファイル名なのでは?
直前がパス区切り文字で終わってるし
2025/01/12(日) 12:24:19.20ID:L3maUoeD0
あ〜なるほど!謎が解けました!
ありがとうございます!
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
わかる
2025/01/15(水) 09:29:23.33ID:3C2APGzS0
Git v2.48.1
2025/01/15(水) 14:32:20.61ID:gq5bJ2fy0
Git for Windows 2.47.1(2)Latest
2025/01/15(水) 14:42:56.61ID:gq5bJ2fy0
Git Credential Managerの脆弱性で
Git for Windows 2.47.1、2.46.2、2.45.2の各バージョンで差し替え
(日本時間2025-01-15 03:11)
2025/01/23(木) 09:18:49.62ID:vFJWSuXb0
ローカル上の作業ブランチで複数回コミットして、まだマージやプッシュをしたくない状態のとき、
ここでPCやSSDが壊れたら痛いのでローカルの内容をバックアップしておきたいとなったら、
どうやるのが常套手段なんでしょうか
2025/01/23(木) 09:22:23.44ID:5LAJlDxM0
個人作業用のブランチにpushすりゃいいじゃん
2025/01/23(木) 10:01:54.42ID:RFmrvYtC0
常套手段は知らんけど壊れることまで心配するならクラウドバックアップとRAIDじゃないの
手軽な手段ならpushとpush -fだな
-fで困る人いないでしょ
2025/01/23(木) 10:05:22.41ID:RFmrvYtC0
汚すことができないやむを得ない事情があるなら自由になる別のリモートを増やしてブランチをミラーリングしておく
2025/01/23(木) 10:42:03.41ID:JYmON0LL0
>>265
・ディスクをレイドとかにして耐障害性を上げる
・ディスク/ファイルシステムのバックアップを取る
・バックアップ用の別のリモート・リポジトリにプッシュする
・共用リポジトリに別のブランチ名でプッシュしておく
どれでも好きなのをどうぞ
全部やれば完璧

(最後のなら簡単、運用ルール的にかぶらないブランチ名の付け方決めとくだけでOK、個人名_ブランチ名 とか
2025/01/23(木) 12:27:44.30ID:vFJWSuXb0
>>266-269
参考になりました、ありがとうございます
.gitフォルダだけを圧縮して逃がしたりしていましたが、
自分しか使わない前提のブランチなら、リモートにプッシュしてしまってもよいものなのですね
2025/01/23(木) 12:36:39.07ID:5LAJlDxM0
>>270
チームでやってるならチームのルールを確認
2025/01/23(木) 12:54:07.03ID:JYmON0LL0
>>270
git のブランチなんていくら push しても容量がそんなに増えるようなもんじゃないし、邪魔にもならないんで駄目って言われることはほぼないよ
フィルターしやすくしたり、名前かぶるの避けるためにブランチの命名規則だけは決めておくと良い
(方針によってはバックアップは別のリポジトリがあるからそっち使えって言われることはあるかもしれない
2025/01/23(木) 18:26:22.96ID:ZEFHCs1J0
>>265
ローカルにスタッシュする or 専用ブランにコミットした上で、.git以下を適当にバックアップするんじゃないの?

リモートに個人的なブランチをpushするのは抵抗感があるなぁ。
2025/01/23(木) 18:36:02.43ID:vFJWSuXb0
>>273
>>270で書いたような、今自分がやっている方法と同じですね
Gitの使い方としてどうかと思っていたのですが、それも間違いではないのですか
2025/01/23(木) 19:41:26.62ID:ZEFHCs1J0
>>274
大丈夫じゃない?
https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
2025/01/24(金) 14:03:41.62ID:/oFMYy+rM
仕事でやってるならそれは個人的な作業ではないのだから堂々とリモートにpushすればよい
OSSならそもそもforkしてるだろうからリモートは元々自分専用
2025/01/25(土) 15:00:31.31ID:i3NO8nb7M
道具として異常

知恵遅れがしがみつく道具がgit
2025/01/25(土) 17:08:54.33ID:i1hyUUYx0
じゃあ天才は何使ってんの
2025/01/25(土) 17:22:25.79ID:W3I6NstP0
未だにsvnから移行できないじじいはいたな
2025/01/25(土) 17:57:50.21ID:aP269JYO0
better cvs として使ってます。本当にすみません。 ブランチとか良く使わないです
281デフォルトの名無しさん (JP 0Hb6-dNed)
垢版 |
2025/01/26(日) 13:26:52.01ID:uiy/DQQ3H
やっぱりVisual Source Safeが一番わかりやすくていいよね
2025/01/26(日) 16:30:13.37ID:h32xfORHM
Better CVSではないGitならではのやり方と言えるのなんて、
複数のリモートリポジトリ間でpullし合うような真に分散管理された伝統的なOSS開発スタイルくらいだろ
基本的に大半の人の使い方はBetter CVSの域を出ない
ローカルリポジトリがリモートリポジトリへの反映前のバッファとして使えて便利だな、という程度
2025/01/26(日) 16:51:43.41ID:v8RHgYNZ0
↑中途半端にわかった気になってるじじい
2025/01/26(日) 17:14:21.11ID:OHuPDl3g0
>>282
もうちょっと上手に煽んないと乗れないぞ

そもそもこのスレに cvs 使ったことあるやつがどれだけいると思ってんだ
30年前のアプリ比較に出しても自分が年寄りと表明することにしか
まちもに cvs 使ってたやつなら、恥ずかしくこの書き込みできないんで、きちんと使ったことないのまでは分かるけど
2025/01/26(日) 22:56:56.08ID:Im+l/vn00
CVSなら知ってるよ
コンビニのことでしょ
286デフォルトの名無しさん (ワッチョイ 7a86-Uu4E)
垢版 |
2025/01/27(月) 23:35:25.04ID:5zVfH4ct0
>>284
40歳以上なら知っている
2025/01/28(火) 00:30:38.67ID:knz0Jl8ca
RCSの話をしたくなるね
288デフォルトの名無しさん (ワッチョイ 7a86-Uu4E)
垢版 |
2025/01/28(火) 06:16:26.21ID:OdcIn15O0
VSSもかなりあとまで使っていたけどな
35歳以上なら知っていることが多い
2025/01/28(火) 12:37:10.14ID:bnD9cEyX0
いまでもVisualStudioのソースコード管理はVSSライクなのあるよね。
Gitも使えるけど。

開発の中心じゃないメンバーも使う仕様書管理とかだとそっちの方が
評判高いというか、Gitは使わないよなw
290デフォルトの名無しさん (アウアウエー Sa52-FFa5)
垢版 |
2025/01/28(火) 13:19:48.30ID:dqvH8r5Ca
SVNも忘れないで
2025/01/28(火) 20:38:47.97ID:n6IrqaQHa
Gitを知ろう!昔のソース管理とGit

の絵を見るとGitって難しい事してるな、って思う。
逆に古いツールは複雑なマージ出来るんだっけ?と不安になる。
2025/01/29(水) 13:05:47.15ID:iK+g/tdh0
Gitはオープンソースのプロジェクトを分散管理するのが目的だろうから、
社内のソース管理とかに使うと、なんか前より面倒くさくなったなと感じる
2025/01/29(水) 13:38:14.63ID:vsr4sfYf0
>>292
git は world wide にユニークな名前で管理して無限(おおげさな表現)にスケールすることが利点の1つなので
少人数のプロジェクトだとこの利点は感じ難いのは仕方ない、あらゆる利点は逆からみれば欠点なわけだし
2025/01/29(水) 13:41:47.19ID:vsr4sfYf0
git の他の利点、例えばブランチを切ったり繋いだりするのが早くて操作も簡単
みたいなのに慣れてくると個人利用のみでも手放せなくなる
2025/01/29(水) 15:51:35.40ID:O2q9bD9Z0
正直、ローカルリポジトリを持たずに直接GitHubにコミットできるオプションがあったら便利だと思う
クライアントとサーバーが等価なのがアーキテクチャとして美しいのはわかるけど、
安定したネットワーク環境とリモートへの反映が前提なら実用的にはあまり意味ないのよね
余計な手間が増えるだけだし、作業者マインドの人(情シスとか情シスとか)に理解させるのに苦労する
296デフォルトの名無しさん (ワッチョイ 7a8e-0HiR)
垢版 |
2025/01/29(水) 16:45:51.30ID:NEN1+s6c0
なるほど、必要なら作ってくれ
2025/01/29(水) 17:08:05.77ID:j23j/EVS0
最近のGitHubはweb上で編集してプルリク投げまで完結できたよね?
あんまし使ったことないけど
2025/01/29(水) 17:26:33.12ID:wXwWo4Yf0
会社ではプッシュばっかり使っててプルリクの概念がいまだによくわかってない

このブランチをプルしてマージしてください ってお願いするのがプルリクなんだよね?
会社でこれをやるなら、ソース管理者みたいな人を立ててその人に依頼すんの?
2025/01/29(水) 18:19:19.91ID:u4GPoyB40
君のチームのワークフローに合わせればいい。Gitだからどうとかじゃなく。
考え方は簡単、他者の承認またはレビューを必要とするときに pull request を作る、承認したらマージする、これだけ。
例えばタスク毎にメイン開発者AとレビュワーBがアサインされていて、リリースにオーナーCの承認を必要とするなら、下記が考えられる。
開発タスクのクローズ : AがタスクのブランチからmainブランチへのPRを作成し、Bにレビューを依頼。BがPRを承認し、AまたはBがマージ。
リリース : 開発チームの誰かが main から production ブランチへのPRを作成し、Cがマージ。その後GitHub Actions等のCI/CDツールが本番環境へデプロイする。
上記はよくある流れではあるが、GitやGitHubだからこうするというわけではないことに留意せよ。
開発フローはそれらとは独立に決められるべきであり、それをGitHubの機能を使って実装するだけだ。
2025/01/29(水) 19:20:58.17ID:vsr4sfYf0
>>298
ワークフロー次第だが、もともと想定されてるのは
個人用公開リポジトリ ←push― 個人用ローカルリポジトリ ←commit― 作業ディレクトリ
という環境を全員が持ってる前提で

プルリクエストというのは、「俺の公開リポジトリに push したので、そこからお前のリポジトリに pull してくれ」という要求

これを責任者宛に出せば
チームリーダーとかリリース・マネージャーとかの責任者がチェックして問題なければ、それを彼の個人ローカル・リポジトリでマージする(その後に彼の公開リポジトリに push して公開する)
2025/01/29(水) 21:57:23.24ID:u4GPoyB40
企業での開発においては共通のリポジトリを皆で触るのが一般的であり、”pull” requestは実際には同一リポジトリ内でのマージのみに使用する
forkはガバナンスを困難にし情報漏洩につながるリスクがあるため、そもそもorganizationまたはenterpriseのポリシーで一律禁止するのがベストプラクティス
2025/01/30(木) 01:09:50.68ID:o8nH7UIQ0
GitLabだとマージリクエストって名前なんだけど、個人的にはこっちの名の方がしっくり来るんだよなあ
2025/01/30(木) 01:12:38.22ID:sgBWR4v+0
プルだと向こうが主語だもんな
引っ張ってぇ、的な
2025/01/30(木) 08:03:04.92ID:yzi2OnyQ0
リクエストだから向こうが主語だよ
何いってんのさ

どちらも依頼だけど取り込む段階に着目するかマージする段階に着目するかの違いだよ
2025/01/30(木) 08:48:49.49ID:5L7oVd850
pull ってのは 「fetch して merge 」の省略形なので当然 merge もリクエストしてる
分散リポジトリなら先に merge の前に fetch してもらう必要があるので pull リクエストを出す
共用リポジトリとかなら fetch する必要がないので単なる merge リクエストを出す

この違いが分かって使い分けできないやつが git 使ってるの爆笑ものなんだが
ここは分かってないやつ多そうだな
2025/01/30(木) 10:31:13.18ID:Be3+/jiBM
企業内での開発の場合、pull(merge) requestは要請というよりレビューと承認を求める意味合いが強い。
結局マージを行うのも同じ人(別の人間かもしれないが基本的には同一の責任主体と見做せる)であることがほとんどだから。
その意味ではシンプルに review request
2025/01/30(木) 10:47:11.99ID:sLaRrBQRM
企業内での開発の場合、pull(merge) requestはコードレビューと承認を得ることを目的に作成され、その上でマージを誰が行うかは重要ではないんだよね。
というか多くのチームでは作成した本人がマージしている。
このへんの用語は実際初心者に教えてると理解しづらいようで、pullじゃなくてmergeにしたら解決というものでもない。
まあ、だからってもっと良い呼称は俺は思いつかないが。
2025/01/30(木) 10:52:20.88ID:sLaRrBQRM
すまん、>>306は誤って書き込んだ。
2025/01/30(木) 11:21:31.02ID:aXMNWhD7r
>>305
じゃあなんでGitLabはプルリクエストじゃなくてマージリクエストなの?
GitLabユーザーはfetchなんてしないのかしら?
2025/01/30(木) 15:36:37.44ID:yII0bm57d
しない。したとしても極めて稀。
OSS開発者のためのソーシャルコーディングサービスとして開発されたGitHubと異なり、
GitLabは当初からエンタープライズでのクローズドな開発を前提としており、>>301の通り基本的に共有リポジトリを使うから。
2025/01/30(木) 16:07:15.77ID:5L7oVd850
>>307
それはちょっと違う
本来は review とかが全部終わった完成したものについて出すのが merge/pull リクエスト
review する人と merge する人が一緒の時に手抜きで一回で済ますだけでワークフロー上は完全に別物
2025/01/30(木) 16:38:36.48ID:NcQM/92I0
>>311
使ったことがあるとは思えん
pull requestに対するレビュー結果の追加とマージの実行は別の操作だぞ
2025/01/30(木) 16:53:48.01ID:sgBWR4v+0
盛り上がってまいりました
2025/01/30(木) 17:25:50.04ID:5L7oVd850
>>309
>>311
github は分散リポジトリを念頭にサーバ上の統合作業の用語を選択した
gitlab は共用リポジトリを念頭にサーバ上の統合作業の用語を選択した

これは本来の git の意図とはズレてるのでリーナスが切れた(サーバ上では統合作業 merge/pull しない、それらは手元のローカル・リポジトリでやるのが git 本来の流儀)

git で pull request はもともと相手のローカル・リポジトリへの pull を要求するというそのままの意味(github は用語を変に流用しただけ、本来の使い方ではない

linux kernel だと subsystem maintainer とかが subsystem の開発リポジトリから完成した分をリーナスの個人リポジトリに取り込んでリリースに含めるよう最終的な要求するのが pull request の意味
コードのレビューとかはもっとずっと前に ML とかで多くの人が議論し尽くしてる、そういうのが全部終わって次のバージョンのリリースに含めて良くなったら pull request 出す
2025/01/30(木) 21:25:55.92ID:yzi2OnyQ0
fetchしないってかなり語弊があるよな
2025/01/31(金) 09:01:26.86ID:fWRcePGc0
>>314
で、あんたは>>298が会社でGitHubのpull requestを活用するにあたってLinuxカーネルと同様のMLベースのプロセスを導入すべきだと言いたいのか?
でないならその情報は質問者にとってたんなるのいずだ
2025/01/31(金) 09:31:32.44ID:uF0JLDg90
>>316
ここは GitHub スレではなくて git スレだ
git 本来の用法と用語があるんだ
GitHub の勝手用語を前提にしていない
2025/01/31(金) 10:15:03.05ID:9dfMKsJi0
>>316
> あんたはGitHubのpull requestを活用するにあって

俺に聞いてる? 俺のアドバイスなら
git 本来の pull request は業務フローによって必要だったり不要だったりする、参考に知っておくと良い
Github の pull request は使う必要も学ぶ必要もないゴミ、そのまま忘れてしまって良い、周りで使おうとするやついたら全力で止めるレベル
319デフォルトの名無しさん (アウアウエー Sabf-J/8e)
垢版 |
2025/02/05(水) 14:37:49.09ID:RWIQAOlpa
fork して勝手に成長させて fork 側が立派に育ったら
pull request なんてしなくても勝手に pull してくれるのが理想
2025/02/06(木) 01:42:29.43ID:3KBUKtr20
>>319
いつ、誰が、何のために、どこから、どこへ pull すべきか指定するのが pull request なんだが
超絶AIでも開発してタイミングや理由を説明するのか? 誰がはどうする? 人間が AI から命令を受け取るのか? 責任者不明のコミットができる GitHub状態なのか?

楽し過ぎるな。それやるくらいなら多分AIに全部のプログラム書かせた方が早いと思うぞ
2025/02/08(土) 21:27:04.90ID:yVxtkiH10
また説教おじさん
2025/02/12(水) 02:05:12.31ID:3tQGE9a70
git stashで、新規のファイルも一時退避したいのですが、デフォだと無視されるようですね
何か方法はないでしょうか
ま、新規ファイルはgitに未登録だから放置プレイせよ、ということなのかもしれませんが
なんとなくスッキリしないというか
2025/02/12(水) 02:14:56.55ID:W9y8zQE70
git add -A してから git stash
2025/02/12(水) 02:20:20.50ID:J/UI6pYQ0
-u
こんなとこ書き込む暇あったらググるかAIに聞け
2025/02/13(木) 23:46:41.27ID:hYbijExcr
スレ過疎ってるんだからええやん別に
2025/02/14(金) 12:09:29.98ID:wNm1lBEt0
2月寒いなあ、まだ冬型続くのかな?
みたいな質問するのは挨拶、話題作り、ネタ提供で雑談のきっかけにしたいだけなのに
「そんなのはググって気象庁のサイトを調べろ」とか言われちゃう感じだよねw
2025/02/14(金) 12:41:44.04ID:cflAAi0P0
>>326
みんなの集まる会議の席上で天気の質問とか始めたら、「さっさと始めろ、他人の時間を無駄にするな」って怒られるだろ
個人の雑談と、多数が集まる場所での発言は違うんじゃないかな?
他人の時間を無駄にしないために自分で調べられることは調べた上で、分からない部分があったら質問するのが人としての礼儀
2025/02/14(金) 12:57:41.89ID:b+7l3s230
はたから見た感想
質問者の「ま、~というか」っていう余計なくだりを書かなければ余計な苦言も返されなかったかもと思った
2025/02/15(土) 00:32:15.20ID:6v957rAir
>>327
このスレに多数の人が集まってるって言えるの?
2025/02/15(土) 01:49:01.01ID:ueLeU4Nj0
>>329
俺とお前の二人きりでないのは確実だ
331デフォルトの名無しさん (ワッチョイ 867e-u07z)
垢版 |
2025/02/15(土) 05:04:09.56ID:0wMi8etC0
>>330
俺とお前と大五郎
332デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/16(日) 12:05:30.15ID:rAQQ2/+ca
点呼始めると急に人減るからな
333デフォルトの名無しさん (ワッチョイ 7a6a-3k27)
垢版 |
2025/02/26(水) 19:03:01.07ID:dyHUusCc0
GitはConflictの修正で強制的にVim使わせんのやめてほしいんだが
WindowsユーザーがVimなんて日常的に使ってるわけねーんだが想像力ねーのかよ馬鹿が
みんなしち面倒だから極力競合しないように気を使ってて競合修正すること自体も少ないから
たまに競合すると修正するのだけでも怠いのにそれに輪を加えてVim使わされるから調べ物が二倍になんだよハゲが
さっさと競合の修正をVSCodeのエディタでできるようにしろボケ
2025/02/26(水) 21:59:35.09ID:tc9QKrsR0
>>333
お前のって変更できないの?
何をつかってるんだろう
2025/02/26(水) 22:20:46.32ID:uVlYXScm0
Vimの使い方を必死で調べる癖に、Gitの使い方は調べないのか
おかしいよな、やっぱり釣りかな
2025/02/26(水) 22:22:24.99ID:ZoHclDk+0
キレてんね~

https://docs.github.com/ja/get-started/getting-started-with-git/associating-text-editors-with-git
337デフォルトの名無しさん (ワッチョイ 7a6a-3k27)
垢版 |
2025/02/26(水) 22:24:39.42ID:dyHUusCc0
>>334
開発環境はVisual Studio 2022かVScodeなんだがGitはTerminalのPowerShellのCLIでコマンド入力して使ってんだわ
だからTerminalからbarnchをmergeしたときに競合が起きると強制的にVimになってただでさえ競合でマズっ!て動揺しとんのlにブチギレそうになるんよ
TerminalからGitを使って競合したときにVSCodeでDiffする機能がググってもみつからねーんだよ
2025/02/27(木) 06:49:34.86ID:CZtmiDI/M
まあ、ぐーぐるが蔓延ってからフリーソフトはダメになったよな

マイクロソフトを使ってるやつらが雪崩れ込んできてからさらに異質になってきた
2025/02/27(木) 07:25:35.18ID:1tEOde+m0
どういう意味?
2025/02/27(木) 08:17:38.02ID:3+Px+dpt0
ドキュメント読まない、考えない奴が増えたということでは?
2025/02/27(木) 09:10:37.13ID:8vSp/RjD0
この流れでフリーソフトがダメになったとか言い出すの謎
初心者の不満に優しい回答者が解決してあげただけで、不満はお門違いなもので必要な機能は完全な形で提供されてた
2025/02/27(木) 09:36:53.23ID:XU/twqEe0
git は機能が多過ぎてマニュアル読んでもどこに書いてあるんだか見つけれないというのはあるんだと思う
けなしたりせずに最初から丁寧に質問すれば良いのに、質問者が悪い
343デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/02/27(木) 12:49:05.52ID:VQNvJTxha
>>337
だっさ
2025/02/27(木) 13:38:03.41ID:XU/twqEe0
個人的には
unix/linux屋の感性だとエディタとか特定のやつ強制されたら、もう宣戦布告扱いなんで絶対に変更できるようになってる
EDITOR環境変数とかに追従しないならチュートリアルの先頭あたりで説明がある
とういの感覚なんだけど Windows みたいにお仕着せに甘んじるのに慣れさせられた子羊ちゃんたちには厳しい世界に見えるんだろうか?
2025/02/27(木) 15:26:47.55ID:epdZy57f0
>>342
難しくてわからない質問されて見下された気がしてイラッとしたからとりあえず煽っとくまで読んだ
2025/02/27(木) 18:59:01.12ID:8vSp/RjD0
おかしな人を一人見ただけで最近の子は~とか言い出しちゃうのって老化現象なのでは
347デフォルトの名無しさん (ワッチョイ 7a75-08Wt)
垢版 |
2025/02/28(金) 01:35:09.82ID:1HSOHgVq0
>>337
ターミナルも仕様がよくわからないのによく使うな
比較的、新しいものを使うなら古い方を知ったうえで使わないと
2025/02/28(金) 02:45:09.17ID:anIDZvfV0
ここ老人ばかりだし老化現象ではと言われてもあんまり効かないよね
2025/02/28(金) 08:41:15.61ID:rekq6zs60
>>336 に礼くらいしろ。
感謝すらできないタダメシ寄生虫かよ。
2025/02/28(金) 09:19:01.12ID:f1y1aNyV0
礼を求めるのはムリだろー
素直に教えを請うのではなく怒り散らすことで回りが俺様を助けてくれることを期待する駄々っ子タイプなのは最初の発言からわかってる
2025/02/28(金) 09:30:18.88ID:f1y1aNyV0
今回の場合、Gitのダメなところをぶちまけて憂さ晴らししようとす来たら反論で恥かかされてさらに怒ってるまである
352デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/03/01(土) 11:36:53.90ID:dZ2eBKvGa
久々に落ちて来た餌に群がる深海魚のようでつね
2025/03/01(土) 12:39:20.26ID:uxtJasyd0
よく言われる
顔が深海魚みたいだって
354デフォルトの名無しさん (ワッチョイ 7986-3FuH)
垢版 |
2025/03/05(水) 20:27:54.18ID:k4iH0qBY0
masterからbranch切ってコミットして、VSCodeにSyncronizeってボタンでたからそれ押したらmasterブランチで?に?pushされた
これってコマンドだとどういうコマンド使ったことになるの?

何か嫌だったからmasterブランチの方はpullしてrevertして、masterと新しく切ったbranchをpushしなおした
2025/03/05(水) 20:32:53.30ID:DnMeoT1g0
GitはCLIの方が圧倒的に使いやすいわ
GUIやとでけへんことが多すぎるし逆に面倒やからな
ニワカどもがSourcetreeとかGithub Desktopとかを初心者にすすめんのやめーや
最初が肝心なんやからどうせ教えるならしっかり手取り足取りCLIで教えたれ
2025/03/06(木) 02:17:50.54ID:X0p8pnT00
コミット履歴見ながらあれこれやるときはcliはやってられんでしょ
357デフォルトの名無しさん (ワッチョイ 79ab-kaVN)
垢版 |
2025/03/06(木) 08:13:14.54ID:SoBTsc5U0
サーバ側のログ見たけどエラーログしか吐いてなくて、アクセスログ的なログは無かった
2025/03/06(木) 08:37:02.92ID:TZy25+2E0
>>356
why?
CLI しか使ったことないけど
359デフォルトの名無しさん (ブーイモ MMeb-tbEw)
垢版 |
2025/03/06(木) 13:33:57.70ID:SW3gTDW+M
>>355
コマンドはネット上に嘘が大量に書かれているからなあ
2025/03/06(木) 14:56:33.55ID:hrpDJRUa0
>>359
マジで?
困った時しか調べないので気付いてない。
2025/03/06(木) 15:07:24.98ID:X0p8pnT00
>>358
マウスなら数手で済むところをハッシュ見て打ち込んでスクロールアウトしたから見直してとか非効率
何事も向き不向きがある
2025/03/06(木) 16:54:30.08ID:TZy25+2E0
>>361
意味わからん
普通キーボードから手を離してマウスに手を持っていく暇があれば、その時間にコマンド打ち終わって実行結果の確認まで終わって次の作業始めれるけど?
CLI使うかエディタのショートカット使うかの2択だろ、マウスの出る幕はない
2025/03/06(木) 17:47:20.86ID:X0p8pnT00
>>362
それいうならおれはトラックポイント使ってるから持ち替えるなんて無駄はとっくの昔に排除してるっての
おれはCLIでも使える
環境変えた時に困るからな
で比較した上で言ってる
2025/03/06(木) 18:43:44.49ID:TZy25+2E0
>>363
何が言いたいか分からん、俺は無能なのでGUIで十分って言ってるの?
「CLIだとやってられない」の根拠をまるで示せてないけど?

command のオプションとか使いこなせてないだろうことは何となく察せられる。例えば履歴見る時に git log に -G とか --grep とか使ったことある? この違いって即答できる?
2025/03/06(木) 19:00:28.81ID:/b+y/+WW0
いやGitは明らかにGUIよりCLIの方が使いやすいんやがwww
いやちゃうなCLIが使いやすいんやなくてGUIがどれもクソすぎるんや
唯一マシなGitKrakenはクソ高いサブスクやしな
2025/03/06(木) 19:10:55.39ID:EYycW5pS0
CLI派はステージする行を取捨選択したいときどうするの?
煽りたいわけじゃなくて興味がある
なお俺は普段VSCodeとlazygitを使っていて込み入った操作のときだけCLI使っている
2025/03/06(木) 20:03:56.86ID:TZy25+2E0
>>366
git add -e でエディタで選択
git add -i でCLIメニューで選択
個人的には前者を多用してる
2025/03/06(木) 23:00:54.80ID:FATO06L/0
マウスに一切持ち替えないCLI過激派の人ってハッシュは目視確認して手で打ってるの?
HEAD~~とかHEAD~4とかでだいたい済むから手打ちするにしても稀な感じなのかな
2025/03/06(木) 23:23:19.37ID:54POgzsF0
過激派じゃないからやったことないけど、マウス使わずにCLI単体で目的のハッシュ検索→コピー→ペースト出来んじゃないの?
2025/03/07(金) 00:54:33.86ID:t6N/68bn0
CLI で hash値を入れることなんてまずないだろ
直近のは HEAD やブランチ名からたどるし、古いのはタグ打ってたり、検索条件で特定する
どうしても hash値で特定したい時は先頭の4文字とか打つだけでいけるので全部入れる必要はないよ、そんな機会はめったにないが
あとやろうと思えばCLIでもエディタ操作でマウス以上に高速にコピペできるけど
2025/03/07(金) 02:01:32.04ID:hA31zhIA0
GUIでポトペタばっかしとる奴らの前提が空で覚えるの前提なん草
そもそもTerminalもGitbashもインテリセンス効くことを知らんの無知すぎてクソワロタ
372デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/07(金) 02:20:38.51ID:DC3oMiFw0
自分がやっていることを説明しない、説明できないタイプは、コマンドに逃げる傾向があるんだよな。
2025/03/07(金) 05:10:53.94ID:rO0CBAe5d
>>372
というより、そうする必要があるかどうか次第だな
>>367からも分かる通り、メクラコミット中心ならCLIで十分、コミット内容の細かな編集が多いならCLIの範疇だけでは難しい
2025/03/07(金) 08:46:11.25ID:t6N/68bn0
>>373
難しくないだろ git add -e で完璧制御できる
パッチをそのまま目視できて編集できるんだから、もっとも確実
どんな細かい変更でも自由、なんらら一行に複数の変更がある場合に一部だけとか、実際にソースにない変更も可能
2025/03/07(金) 09:59:34.81ID:qPWIu0Mm0
エディタ使ったらそれもうCLIじゃないでしょ
TUIではあるけど、それを広義のCLIと認めるならlazygitやtigのような実質GUIと変わらんようなTUIクライアントもCLIになってしまうがそれでよいか
376デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/07(金) 10:28:55.57ID:DC3oMiFw0
Gitを使っておきながら、他人にはわからないコマンドだけの手順を書くやつは必ずいるしな
377デフォルトの名無しさん (ワッチョイ 79d3-3FuH)
垢版 |
2025/03/07(金) 10:52:06.81ID:i3TW8fQU0
>>375
こんなの暴論だろ
どうやってコード書くんだよ
2025/03/07(金) 11:15:57.74ID:TL3VpnxxM
コーディングとは違ってステージ時のパッチ編集はGitのために行う操作なんだから、GUIクライアントとの比較の文脈ではGitの操作の一部と見做すべきでしょ
git guiはCLIか?git add -eでVSCodeを開くのはCLIか?
エディタを呼び出した時点でもはや純粋にCLIと呼べない以上、程度問題でしかないってことだよ
2025/03/07(金) 11:23:23.99ID:t6N/68bn0
>>378
CLI といにはもともとがスクリプト書いたり、エディターから呼び出すパーツを想定してあって、毎回直接打たないといけないって意味じゃないぞ、あくまでも git にアクセスするインターフェイスの種類
自分用にカスタマイズして使うのは当然
2025/03/07(金) 11:35:48.56ID:TL3VpnxxM
そう。そしてGUIクライアントも同様にCLIを呼び出すインターフェースに過ぎない。
だから変な差別意識持たずに仲良くしような。
2025/03/07(金) 11:44:27.31ID:t6N/68bn0
>>380
インターフェイスというのは「呼び出し側が理解して制御してる部分」と「制御していないブラックボクスとして扱う部分」の境界のことだ
UI ならユーザとアプリの境界、その動作が内部でどのコマンドに展開されるか想定してばスクリプトやエディタから呼んでもCLI
一方でボタン押すだけで中でどのコマンドに変わるのか全然理解できてなければCLIではない
2025/03/07(金) 11:49:35.66ID:t6N/68bn0
ユーザーが制御できてるか簡易に見分ける方法は「自由に変更できるか」だ
呼び出すコマンドを理解する必要があって自由に変更できるならボタンからだろうショートカットからだろうとCLIでいい
自由に扱えないならそれはインターフェイスの向こう側だ
383デフォルトの名無しさん (ワッチョイ 79d3-3FuH)
垢版 |
2025/03/07(金) 12:50:44.02ID:i3TW8fQU0
正直そんな事どうでもいいから>>354教えてほしいです
2025/03/07(金) 13:45:02.36ID:hv4T53nE0
>>370
それ都合のいいようにCLIの不利なケースを排除してるだけだろ
お前みたいなやつは死ぬほど見てきた
CLIで曲芸してるだけ
適材適所で使うってだけの話を受け入れられない
2025/03/07(金) 13:58:21.86ID:t6N/68bn0
>>384
そもそもCLIで使う前提でコミットログ書くし、ブランチ切るし、タグ打つし、git のUIは最初からそういう設計になってつんだよ
全部のハッシュ打たなくて確定できるまでの文字打てばすむのもそう
git は CLI を使うプログラマによって設計開発発展してきた履歴があるので CLI で困ることはない
「CLIではやってられない」とか言い出すのはそいつが未熟で git に慣れてないだけの妄想
まあ全員が git に慣れてる必要はないので口を閉じて「馬鹿でも使えるものは馬鹿しか使わない」という世界に閉じこもってろ
2025/03/07(金) 14:16:08.04ID:hv4T53nE0
>>385
マウスの持ち替え気にするくせにハッシュを目視で確認して打ち込む非効率さは目をつぶる
インタフェースやビジュアライズの大切さを無視するエンジニアとは仕事したくないね
ちなデバッガももしかしてCLIかい?w
2025/03/07(金) 14:28:05.14ID:0jIQFjkxH
>>385
君の意見を否定するつもりはないが、事実としてGitの公式ディストリビューションにはGUIが付属しているし、git gui コマンドも存在するし、公式サイトで非常に目立つ形で非公式のGUIクライアントを紹介している
こんなところでヘイト撒いてる暇があったら削除するようリクエストしてきた方がいいぞ
2025/03/07(金) 14:58:36.90ID:xU3go4h6a
CUIって自分の操作の履歴辿れるけど
GUIは何やったか覚えてないとか
意図しない変化があったときに今何した?ってなるのが嫌
389デフォルトの名無しさん (アウアウウー Sa1d-8P30)
垢版 |
2025/03/07(金) 15:02:30.73ID:xU3go4h6a
>>354 の感じてる「なんか嫌」も >>388 と同じ理由だと思う
2025/03/07(金) 15:36:27.72ID:t6N/68bn0
>>387
別にGUI使っちゃ駄目とは一言もいってないぞ、GUI使いたいやつだけ勝手に使ってれば良い、それで苦労しようが失敗しようが知ったこっちゃない
「CLIではやってられない」という虚言を否定してるだけ、俺はCLIで十分
2025/03/07(金) 15:40:54.21ID:t6N/68bn0
>>386
キーボードで16進数4文字打つのが非効率なの? マウス操作の方が早いの?
俺とは違う技術で生きてるみたいだな

デバッガやプロファイラは自作スクリプト経由のことが多いな、スクリプトなしで簡易にやるならエディタのマクロ
2025/03/07(金) 17:31:19.43ID:hv4T53nE0
>>391
タイピングの問題でなく目視でハッシュを確認ってのが非人間的で非効率って言ってんの
そういう受け取り方をするってことはやっぱりUI/UXの視点が欠如してるんだよお前は

でデバッガをスクリプトで使うとは恐れ入った
全く別世界に生きてるのは同意
2025/03/07(金) 18:54:27.19ID:t6N/68bn0
>>392
良く分からんが目が悪いの?
普通はタグとか検索結果からの相対指定で使うんだよ
何らかで間違ってタグを消したとかごく稀にどうしてもハッシュ値で指定したい時に、年に1回くらい目視確認で4桁の数字打つだけだよ
簡単なんだけどなあ
2025/03/07(金) 19:04:16.99ID:bYeAoHPJ0
チーム開発だと、かなり前の特定のコミットをrevertしたりcherry-pickしたりは全然珍しくないけどなあ
395デフォルトの名無しさん (アウアウウー Sa1d-8P30)
垢版 |
2025/03/07(金) 20:04:21.73ID:xU3go4h6a
GUIならHash目視しないのかな
2025/03/07(金) 20:40:14.65ID:ZrsdmfZ80
仕事でチーム作業してたらハッシュは4桁では足りないからやっぱ手打ちはヤダな
バグトラッカーやクラウドのツールと交互に使うからマウスに持ち替えずにキーボードだけであらゆるGit操作を駆使!スゴイ腕前!とはならないかなあ
やっぱり達人は5chもcurlで書き込んでんのかな
2025/03/07(金) 20:58:11.36ID:t6N/68bn0
>>394
そもそもそういうのはref検索とかで指定しない?
ログを目視しながらハッシュ値を探したりしないと思うんだが
ハッシュ値で指定することなんてめっにないんだから気にする時点で何か効率の悪いことしてる気がする
2025/03/07(金) 21:01:27.92ID:qVctmwDB0
GUIやCUIの原理主義者じゃない限り
どっちでも使いやすいところで使い分ければ済む話だろ
ただ、GUIに関しては、CUIのコマンドオプションの何を行うコマンドかが分かる程度に表記してほしい
英語表記でも微妙、日本語ならばなおさら困惑する
できればCUIのコマンドオプションを併記してほしい
2025/03/08(土) 00:55:57.26ID:f1gAdLsE0
ハッシュ値指定しない人は多分GitHub使ったことないんだと思う
2025/03/08(土) 11:24:47.06ID:lsvDMVeL0
Git v2.49.0-rc1
2025/03/08(土) 11:29:06.73ID:lsvDMVeL0
>>400
ChangeLogに以下の説明があり、Git3.0にむけてbreaking changeがある模様

* Following the procedure we established to introduce breaking
changes for Git 3.0, allow an early opt-in for removing support of
$GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure
remotes.
2025/03/08(土) 12:22:24.00ID:kCgnTDtk0
githubで全然草生やせないんだけど
2025/03/09(日) 18:13:33.28ID:fe3LNf260
>>356
gitk 見ながら CLI 操作ってのが個人的には最強
2025/03/11(火) 10:16:27.19ID:gbyV8IdY0
Git v2.49.0-rc2
2025/03/15(土) 12:09:57.15ID:PGLL/72K0
Git v2.49.0
2025/04/08(火) 16:01:12.91ID:3wE3gtcN0
「Git」誕生から20周年を記念してリーナス・トーバルズ氏が開発初期の裏事情や使用頻度の高いコマンドなどを明かす
https://gigazine.net/news/20250408-git-20-years-linus-torvalds/
2025/04/09(水) 16:03:54.93ID:IrWwI/nb0
複数ファイル名を入力するときはGUIでポチポチ選択したい
2025/04/18(金) 20:54:17.74ID:pzk2UeIY0
10日で開発したL・トーバルズ氏も想定外?--「Git」誕生から20年、定番VCSの軌跡とその影響
ps://japan.zdnet.com/article/35231917/
409デフォルトの名無しさん (ブーイモ MM8f-utm5)
垢版 |
2025/04/27(日) 17:55:28.09ID:sTr1luuSM
このスレッドはLinux開発のGitの世界を語りだす気持ち悪い人間がいるから困る
2025/05/15(木) 13:14:12.18ID:UmAf9vRJ0
最新版で行ったバグ修正の部分だけを旧バージョンにも適用したい場合、チェリーピックを行うことになりますか?
その場合、ログの樹形図には、このコミットを持ってきたよという線は作られずに、別々の作業という表現になってしまいますか?
2025/05/15(木) 13:54:33.66ID:F0izL13m0
>>410
それであってるよ

直接 cherry-pick せずにバグ修正だけ入ったブランチを作ってそっちをマージという形にするやり方も一応あるけど大した違いはない
系統樹にはならないのでコミットログにどこから cherry-pick したかを残しておく(変なオプション使わなければ勝手に残るよ)
2025/05/15(木) 17:08:27.77ID:UmAf9vRJ0
>>411
ありがとうございます
旧バージョンのこういうメンテナンスは、チェリーピックを使っていくことになるのですね
2025/05/15(木) 17:42:53.69ID:F0izL13m0
>>412
親子関係にない(できない)間でのパッチの流用は cherry-pick でやるのが基本
git のコードの移動は(特殊なの除くと)merge, rebase, cherry-pick の3つだけ
逆に言うと cherry-pick は最重要3役のひとつ
2025/05/15(木) 18:00:11.34ID:eepuMYHW0
rebaseってcherry-pickの繰り返しと同じじゃねーの?
2025/05/15(木) 20:13:23.49ID:F0izL13m0
>>414
似てるけど違うよ、オプションにもよるけど
●rebase は今いるブランチを移動させる
○cherry-pick はよそのブランチからコピーしてくる
コピーとムーブの違い、方向も逆なので注意
あと cherry-pick も範囲指定で複数一度にコピーできるよ
2025/05/15(木) 20:20:09.57ID:eepuMYHW0
>>415
rebaseしても元のコミットは残ってるからmoveじゃないし
2025/05/15(木) 20:35:51.71ID:F0izL13m0
>>416
何言ってるわからん
ブランチを移動させたらもとのブランチはなくなる(ブランチに所属しなくなったコミットは後からガベコレで消される)
もちろん別の名前でブランチが残っていればそっちは移動してないのでコミットは消されない
2025/05/15(木) 21:36:14.90ID:eepuMYHW0
>>417
gitにコミットのmoveなんて概念ないでしょってこと
2025/05/15(木) 21:39:50.81ID:F0izL13m0
>>418
概念はある
実装が移動先にコピーして後から削除になってるだけ(主に undo 用にしばらく残してる
2025/05/15(木) 21:48:52.03ID:6KG6JIoe0
mergeもcherry-pickもrebaseも普通に新しいコミットを作る
そのコミットの作り方がユースケースに応じて3種類あるってだけのこと
421デフォルトの名無しさん (ワッチョイ 7f63-3auX)
垢版 |
2025/05/15(木) 22:25:09.18ID:AuSI2AJ/0
>>414
同じだよ
2025/05/15(木) 22:42:29.15ID:eepuMYHW0
>>419
だからハッシュ番号変わるんだからmoveじゃないって
自分でも元が残ってるって言ってんじゃん
その理解大丈夫?
2025/05/15(木) 23:05:28.17ID:F0izL13m0
>>422
コンピュータ技術ではコピーして元のを消すのもムーブいうんだよ IDとかアドレスが変わってもムーブって呼ぶの
知らなかったの? 勉強になって良かったな
2025/05/16(金) 00:59:49.81ID:9SpA05Ma0
円錐を横から見た人が三角だといい下から見た人が丸だというような構図ですね
人は争いをやめられないので滅ぼすしかないですね
2025/05/16(金) 01:36:29.34ID:b2vWvm610
>>423
そもそもコピーじゃないからな
コミットの内容は元とは完全に別物であり、差分だけが再現されている
勉強になって良かったな
2025/05/16(金) 08:05:25.71ID:D2sZkK900
>>425
幼稚園児か?
完全一致じゃないとコピーじゃないとか言いだしたらファイルコピーとかも所有者とか日付とかいろいろ変わるのコピーじゃなくなるぞ
git のは日付とか作者は変わらないのでまだ保存性高いぞ

cherry-pick と rebase が一緒なんて恥ずかしいこと言ったの話をそらしてごまかしたいんだろうけど無理がありすぎる
cherry-pick は元のが消えない、rebase は元のが消える、方向も逆、べつもの、あきらめろ
2025/05/16(金) 09:43:07.63ID:L+lmGGRS0
>>426
分かって言ってるのかどうか知らないけど、日付が変わるとかのレベルじゃなく、そもそも差分箇所以外は原理上全くの別物よ
変更内容のムーブというならまだしもコミットのムーブは流石に意味不明
2025/05/16(金) 10:35:41.49ID:D2sZkK900
>>427
誤魔化すな rebase と cherry-pick は別物、元が消える(ムーブ)のと、消えない(コピー)の違い
ここで言ってるのは元が消えるかどうか、完全一致とかの話題ではない
2025/05/16(金) 10:46:52.99ID:FmZiuEdw0
rebaseで元は消えないでしょおじいちゃん
2025/05/16(金) 10:57:16.90ID:D2sZkK900
>>429
もしかして誤魔化してるじゃなくて本当に分かってないの? マジ?
431デフォルトの名無しさん (スップ Sd1f-/14X)
垢版 |
2025/05/16(金) 10:59:28.32ID:iN5covy8d
まあ公式が同じだって言ってるしなあ
2025/05/16(金) 11:09:39.47ID:D2sZkK900
0┳A━B
┗X━Y

0━A━B━X━Y
にする時に使うのが rebase
0┳A━B━X━Y
┗X━Y
にする時に使うのが cherry-pick
基本中の基本
2025/05/16(金) 11:30:53.42ID:9SpA05Ma0
いやどう考えてもそのレベルの話は全員わかってるやろ
この一連のやり取りに足りないのは知識でもIQでもなくEQ
お前ら小学生からリベースしろ
2025/05/16(金) 11:33:59.63ID:epkpTq3tM
>>430
rebaseはcherry-pickで新しいコミットが作られてそっちに単なるポインタであるブランチが移動したのと同等
コミット消すとか移動とかいう動作は含まれない
どこからも参照されなくなったらいずれgcで消えるってだけ
435デフォルトの名無しさん (ワッチョイ ffd6-Zxmy)
垢版 |
2025/05/16(金) 13:50:52.44ID:BDyQbzP90
英語が下手でコミットメッセージを書くのが苦手だったんだけど、AIで自動化したら快適になったぜ
2025/05/16(金) 14:44:19.53ID:x3RHmTCL0
>>435
そうなるともう、ログなんか書かなくていいんじゃないのとなってくるな
2025/05/16(金) 14:58:50.14ID:D2sZkK900
>>434
cherry-pick と rebase は別物って納得したんだな
2025/05/16(金) 15:09:24.62ID:D2sZkK900
rebase の内部動作の話するんなら
1. 分岐点を自動で探し出す
2. 分岐点からヘッドまでを対象の場所へ cherry-pick する
3. 元の場所のブランチ名を消す
4. 新しい場所にブランチ名をつける
5. ガベコレで古いブランチのコミットが消える
これを cherry-pick を繰り返すのと同じだと主張してる時点で何も分かってない
2025/05/16(金) 15:11:49.54ID:FmZiuEdw0
moveなんてアホな説明しなけりゃよかったのにね
2025/05/16(金) 15:18:53.26ID:D2sZkK900
>>439
移動してるだろ 432 見たら一目瞭然
コレが基本概念
内部実装の話しして誤魔化そうとしてても、お前が間抜けなこと言った時事は消えない
2025/05/16(金) 16:07:30.58ID:Jf7EmrNva
>>435
英語で直感的にヤバい時のメッセージに気付く訓練もいるから、AIは使えばいいけど読み書きの練習はしておけよ、と思った。
442デフォルトの名無しさん (ワッチョイ 7fc2-3auX)
垢版 |
2025/05/16(金) 18:15:56.05ID:Mw5Je42+0
とりあえずDt80は一度公式読んできなよ
たかが間違って覚えてたところで誰も煽りやしないよ
あと描いてたツリーで、XだのYだのをリベースなりチェリーピックなりしたやつはXダッシュとかYダッシュとかにしよう
そこだけ流石に同じ文字じゃ読んでてちょっと気持ち悪すぎる
2025/05/16(金) 18:36:45.50ID:D2sZkK900
>>442
今でも「rebase は cherry-pick を繰り返しただけ」と主張してるの?
そんな覚え違いしてるのお前だけだろ、この通りの文言があったらポインタ示してみろ

どっかの変なサイトが誤訳してるのなら知らんが rebase は cherry-pick してるだけじゃないことはお前も完全に理解できてるだろ
444デフォルトの名無しさん (スップ Sd1f-/14X)
垢版 |
2025/05/16(金) 21:29:57.00ID:iN5covy8d
このページのgit rebaseの項に書いてあるよ
https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Patching
2025/05/16(金) 23:12:54.87ID:D2sZkK900
>>444

どう訳したらそう誤解するんだ? 別物だというのは文章から明らかだろう

エスパーしてみると
違うからこそ basically ってわざわざ明確に書かれてるに、もしかして basically て単語知らなかったとか?
native のつかうbasically は「基本部分では、だいたいにおいて」みたいなニュアンスで、本当に同じ時には使わない
「だいたい同じ」を「同じ」って覚えてたんじゃないの?
2025/05/16(金) 23:28:45.03ID:CtDSSAzzH
>>445
さすがに苦しいぞ
2025/05/16(金) 23:33:35.97ID:D2sZkK900
>>446
でどう訳したの?
2025/05/17(土) 08:56:34.42ID:TogutASM0
方向の違いとかコピーとムーブの違いが「同じ」と「だいたい同じ」の違いというわけか。
2025/05/17(土) 09:18:39.88ID:S33C25YC0
間違いを絶対認めたくないマン
公式まで否定
2025/05/17(土) 17:33:51.01ID:t4AM4T1l0
>>449
あー、どう訳したか説明しないとこ見るとエスパーが図星なのか
公式が初心者向けに「ほぼ同じです、でもこういう点が違います。詳しい説明はこちらって」って書いてるのの最初のとこだけ見て「ほぼ」も見ないで、後に続く説明もリンク先の詳細も無視して同じって言い張ってただけか
それはお前の読解力が足りてないだけ、公式のせいじゃないぞ
451デフォルトの名無しさん (ワッチョイ 7f5e-3auX)
垢版 |
2025/05/17(土) 17:48:34.70ID:C8ddlcHs0
>>450
訳というかそもそもそのドキュメントは色んな言語版が用意されてて日本語のものもあるよ
訳が気になるなら読んでみよう
2025/05/17(土) 18:11:19.00ID:t4AM4T1l0
>>451
誤魔化してないで「お前が」同じだと主張する部分を説明してみろ
少なくともリンク先の英語の初心者向けの紹介には書いてないぞ
本当に同じならお前が cherry-pick で rebase 実装してみろ、そうすればみんな納得するだろう、技術者なら実際にやれば同じか別物か分かるだろう
git のソースコード読んだことないやつには想像もつかんだろうが rebase はかなり複雑なことをやってる、初心者向けのページすらまともに読み解けないお前には最初の1歩目の分岐点を探し出す作業ですら絶対に無理と予言しよう
2025/05/17(土) 20:46:35.58ID:S33C25YC0
そこで何か違うか端的に説明できたらよかったねおじいちゃん
何がmoveしてんですかぁ?
commitじゃなくてbranchのことですかぁ?
じゃcopyってどうゆうことですかぁ?
2025/05/17(土) 23:11:17.26ID:t4AM4T1l0
>>453
話逸らさずに同じとういうことを証明してみろ
細かい事いえば山程違いがあるけど、違うというのは 432 で素人にも一目瞭然なのに覆せるわけないだろう
間違えた恥ずかしい事実はごまかせないぞ
2025/05/17(土) 23:17:53.88ID:pDSuIsUc0
違いがあるというなら、あなたがコミットのコピー/ムーブと呼ぶものはどちらも実際には全く異なるコミットを作り出すでしょう
そういうのをダブスタという
2025/05/18(日) 00:30:50.11ID:t1q8u3yl0
>>455
読解力ないの日本語のなんだな
2025/05/18(日) 03:09:09.55ID:G2loPi6x0
なんて?
2025/05/19(月) 09:09:53.56ID:E91ALV1Y0
>>432
XY両方ではなく、XやYのみを取り込むのがcherry-pickというイメージだが
2025/05/19(月) 21:35:49.68ID:LwAOa5bv0
>>458
普通の範囲指定が効くので
その図なら git cherry-pick ..Y みたいに指定すれば X と Y の両方 cherry-pick できるよ
2025/05/20(火) 08:32:54.32ID:IobDhVYO0
会話が噛み合わないコントみたいなスレで草
みんな文意文脈にももっと気を配ろうぜ
2025/05/20(火) 15:48:18.98ID:iWs/HqBfa
「エクスプローラー」の「Git」統合などが実現へ ~Microsoftが開発者向け新機能
ps://forest.watch.impress.co.jp/docs/news/2015419.html
2025/05/20(火) 16:58:09.70ID:lxraH8Xn0
亀の出番がなくなるのか?
2025/05/21(水) 08:05:21.38ID:oZBirtTV0
エクスプローラーなんて、Windows7のときに使わなくなったな
2025/05/21(水) 10:18:53.96ID:va6/rMbaa
MSアカウントにログインしないとExoplorer使えないとか
もうWindows要らんな
2025/05/25(日) 03:59:20.13ID:5SaResX20
わざわざExplorerからコミットとかプッシュする奴おるんかw
2025/05/25(日) 07:06:19.26ID:EfROU4yga
OSのSystem領域も含めて全部がリモートリポジトリの運用かな。
2025/05/25(日) 08:49:46.44ID:JDhr0Ivk0
>>465
申し訳ありません、今でもTortoiseGitでやってます
2025/05/25(日) 09:13:50.01ID:TXvAFiBF0
Windowsだと、手取り足取り指示してあげないと自分で何もできない「開発者」をExcel方眼紙の手順書で「プログラミング」してあげるような仕事も多いから、
そういう場合に「開発者」の手元にいちいちGitクライアントを導入させるという頭悪い手順を記載する必要がなくなるなら便利かもしれない
2025/05/29(木) 02:32:23.75ID:oHIdrLSz0
Git v2.50.0-rc0
2025/06/04(水) 13:13:31.34ID:nhmcxHVz0
Git v2.50.0-rc1
471デフォルトの名無しさん (スッップ Sda2-in7m)
垢版 |
2025/06/06(金) 01:08:14.98ID:45aWa19td
gitもはや20年か
2025/06/07(土) 08:05:32.65ID:tgCEw1aU0
gitアレルギー
2025/06/10(火) 09:49:47.00ID:DFb9gzxN0
Git v2.50.0-rc2
2025/06/17(火) 08:04:33.42ID:JQTnqwjt0
Git v2.50.0
2025/06/18(水) 00:48:41.95ID:zWpFFB0D0
オススメのgitクライアント教えて
source treeはなんかuiの一つ一つがデカくて肌に合わなかった
2025/06/18(水) 02:39:03.14ID:QsB71xf70
自分はlazygitとVSCodeだな
2025/06/18(水) 08:16:55.75ID:6RiwAFGc0
うちではSourceTreeというやつを使ってるよ
2025/06/18(水) 09:02:23.67ID:7Ghn3yO50
使いにくいやつね
2025/06/18(水) 18:04:24.45ID:c2eS9NyS0
lazygitかSourcetreeだな。
2025/06/19(木) 20:10:05.29ID:dNWjhAfr0
わかばちゃんの中の人
ps://x.com/llminatoll/status/1935310637196095988?t=KJizsM3DHuYlJSyTCzcZcg&s=19
2025/06/21(土) 23:55:27.59ID:Rsg0aBc50
VSCodeの拡張機能で提供されてる Git Graphが 使いやすいね
2025/06/22(日) 00:39:02.97ID:L6Wg3CMhM
あれいいよね、見やすい
ハッシュ手打ちの人がんばってw
2025/06/22(日) 06:56:54.23ID:APGUbecj0
CUI でもハッシュを手打ちすることなんてほぼないだろ
ブランチもタグも検索も使ってないんだろうか?
2025/06/22(日) 18:51:38.68ID:4jZfNTw30
>>481
んー

でも、他のGitクライアントも似たもんじゃないの?
2025/06/23(月) 11:27:58.47ID:KosRMA640
似たような、がどの辺を指してるかにもよる。
rebaseかstash簡単にしたい、tag打ちたい、ブランチ作りたいならだいたいどれでも出来る。
 ただ現場で初心者多くて教育面倒だし日本語じゃなきゃだめとかいうなら、SourceTreeか
非公式多言語版GitHub Desktopしかないと思う。
2025/06/23(月) 12:06:20.95ID:9uUr9jSA0
>>485
で、ベストは?
英語でも有料でも、なんでもいいので
2025/06/23(月) 12:11:55.90ID:qqxmiRlS0
interactiveなrebaseをサポートできてないやつ多いでしょ
2025/06/23(月) 17:00:15.66ID:KosRMA640
基本は好きなの使えばいいよ。
対面レビューで追加コミット後に「レビューOKだからコミットひとつにまとめといて」って言われたり
「ウチは協力会社に外資いるから日本語コメントだめなんだ、英語にしといて」って言われない限り
rebase(やsquash)やamend使うこともないだろうし。
2025/06/23(月) 18:37:21.89ID:MPl++Mur0
いや rebase -i も --amend も使いまくりだろ
何なら一番多く使うコマンドまでありえる
一発で完璧な記録できて後は触らないみたいな超人じゃなきゃ、普通に多用するだろ
2025/06/23(月) 19:49:45.04ID:Z8z+4HFt0
といっても元のコミットがある程度ちゃんと作られてることが前提じゃない?
単に作業のチェックポイントとして気軽にコミットしてると、いざコードレビュー前に整理しようとしたときには元のコミットを無理に再利用するより
resetして作り直した方が早いことが個人的には多い
書いてて思ったけど、元のコミットがすでに整理されている上で修正を入れる状況としては、コードレビューの中での修正があるね
もしチームのポリシーとして瑣末な指摘反映をログに残さないことにしているなら、レビュー後マージ前にrebase -iするのは便利かもしれない
2025/06/23(月) 21:20:02.74ID:MPl++Mur0
そっちじゃなくて手元で色々作り散らかしたコミット履歴を綺麗に読み易く整理してから、レビューに出す。
順番入れ替えたり、コミットメッセージを分かり易くしたり、不要な履歴を消したり、コミットを意味に合わせて分割したり、統合したり
その整理に活躍するコマンドが rebase -i、慣れると手放せない

読み易く整理されてれば他人の時間の節約になる、試行錯誤とかタイポ修正とかの痕跡を他人に見せて時間を奪わなくてすむ
2025/06/23(月) 22:25:23.37ID:YcF93ZoT0
そんなの方法を議論する以前にもうAIにやらせたらいいんじゃないかという気もするが、
AIにやらせるならやっぱり一連のgitコマンドを直接生成させるのがいいのかなあ
コマンドだと人間が実行前にレビューするのは辛いものがあるから、diff入りのコミットログみたいな形式で生成させて、resetした上でそれを反映するのがいいと思うんだけど
2025/06/24(火) 07:59:57.08ID:oSvYVpQb0
>>492
AI に期待し杉
今のAIはしょせん賢い検索エンジンに過ぎない
学習したことの最も多数派の意見をそれらしく繋ぎ合わせてるに過ぎない
素人が玄人の作業を真似るのには使えるけど、玄人の創造的作業の代替は無理
2025/06/24(火) 08:31:50.93ID:1VpUD11F0
>>491
プロトタイプであれやこれやするなら、さらにブランチ作って動くようになったら新しいブランチに
Squash and Mergeして、そっちのブランチをレビュー対象にした方が楽なんじゃ?
2025/06/24(火) 10:30:20.42ID:oSvYVpQb0
>>494
いやだから、色々なブランチに順不同で入ってるやつの共通部分を括りだして独立したコミットにしたり、一つのコミットを内容に合わせて複数に分割したり、ばらばらのを分かり易く統合したり
やるべきこっとはいっぱいあるだろ
merge も squash も amend も全部 rebase -i を使ってやる、rebase -i を何だと思ってるんだ?
2025/06/26(木) 10:59:58.77ID:JcQLzuh60
amendやsquashを一般人が簡単にやりたいならGitHub Desktopの履歴のとこから出来るけど
使用説明が一切ないんだよなあ。圧倒的なドキュメント不足。
2025/06/26(木) 12:02:10.03ID:3juiMOaqM
>>495
アトミックに細かくコミットする人ならrebase -iでの整理は容易だろうけど、分割が多い場合は面倒臭すぎるでしょ
resetしてやり直した方が早いわ
2025/06/26(木) 14:45:21.20ID:rhHx6Nng0
>>497
意味分からん
「細かくコミット」と「分割が多い」は同じじゃないの? お前の用語での違いは何?

コミットを統合したり分割したりするのも rebase -i から始めるのに?
いくらでも変えられるのに何が問題なの?
2025/06/26(木) 17:51:44.27ID:JcQLzuh60
「細かくコミット」がバックアップ保証のつもり(で修正が動くかどうかも分からん)なら、
都度commitだけしといてpushは待っとけばいいんじゃないかなと思ったり。
2025/06/27(金) 10:30:24.43ID:KAeTyQMQ0
当たり前だろ
動作確認できてないものpushすんなよ
2025/06/27(金) 10:39:46.35ID:iePZ28tO0
>>500
どこに push するか次第だよな

共有リポジトリや公開リポジトリに push しちゃ駄目だろうけど個人のバックアップ・リポジトリとかに push しとくのは自由
リポジトリやブランチを好きなだけ作れて高速に同期できるのが git の利点なんで限られた少数のリポジトリしか使わないのはもったいない
2025/06/27(金) 10:46:55.51ID:Vbo+wzUI0
GitHubでのチーム開発だと普通に共有リポジトリにpushするけどな。
ただしpush先はいわゆるfeatureブランチなど、そのタスク専用のブランチ。
draft pull requestを作っておいて他人から容易に目に見えるようにするとなお良い。
むしろ手元で長いこと留めてあいつ何やってんだろと思ったら突然クソデカpull request投げてくるような奴は嫌われるよ。まあ開発に限った話ではないが。
2025/06/27(金) 14:47:42.22ID:iePZ28tO0
>>502
その辺はチームの方針次第だね
リポジトリで分けるのかブランチで分けるのか、個人専用かチーム用か、機能ごとか開発単位ごとか、公開範囲やレビューの手順や粒度をどうするか
マージやプルはとにかく、レビューは機能単位で小分けにやった方が良いとは思う(個人の意見
2025/06/27(金) 15:24:34.92ID:caL9+2zdM
>>503
本題からは逸れるんだが、企業での開発で個人リポジトリにforkする運用ってなんかメリットあるのかな?
自分はこれまで共有リポジトリ運用しか見たことがない
なお、新卒がいきなりforkして怒られてるのは何度か見た
forkして複数の共有リポジトリを使うのは複数の会社がいてそれぞれガバナンスが違うケースなんかで珍しくないけど
2025/06/27(金) 17:03:03.14ID:iePZ28tO0
>>504
github みたいに fork って呼ぶから混乱するんじゃないかな? オープンソースじゃないから単なる clone だろ
開発用の clone はいくつあっても良い、個人用でもデスクトップとノートPCとサーバと複数の場所にリポジトリもってて定期的に同期させたりしながら、移動中とか自宅とか会議中(笑)に開発したりできる
もちろん会社の情報統制や社外秘情報の漏出防止のためにコピー禁止とか部屋外に持ち出し禁止とか決まりあれば従わないと駄目だが
2025/06/28(土) 00:10:08.26ID:Nhn9wgjX0
Gitむずかしい…
Pythonよりむずかしい…
2025/06/28(土) 11:34:58.63ID:WNSkpT1F0
雑にpushするブランチを作ってあるので
ホイホイプッシュしてる
2025/06/28(土) 14:23:18.12ID:ps+a9/JT0
いやPythonの方が難しいでしょ
2025/06/28(土) 15:15:53.19ID:Nhn9wgjX0
初心者なんですが、
branch1とbranch2があって、
branch1にcheckout後に、>git merge branch2 と、
branch2にcheckout後に、>git merge branch1 って、
結果は同じ?
2025/06/28(土) 15:31:34.65ID:XJ1OnLan0
>>509
ソースコードの内容は同じになる
ログは違う形になる
ログはどのようにソースを扱ってきたかの履歴書や歴史書のようなものなので複雑で大規模なプロジェクトほど価値が出る
2025/06/28(土) 15:47:58.18ID:Nhn9wgjX0
>>510
あ、
今やってみましたが、
mergeコマンド実行するときの自分がいるブランチのほうが、引き続き残るって感じですかね?
2025/06/28(土) 16:06:18.63ID:XJ1OnLan0
>>511
ブランチ自体はどちらも残る
自分がいる方のブランチはマージ結果を指す形で歴史が一方進む
そうじゃない方のブランチはありのまま残る
2025/06/28(土) 17:09:16.02ID:GU5N/G5Q0
「自分が今いるブランチに指定したブランチの「内容」を混ぜ(merge)する」というのがコマンドの意味

当然
・今いるブランチは書き換わってコミットが進む
・指定したブランチには変化なし
2025/06/28(土) 18:17:50.37ID:Nhn9wgjX0
>>512
あ、
自分がいたほうじゃない方のブランチは、
branch3とかにつなげられますね…
2025/06/28(土) 18:19:22.53ID:Nhn9wgjX0
>>513
ですね

わからない理由は、日本語のまともな解説が無いからですね…
海外の解説で、ようやく理解できました…
516デフォルトの名無しさん (ワッチョイ 6224-Ieqc)
垢版 |
2025/07/01(火) 20:11:53.56ID:HVBtOzc60
混じるからマージる
2025/07/01(火) 22:46:34.19ID:BgB6BrdO0
去年のリリースの記憶をタグる
2025/07/02(水) 21:57:57.01ID:xYSFlqIW0
頭悪い人って自分が理解できないのを説明する人のせいにしがちだよね
説明が悪いならなんでお前以外の人は理解できてるのかと
2025/07/03(木) 03:33:50.65ID:ZlHu/VzU0
能力不足故に検索の仕方や聞き方が下手で自らが望む解説に効率的にアクセスできない
ダニングクルーガー効果のような認知バイアス
元から他責的、依存的なせいで残り少しの努力を怠り多方面で理解不足に陥りがち
この中のどれかか、複合要因ではないかな
2025/07/05(土) 16:41:53.58ID:Jt1MZnHo0
>>518
それは、
運良くいい説明を見れたからでしょ

お前には無理そうだが
2025/07/05(土) 17:28:57.77ID:99i/fp2o0
大丈夫だよ
プログラム書いたらビッとコミットしてギュッとプッシュしてギャンよ
522デフォルトの名無しさん (ワッチョイ 9f91-oWNB)
垢版 |
2025/07/06(日) 09:39:11.50ID:AHvPqc/80
コミッとコミットする
2025/07/09(水) 16:29:53.53ID:NiP9rW7K0
Git v2.50.1
2025/07/09(水) 20:54:58.43ID:5nTmkCkK0
初心者の質問ですが、
Linux(サーバー的なもの)に、GitHubのレポジトリをクローンして来て、
それをWindowsパソコンからSSH接続して、
Gitの履歴の図(Gitグラフ?)って見る方法ありますか?
525デフォルトの名無しさん (ワッチョイ 9f85-NzCA)
垢版 |
2025/07/09(水) 22:47:25.77ID:OQriWW8/0
ありますね
2025/07/10(木) 12:47:26.79ID:+1gidKVl0
>>525
会話を広げる癖をつけろ童貞
2025/07/10(木) 20:49:27.62ID:tN4eS5FO0
>>526
なら会話広げればいいじゃん。
2025/07/13(日) 17:29:18.40ID:QlUonva10
>>524
sshで git log --graph で履歴取ってきて、mermaid変換してmarkdown埋め込みにすればいいんじゃね?
2025/08/06(水) 12:13:19.02ID:48BfQKJO0
>>526
あると信じて検索すれば報われますよというありがたい情報だぞ
2025/08/13(水) 06:18:19.45ID:YOB+IZc5r
やりますね
2025/10/22(水) 09:23:57.49ID:pnMMn99c0
https://forest.watch.impress.co.jp/docs/news/2056148.html
次のバージョンからgit svnが廃止されると書いてあるけど、
これはSubversionからの変換もできなくなるということでしょうか
532デフォルトの名無しさん (ワッチョイ 1abb-Telw)
垢版 |
2025/10/22(水) 13:20:45.27ID:2nDvyZJf0
Git for Windowsの次回メジャーリリースでの話をしてるならそうだよ
旧バージョンや本家を使うとか、svn2gitだとか別VCS経由とか手作業での移行だとかは出来るでしょう
2025/10/22(水) 13:52:16.21ID:Nfi7SE1t0
もうシンプルに使われてる機能だけをブラッシュアップすればいい思う。
互換性とか古いものをメンテし続けるのは大変だよ。
534デフォルトの名無しさん (アウアウウー Sa09-6N1s)
垢版 |
2025/10/24(金) 14:37:23.45ID:nAYKU6CIa
いまだに新規プロジェクトでSubversionからっていうのはもう洗脳されてるから放置で良いし
Subversionから変換する気があるならもうとっくにやってるだろうし
2025/10/24(金) 15:02:05.38ID:ZcyI5XOE0
Windowsユーザーだと、業務でSVNを使わざるを得ないがGitコマンド経由で使うことで辛うじて自己の尊厳を保っていた人もいそうだな
電車止まりそう
2025/10/24(金) 18:33:25.65ID:J3E6mCG+0
>>535
そんなプロジェクトやだなぁ
2025/10/24(金) 20:17:02.32ID:NslM5AvMr
令和なのにまだSVNで消耗してる人いるんだ
絶滅危惧種かな
2025/10/24(金) 23:30:36.26ID:vJAYr0tv0
>>535
Gitって、開発速度は遅くなるよね
コードレビューとか丁寧にやると遅くなるよね…
2025/10/25(土) 00:27:30.86ID:a9lDbV800
>>538
規模(参加人数、開発期間、コードサイズ)次第。大きくなれば git 使った方が早い
2025/10/25(土) 04:23:36.31ID:kofX/eP60
>>538
gitだからコードレビューが必要って認識?
アホじゃね?
2025/10/25(土) 08:42:34.81ID:/eT+OdROH
SVNと比較しての話なら、Gitはコミットやブランチの操作が遥かに軽量だからこそ、
チームが必要以上に面倒なワークフローを作り込みがちな面があることは否定できないな
非機能要件でちゃんとバージョン管理しろと書かれているからという理由だけでVCS使ってるような典型的な業務系でSVN使い続けてるようなとこだと、
レビュー済みまたはリリース済みのコードをコミットするだけみたいな運用は珍しくないからな
そういった意味で、VCSの運用という点だけ見ればGitの方が複雑になる傾向があるとは思う
2025/10/25(土) 12:06:31.87ID:lNU8C84m0
>>539
まあ、
大規模だと、ちゃんと管理が必要ですね…
2025/10/25(土) 14:26:57.22ID:H78EacVr0
>>538
御社はコードレビューまともにやらんのですか?
2025/10/28(火) 13:00:39.46ID:4N3qsL5c0
>>543
それGitに関係あるって話だと思う。
Pull requestのことを言ってるのならGithubとかの話だし。
2025/10/28(火) 15:19:39.06ID:/5MDlnTO0
>>544
その辺はまちまちだろう
コードレビューの仕組みに git を組み込んでる所もあれば別の方法を取っているところもある
コードレビューの結果を git に格納している所もあれば別の仕組みで管理してるとこもある
別の仕組みで管理していても git にコミットしたら自動的にレビューやテストに連携する仕掛けを作ってるところもある

作成したコードをいったん git に入れて git に差分を出力させて、それをメールで送ってレビューやってるOSのカーネルもある
2025/10/30(木) 02:49:22.78ID:q+RoJBty0
これまで数社で目撃した光景だけどsvnからgitへの移行にはどこも苦労してた
当然gitなんて触ったことないメンバーが移行なんて上手くできないから、中途組やBPでやることになり負荷が集中
運用フローも現行の運用を把握したうえでの整備になり、ヒアリングも苦戦

何より、移行するメリットをみんなが納得してくれなくて進まないこともあった
最近だとgithub copilotのおかげで移行するメリットは説明しやすくなったと思うけど
2025/10/30(木) 13:33:16.77ID:JnQiXLC30
移行できないのは無能のおっさんだけだけとな
若い奴らは学校で使ってたし、できるやつは仕事以外などで当然git使った経験ある
2025/10/30(木) 15:54:37.40ID:zX8qdRgz0
まあ苦労を愚痴るくらいはいいだろう
けど一度両方に使い慣れるとソース管理でSVNを選ぼうとする人間はほぼいなくなる
心理的ハードルの高さを理由に未だに挑戦すらできないのは自身の経験からしか学べない愚か者か情弱か、周囲が低スキルの作業者しかいない色々諦めてる人かなと思う
2025/10/30(木) 16:29:49.89ID:c0k0xQOf0
何をしたいかによるな
ちゃんと手間暇かけて記録を残して共有したいのなら git は素晴らしい
某バケツくんのようにバックアップ取りたいだけなら svn でも過剰機能
2025/10/30(木) 17:05:22.68ID:W1lion0Ta
某バケツ/長文くん...
GitHab 他で、外部のホスティングサービスを使うのが普通になるなんて10年前には、中々考えにくかったね。
Git の力は凄いね。
2025/11/03(月) 13:15:47.38ID:r5+FjR750
オンプレや望むならローカルでもGitLabのCE版やGitBucket使えば出来るけどなあ。
VisualSVNほどお手軽ではないけど。
552デフォルトの名無しさん (ブーイモ MM9f-Xz0w)
垢版 |
2025/11/13(木) 20:41:16.25ID:Qom0QzkiM
Gitはいろんな使い方ができてしまうことがあだとなってしまっている。
2025/11/13(木) 20:48:42.86ID:PKGW+vLo0
Gitって、
Pullして自動でソースコードをマージってできないの?
2025/11/13(木) 23:03:52.93ID:VOpdlSZF0
>>553
pull って単に「fetch して merge 」の省略形なので当然 merge されるが
何を聞きたい?
2025/11/15(土) 07:14:55.95ID:WbeS5X/70
マージ・シンプソン
2025/11/16(日) 09:33:15.00ID:FZVYRGsX0
ブランチやFork切ったやつを本流にPR通さず自動的にマージしたいってことかな。
答えは「できない以前に絶対にやるな」だけど。
557デフォルトの名無しさん (ワッチョイ 3d5f-PGJ3)
垢版 |
2025/11/16(日) 10:11:35.18ID:yrwB7Ga/0
Excelファイルで更新し合ってケンカになるタイプだろ
558デフォルトの名無しさん (アウアウウー Sa85-H7iN)
垢版 |
2025/11/16(日) 13:13:38.57ID:0LN83zrSa
.xls .xlsm .xlsx は .gitignore すべし
2025/11/16(日) 13:48:39.22ID:aNRf2eDa0
>>556
puah は他リポジトリへのマージなので push 権限もってれば普通にできるが
何がしたいの?
2025/11/16(日) 13:54:18.17ID:aNRf2eDa0
git は色々柔軟な使い方ができるんだが
質問するやつも回答するやつ自分の使い方限定で詳細言わずにやり取りするせいで
何をしたいかさっぱり
2025/11/16(日) 20:37:45.50ID:22RS930U0
質問してるやつも戻ってこないし本気で解決する気ないんだろ
ほっとけ
562デフォルトの名無しさん (ワッチョイ 22bc-RaAf)
垢版 |
2025/11/17(月) 20:05:10.72ID:2/K3mAIm0
>>554
ローカルに変更がある場合、
それを一回commitしてから、pullするとマージされるんですかね?
そのへんがわかりませんでした…
2025/11/17(月) 21:28:52.94ID:C8hBIp5w0
疑うぐらいなら自分の手元で試したらいいだろカス
2025/11/18(火) 02:15:32.71ID:85wp5LLm0
>>562
当然される。むしろそのためのコマンド
pull は remote のブランチを取ってきて local のブランチにマージするために使うのが基本
取ってくるだけなら fetch コマンドを使う
565デフォルトの名無しさん (ワッチョイ 22eb-RaAf)
垢版 |
2025/11/18(火) 06:57:03.10ID:tB6cP1ph0
>>564
いや、そういう質問意図じゃなくて、
マージしたいけど、commitしないとマージできないんだなと…

ありがとう
2025/11/18(火) 08:50:56.32ID:85wp5LLm0
>>565
用語を誤解してるのかな?
「マージ」というのはリポジトリのブランチに対して「新しいコミット」をつなげる作業なのでリポジトリに入れていないワーキングツリー上のみの変化は対象外
矛盾が出る場合は警告が出て失敗する

現在の変更作業中のものをコミットせずに pull したい場合にはいったん stash に退避して pull した後に stash pop でワーキングツリーに再反映させるのが基本
567デフォルトの名無しさん (ワッチョイ 02dc-A2v6)
垢版 |
2025/11/18(火) 09:45:22.80ID:9r4MKRAe0
マジ卍
2025/11/18(火) 11:21:49.31ID:z0Auw9920
>>565
先にコミットしないといけない理由はプルで競合したりミスを後悔したり後から気づいたときに変更が混ざってうまく戻せなくて詰むから
わざわざコミットが必要なのかと感じたならその考えが古い
Gitのコミットはプッシュするまでは単なるセーブポイントみたいなものでしかないのでコミット後に切ったり貼ったり戻したり自在にコントロールできる
リスクのある面倒事はセーブしてからやろうねという親切設計
569デフォルトの名無しさん (ワッチョイ 2227-43h0)
垢版 |
2025/11/18(火) 12:43:24.98ID:ZK0HcEny0
分かるんだけど聞きたかったのは多分そういうことじゃないと思うよw
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況