Git 19

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8be4-Cw2/)
垢版 |
2022/11/06(日) 16:40:27.51ID:az1H5JFk0
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git - Fast Version Control System
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/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/11/14(月) 18:31:19.43ID:UbsjwJD50
>>246
長文「バックアップしたいだけなのにそんな難しい機能はいらねーよ!」
2022/11/14(月) 18:38:05.91ID:Vk7GKPFC0
>>246
欲しいって思った機能って調べるとだいたいあるよね。
2022/11/15(火) 06:02:57.49ID:DDE9IX5V0
OSSがコミュニティ的なら、例の「コミュニティの一生」も当てはまってしまうと思うんだよな。
> https://dic.nicovideo.jp/a/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%AE%E4%B8%80%E7%94%9F


【Gitの一生】

Linusが面白いことをする

面白いから凡人が集まってくる >>95

住み着いた凡人が居場所を守るために主張し始める

Linusが見切りをつけて居なくなる

残った凡人が面白くないことをする

面白くないので皆居なくなる


>>176に書いたとおり、人数こそ力の源泉で、「人数の維持」が目的になってるように見える。
だけどそれは本来は手段で、「アプリの品質」を上げるのが目的でしょ。
(まあ賛同されるとは思ってないし、完全に平行線だが)

そもそもGitって今完全にメンテナンス状態?
つまり、本質的な新規機能要求(バックエンドに追加が必要)は無く、View(フロントエンド)をいじってる状態か?
ならまあ、実際面白くもないだろうよ。勿論メンテナはご苦労さんだが。
ああそういえばSHA256対応だっけ?あれは単なる作業だよ、本来は。チャレンジングではないから、面白くもない。
(つかこれがチャレンジングになっちゃうのはコードが糞だからだ。これも何度も説明したけどさ)
2022/11/15(火) 06:03:50.02ID:DDE9IX5V0
>>244
Pailは確かにいい。
ただ問題なのは、バケツは全員通じるが、ペール???な連中向け(俺含めて)のソフトだということだ。
2022/11/15(火) 10:54:20.75ID:ITVdMBx/r
チャレンジングなことしたことないやつほどそういう言葉使うよねぇ
エンジニアに妙な憧れ持ってそう
2022/11/15(火) 11:04:07.91ID:tWQzaYQC0
だから「バケツ(仮)」で新スレつくってそっち行け。git って付けなければ誰も文句は言わん。
2022/11/15(火) 16:01:59.97ID:u2Y2Sh/m0
rebaseって使う機会無いんだけどなぁ
以前、どこかの職場で履歴は一直線がいいとか意味不明な理由でrebaseさせられていた時があったわw
force pushするしかないし気味悪いw
2022/11/15(火) 16:50:03.41ID:bU8+MPV6a
本探してたら、わかばちゃんの旧版の書評に
https://honto.jp/ebook/pd-review_0628444763.html

>実は現場では、SourceTreeは重要でありながら、きちんと使える人は意外と少ない。
本来はこの手の専門家であるはずのプログラマーは、コマンドでGitを使うため、SourceTreeには縁がないからである。

知らなかった。
2022/11/15(火) 17:32:15.63ID:5R6vrZIA0
>>253
あるパッチの中にtypoしているのが後で見つかった場合どうするの?
そのパッチを他のブランチに適用する時困るでしょ
2022/11/15(火) 18:40:15.33ID:u2Y2Sh/m0
>>255
別にまた修正すればいいだけじゃね?
前のブランチに戻って修正するの?w
2022/11/15(火) 19:22:21.43ID:5R6vrZIA0
>>256
ブランチが3つあったら
3回同じ修正しろって言ってるの?
ちょっと問題外すぎ

rebaseいらない。だって3回修正すればいい
だめだこりゃw
2022/11/15(火) 19:26:08.61ID:5R6vrZIA0
多分最新のコードを見ながら必要な部分を
目視でより分けて修正しろって言ってるんだろうな
2022/11/15(火) 19:33:40.07ID:oaKUlL5c0
うちは自分の作業中にもメインブランチがどんどん進むからローカルでrebaseしまくりだな
2022/11/15(火) 19:44:34.40ID:5R6vrZIA0
>>259
普通そうだよね
定期的にrebaseしてないとマージが面倒になるし
2022/11/15(火) 19:55:16.46ID:aKa6LP36a
長文さん、あぼ~んしたいからコテ入れてくれ
2022/11/15(火) 20:22:00.46ID:tWQzaYQC0
rebase 使わないとか git の利点半分くらい捨ててるぞ。
上で言われてるパッチ1個当てるくらいなら cherry-pick で済むけど
ブランチを再構成したり、コミットの順番を入れ替えたり、コミットを統合したり、分離したり、コミットメッセージを修正したり、使わない日がないくらいの万能ツール。
2022/11/15(火) 20:37:46.10ID:5r8tW8Xc0
>>261 今週のうちには専用スレに引っ越してくれるらしいよ。 >>166
> スレは立てるが、肝心のアプリ名を今考え直してるところだから、来週まで待ってくれ。

まぁまた言うだけでやらない理由を長々と説明()しはじめそうな気はしてるけど。
2022/11/15(火) 22:12:13.74ID:u2Y2Sh/m0
>>257
言っている意味が分からんw
checkout -bした時点のbranchが間違ってましたって話?w

どっちにしてもrebaseなんていらんよw
2022/11/15(火) 22:19:29.03ID:26oE0jcj0
>>263
後からどうとでもつけられるアプリ名を理由に挙げるくらいだからね
「アプリ名が気にいらないから他のを考える」とか言いそう
2022/11/15(火) 23:41:22.91ID:xjjxhqm80
rebaseに関しては
履歴を戻ってでもコミットとその流れを綺麗にしたい派

戻るの面倒だし汚くてもいいじゃん派
がいるから話が噛み合わない
2022/11/16(水) 00:06:32.65ID:cpWhvvM10
コミットも含めて作品
ゴミを作ってる人には rebase は不要
そもそも git 不要だな
2022/11/16(水) 02:10:40.58ID:cpGIBcGj0
>>264
だからコミットが複数に分割されてしまうから
rebaseして意味のある単位に整えるんだろうが

いちいちパッチ当てるときに、
あれとこれとそれとどれを当ててくださいって
10個ぐらい持ってこられても困るぞ
2022/11/16(水) 02:12:08.75ID:cpGIBcGj0
>>266
コミットをパッチと考えて
後で再利用することを考えてる人

vs

後で見返すことなんてない人

の違いだな
結局一人プロジェクトなんよ
rebaseを価値を理解してないのは
2022/11/16(水) 02:52:08.03ID:cpWhvvM10
作りながら、やっぱりこのパッチは不要だから外そうとか、このパッチとこのパッチを両方適用して試そうとか、別の人の作業を取り込んで影響を調べようとか、お手軽自由自在にできるのが rebase の真髄
あと昨日の作業でタイポしちゃったとかでも直すのには rebase を使うのが基本
branch と rebase 無しでやれって言われたら気が狂いそう。もう昔には戻れない
2022/11/16(水) 04:26:00.99ID:WlnXLGJV0
パッチ適用 ←ここでコミット

やっぱやめた ←ここでコミット

2つのパッチ適応 ←ここでコミット

別の人の作業を取り込んでみよう ←ここでコミット

タイポ発見修整 ←ここでコミット

何がいけないの?これでいいじゃん
2022/11/16(水) 04:42:56.11ID:cpGIBcGj0
>>271
そんな都合よく行くかよw
実際の開発したことないのか?

パッチ適用 ←ここでコミット
タイポ発見修整 ←ここでコミット
バグ発見修整 ←ここでコミット
やっぱやめた ←ここでコミット
タイポ発見修整 ←ここでコミット
2つのパッチ適応 ←ここでコミット
やっぱやめた ←ここでコミット
タイポ発見修整 ←ここでコミット
別の人の作業を取り込んでみよう ←ここでコミット
バグ発見修整 ←ここでコミット
3つのパッチ適応 ←ここでコミット
バグ発見修整 ←ここでコミット
タイポ発見修整 ←ここでコミット
タイポ発見修整 ←ここでコミット

こんな大量のゴミコミットの中から、必要な部分だけ取り出すとかできるかよ
普段から整頓しておけって、子供の頃に教わらなかったか?
2022/11/16(水) 07:24:52.25ID:4to+8mNM0
>>251
Gitのコンセプトはなかなかチャレンジングだぞ。
全世界で唯一の履歴、完全平行作業(各自が任意のファイルを自由に同時に編集)ってのは、上手く行けば確かに面白い。
思考に階層がまるでない君らには通じないと思うが、
ソフトウェアは本来、実装階層ではなくて、コンセプト階層で勝負すべきなんだよ。
2022/11/16(水) 07:27:07.12ID:4to+8mNM0
>>253
(俺が言うとろくな展開にならなそうだが)
rebaseは清書用だからな。コードを実際に書く人向けではない。
mergeだけでも問題なく行ける。というかrebase自体がほぼmergeだし。
ここはGitのコンセプトがずれてて、
> リベースかマージか
> https://www.git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%99%E3%83%BC%E3%82%B9#_リベースかマージか
二者択一ではなく、共存が正しいのだが、機能的に欠けてるからおかしな事になってる。
共存させる為には経路情報が必要で、俺はそれが当然保存されてると思ってて探したのに無い!で始まったのが前スレ814-
この辺、Gitに欠けてる機能を補完するとしたら第二弾以降になる。まあ全く予定無しだが。

rebaseを常用するのは、少なくとも従来スタイル(>>127)だとマネジメントが機能してない証拠でしかなく不味い。
Gitが開発の手法を変えた!とか言われてるのはこの辺ぶち壊して、
従来型の(やってる感だけの)マネジメントなんて要りません!としたからだろうけど、
(まあ実際の所ろくにマネジメント出来てないし、
仮に問題が分かったとしても後からでは余計に邪魔でしかないので手当も出来ず、
なら最初から何もやりません!ってのも分からなくもないが)
Gitの場合はついでにアナログ的努力、具体的には176内
・regressionテスト
・レビュー
・コーディングルール
もイラネ!って全部捨ててるのはさずがに駄目だと思うが、これで回ってきてるのも事実だからな。

まあこれはさておき、多分rebaseの馬鹿らしさを実感出来る状況にあること自体がマトモであり、幸せなんだろうよ。
そしてそれは知らない人には通じない。これもよくある状況だよ。
ドタバタしか知らない連中は、ドタバタするものだと思っちゃってる、ってこと。朝の支度と同じ。
Gitは力業(ちからわざ:パワープレイ)が出来るだけに、全部力業に持ち込んでて、力業に頼らない方策を無視してる。
これも勝つ為の戦略だ!はありだけど、例えばサッカーで力業しか無かったら色々言われるでしょ。
2022/11/16(水) 07:27:38.13ID:4to+8mNM0
>>262
あ~ cherry pick ってそういう意味か。意味不明な機能だなとしか思ってなかったわ。
ただそれって多分、三角マージの指定方法を洗練すればmergeに統合出来た話で、
別機能にするのは仕様の練り方が全然足りない気がするが。(まあその気すらないようだが)
2022/11/16(水) 07:29:33.99ID:iIuOsXs40
> ただそれって多分、三角マージの指定方法を洗練すればmergeに統合出来た話で、
できねーよ
頭悪いのか
2022/11/16(水) 07:31:39.07ID:iIuOsXs40
>>276
> rebaseを常用するのは、少なくとも従来スタイル(>>127)だとマネジメントが機能してない証拠でしかなく不味い。
rebaseを管理の機能だと思ってるから
アホなんだよなぁw
2022/11/16(水) 07:33:21.02ID:iIuOsXs40
> rebaseは清書用だからな。コードを実際に書く人向けではない。
これも理解してないやつのセリフ

適切なタイミングでコミットするから
rebaseが必要なんだが

ああ、コミットをpushと勘違いしてそうだなこいつw
279デフォルトの名無しさん (ワッチョイ 1d4e-Uv+W)
垢版 |
2022/11/16(水) 08:09:55.58ID:lN1QdtbS0
facebook(meta)がgit対抗ソフト出した!
https://engineering.fb.com/2022/11/15/open-source/sapling-source-control-scalable/
> 歴史的に、バージョン管理システムの使いやすさには多くの要望が残されてきました。開発者は、リポジトリの複雑なイメージを維持することが期待されており、一見単純な目標を達成するために難解なコマンドを使用することを余儀なくされることがよくあります。Saplingでそれを修正することを目指しました。

長文ガイジの言い分は正しかった!!
280デフォルトの名無しさん (ワッチョイ 1d4e-Uv+W)
垢版 |
2022/11/16(水) 08:16:53.76ID:lN1QdtbS0
> 多くのソース管理システムでは、コミットのスタックを操作することは特に困難です。スタックの早い段階でコミットに 1 行を追加するには、git rebase -iのような複雑なステートフル コマンドが必要です。Sapling は、最新のエンジニアでもスタック内のコミットを編集、再配置、および理解できるようにするための明示的なコマンドとワークフローを提供することで、これを簡単にします。
>
> 最も基本的なことは、スタック内のコミットを編集する場合、そのコミットをsl goto COMMITでチェックアウトし、変更を加えてsl amendで修正するだけです。Sapling は、スタックの一番上を新しく修正されたコミットに自動的に移動またはリベースするため、競合をすぐに解決できます。競合を今すぐ修正しないことを選択した場合は、そのコミットの作業を続行し、後でsl restackを実行してスタックを再び元に戻すことができます。Mercurial の Evolve 拡張機能に着想を得た Sapling は、内部で各コミットのミューテーション履歴を追跡し、スタックを何度編集しても、後でアルゴリズムによってスタックを再構築できるようにします。

Sugeeeeee!!!
2022/11/16(水) 11:37:37.39ID:4GOK4Qmg0
>>277
rebase自体がほぼmergeと言ってる時点でもうね…
OOPの話にしてもそうだけど、彼は点でしか物事捉えられないんだろうね
2022/11/16(水) 12:11:32.56ID:KM49zAuba
>>280
AI とか使って何とかするのか?
2022/11/16(水) 12:19:06.08ID:KM49zAuba
基本的なコマンドは一緒にしてあるんだね
Git Cheat Sheet
https://sapling-scm.com/docs/introduction/git-cheat-sheet
2022/11/16(水) 12:50:32.85ID:adH18wyIM
どうせ新しく作るならAndroidやiOSをサポートしてほしかった
2022/11/16(水) 13:04:46.48ID:LmJ8L4ow0
Sapling is a new Git-compatible source control client.
だからgitリポジトリを操作するラッパーっていう感じか
2022/11/16(水) 13:07:00.65ID:cpWhvvM10
>>282
コンフリクトが出てもその場で直さずに放置して後で直せばいい、という阿呆な仕様でステートレスにしてるだけなので気にするな。
2022/11/16(水) 13:21:48.17ID:Y1TjeBe0a
>>286
凄くよく理解できました。
ありがとう。
Mercurial 使えはいいのかも。
2022/11/16(水) 13:35:28.58ID:cpWhvvM10
sl は
git のサブコマンドは(一見では)実態を表してないように見える
git rebase は万能過ぎて、最初に覚えるのがつらいので複数のコマンドに分割
って問題意識でコマンドを整理したんだろうな。histedit とかの命名に苦笑
どのみち一緒に使うことになるので最終的には手間が増えるだけな気がするけど
# うちでは sl ってやると蒸気機関車が走るよ
2022/11/16(水) 15:13:02.96ID:NssUpRQd0
🚂🚂🚂
2022/11/16(水) 15:21:07.43ID:sEsoti0qa
https://github.com/mtoyoda/sl
291デフォルトの名無しさん (ワッチョイ 1d4e-Uv+W)
垢版 |
2022/11/16(水) 17:57:06.17ID:lN1QdtbS0
でもお前ら正直Linusからの反撃(口撃)楽しみにしてるんだろ?
292デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/16(水) 18:20:17.34ID:z+sJwdsYa
sl ってやると蒸気機関車

世代がばれるな
2022/11/16(水) 18:25:58.19ID:LmJ8L4ow0
今WSLにaptでslインストールしてみたけど蒸気機関車走ったわ
2022/11/16(水) 18:31:10.60ID:LmJ8L4ow0
Macでもbrewでインストールできて蒸気機関車走った
2022/11/16(水) 18:35:05.10ID:zNTc7QNW0
カレントブランチという概念が無くなって代わりにカレントコミットになるのね
カレントコミットはブランチのヘッドである必要が無くて、そのカレントコミットにamendとかcommitができる
amendするとカレントコミットからブランチヘッドまでを自動でリベースしてくれる

確かにひと手間減りそうだけど挙動を理解できてない奴が使うとリベースのコンフリクトが頻発して面倒なことになりそう
コンフリクト解決を後回しにできるみたいだけど溜めるとそれはそれで大変そう
2022/11/16(水) 18:35:26.56ID:zNTc7QNW0
みんなと共有済みのブランチでこの途中へのamendが出来ないようにしておかないと、amendした修正をマージするのが大変そうだけど、うまくやってくれる仕組みがあるのかな?
2022/11/16(水) 18:38:18.21ID:5yQdaCF40
Git の最新アップデートから考える開発手法の潮流
https://speakerdeck.com/yuukiyo/trends-in-development-methodology-from-the-latest-git-updates
2022/11/16(水) 19:07:56.24ID:zNTc7QNW0
ワークツリーの状態はカレントコミットが属するブランチの状態に保たれる?として、カレントコミットが複数のブランチに属してるような状態(できるのか?)ではどうなるのかな?
カレントコミットとは別にワークツリーの位置を指定するようなのは >>283 見ても見当たらないが、goto NAME と goto COMMIT でうまいことやってくれるのか
2022/11/16(水) 23:51:27.30ID:4to+8mNM0
>>279
> What will stand out, though, is how every command is designed for simplicity and ease of use.
> There is no staging area.
> Fixing mistakes with ease
うむ。アプリに対する哲学は俺と同じだ。
ただまあ、同様につらつら考えてたが、どうも根本の戦略が違うと感じる。

従来: 手戻りを最小化する
Git: 手戻りの手間を極限まで減らせば、手戻りがあっても問題ない

ここで言う「手戻り」は、最狭義の
> やっぱやめた (271,272)
から、
・regressionテストを省いたことで、一部機能を壊したことに気づけなかったことによる、再修正
・レビューをしなかったことにより、不十分な修正であることを見逃してしまった事による、再追加修正
・CodingRuleを規定しなかったことにより、潜在的にバグを発生させやすいコードが存在し、結果的にバグが発生したことによる、修正
・OOPの基本を遵守しなかったことによる、ハッシュ交換程度での、大手間
・そもそも基本アーキがゴミな事による、実装では回避しようのない、大手間(Gitはこれは問題ない)
みたいな、広義~広範囲の物も含めてだ。

ただこれをきっちり成功させる為には、リーダーポジションにそれなりに優秀な奴が必要なのと、
そいつにだけどうしても過重な負担がかかってしまうのが問題だ。
これは、相手の力量を見極めて仕事を配分していくので、手駒がない場合には自分でやらざるを得ない、というより、
無理に振ったところでどうせ後で全部やり直しになるところまで確定的に見えてしまうので、自分でやることを選択してしまうからだ。
例の「ブラック会社に勤めてるんだが、もう俺は限界かもしれない」の藤田がそれで、完全に過労死コースになる。
(俺はWebで無料公開してた漫画の所までしか知らないが、藤田の彼女がそうなってたような)
2022/11/16(水) 23:51:46.25ID:4to+8mNM0
この構造をぶち壊そうというのだから、Gitは過労死ストッパーとしては素晴らしいのかもしれんが、
俺や従来Cプログラマから見たら、「そんなコードでバグが取りきれる訳ねえだろ馬鹿かよ」でしかない。
その後の手間を考えたら、一度に直した方が楽なのに、それを選択しないのだから一緒にはやってられんよ、というわけ。
この根底には「手戻りを最小化する」という従来型アプローチの肯定がある。

対してGit教的にはこれは禁忌であり、「手戻りのコストが0ならいくら手戻りしても問題ないはずだ!」で、
Gitの場合は基本アーキだけは締めて、後は放置というわけだ。
CodingRuleやレビューはどうしても主観的だから、政治/哲学/信条が入り込む余地があって面倒なことは分かるけども、
完全に客観的なregressionテストまでやらないのは、逆方向の哲学を持ってるように見える。
つまり、従来型へのアンチテーゼだ。
まあ、従来型のアプローチにどこまで意味があったのか、という実験としては面白いだろうよ。
つき合ってられんので俺は降りるが。やり直すのが確定してる工事なんて無駄でしかない。
Gitが目指しているのは結局のところ、「ネットを介した人海戦術」でしかない。
そりゃ学術界からは相当嫌われるよ。
2022/11/16(水) 23:52:15.86ID:4to+8mNM0
そういえば禿曰く、「コーディングを開始する前にじっくりと設計した方が良いプログラムの規模に下限はない」で、
これが従来型での基本だよ。
「やっぱ止めた」ではなく、「やっぱ止めた、になる事は、最初からやらない」が正しいとされる。
ただ当たり前だがこれには仕様聞いたら実装をぱぱっと思いつく程度の技術レベルは必要で、
お前らには全然無理だ。
Gitは馬鹿が闇雲にやってもなんとか前進出来るようにはしたから、そりゃお前らには必要なんだろうよ。
だから従来は「プログラミングの勉強をしてない奴は、ろくにメンテできない」世界だった。
今はお前らが「Gitを勉強してない奴はGitを使うな!」と言ってて、ツールの勉強はしてるらしいが、
全くプログラミングの勉強をしてないから、糞コードを糞コードとも認識出来なくなってる。
これはGit陣営もだ。なんだかねー。
ネット人海戦術を成功させる為には、どんな馬鹿でも有効な人材として使う為のツールは重要だけども、
やっぱ本末転倒だと思うぜ。
本来の目的であるプログラミングの勉強をすべきで、ツールはあくまで補助的なものだろ。
世界一のクレクレ君には、そりゃいつか誰かがいいコードくれるのだろうけどさ。マジでなんだかねー。
2022/11/17(木) 00:57:49.25ID:PPyT+nV+0
コーディングを開始する前にじっくりと設計した方が良い
このやり方では大きなものは作れない
2022/11/17(木) 00:59:42.90ID:SzkkMxOua
一応貼っておきます。
難解なコマンドって、何言ってるんだろ。

Metaの大規模ソースコード管理システム「Sapling」がオープンソース化
https://gigazine.net/news/20221116-meta-sapling/

>「一見すると単純なゴールに到達するためには、難解なコマンドを使わざるを得ない」といった点をSaplingは解決しており、さまざまな面でシンプルに仕上がっているとMetaは述べています。
2022/11/17(木) 07:02:49.14ID:oFtgoZb10
Git終了のお知らせ

Metaの大規模ソースコード管理システム「Sapling」がオープンソース化 - GIGAZINE
https://gigazine.net/news/20221116-meta-sapling/
305デフォルトの名無しさん (アウアウウー Saa9-Y/9p)
垢版 |
2022/11/17(木) 08:39:39.23ID:t8CddWfYa
>>303
これは楽しみ

でもネーミングがダメだな
一般的な単語をそのまま使うのは検索性が劣るので普及しにくくなる
306デフォルトの名無しさん (ワッチョイ 1d4e-Uv+W)
垢版 |
2022/11/17(木) 09:11:12.47ID:782WqxX70
大抵の環境ではslって打つと汽車走るしなぁ
307デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/17(木) 09:56:43.00ID:V4QZv0Fqa
>>296
Git じゃなくて GitHub の話になるけど GitHub の fork はそこをうまく解決出来る手段だと思うわ
308デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/17(木) 10:03:55.51ID:V4QZv0Fqa
>>301
判ります
2022/11/17(木) 14:30:18.96ID:gm2HE+q+0
zuckerにしとけばよかったのに

zucker --clone
310デフォルトの名無しさん (ワッチョイ 1d4e-Uv+W)
垢版 |
2022/11/17(木) 19:17:01.68ID:782WqxX70
Gitオワタwww

Meta、Git互換のソースコード管理クライアント「Sapling」をオープンソース化
https://codezine.jp/article/detail/16876
> なお、インタラクティブなsmartlog Web UIも用意されており、「sl web」を実行するだけでWebブラウザが起動され、スマートログ、コミット、修正、チェックアウトなどの表示が可能となる。ほかにも、sl undo、sl redo、sl uncommit、sl unamendといったさまざまな操作を元に戻せるコマンドも用意されている。
2022/11/17(木) 19:53:43.27ID:CXVXUQuWM
meta の人が首切られても twitter の人みたいにならないようにしてるんかな
2022/11/17(木) 19:55:29.04ID:nV36xVvO0
>>310
お前何回同じリンク貼ってるの?
馬鹿なの?
>>303
>>304
313デフォルトの名無しさん (アウアウウー Saa9-Uv+W)
垢版 |
2022/11/17(木) 20:29:34.50ID:uFwG0ab0a
gitおじさんイライラで草w
codezineのリンクは初出だがw涙で字が見えないらしいwww
2022/11/17(木) 20:45:14.23ID:oYIw5RmVa
200m四方までズームで追える仕様が、200cm四方までズームで追える仕様になってないと、置きかわりは無理やで。
2022/11/17(木) 21:19:54.35ID:ArWNCDPA0
gitを使っている人ならsaplingの方が良いと思ったら乗り換えるだろうが
gitが難しいとか言ってる人に使いこなせるんだろうか
2022/11/17(木) 22:08:49.01ID:EURizIvt0
>>315
どうだろうね?
逆にgitに慣れた人が乗る換える利点は全くなさそうだけど、rebase 使ったことないとかほざいてる人たちは、とっと乗り換えるのが吉かもしれない。
ま、ちゃんとソースとか公開されてから評価なので今の時点で考えても無駄だな。
2022/11/17(木) 23:07:28.26ID:S8efKX2d0
gitよりもできることが制限されるとしたら乗り換えるメリット全くないな
2022/11/18(金) 00:06:31.69ID:jciRgkpH0
ステージングがない時点で移行できる人は初心者とかに限られてる気がするんだけど……
2022/11/18(金) 03:05:52.17ID:NJJaJqGX0
ごくわずかしかいないhgユーザーなら移行もありなんじゃね
知らんけど
2022/11/18(金) 06:51:03.16ID:AxmdzuHg0
>>302
お前らではな。それがGit以前の「最低限」だったし、その状況でGNU/Linuxは完全に動作してた。
ただまあ、Gitが何でどういう連中に崇拝されてるのかは理解出来たよ。
最終目的の「長期的メンテナンス」を、「コードの品質」でやるか「スーパークレクレ君」でやるかの違いだ。
ん~、やはり全く納得できんが、まあ見物だ。
しかし「スーパークレクレ君」にしても、最低限の選別眼は必要だと思うがなあ。Git開発陣にはこれもない。

昔から「仕事は段取り8割」と言われていて、プログラミングにもこれは当てはまるが、
「それなりの経験を積まないと、何が起こるかまるで想定出来ないので、段取りしようにも出来ない」という本質的な問題があって、
Gitはここを破壊したのだろう。だから本質的に初心者ホイホイで、初心者こそGitの恩恵にあやかれる。
道路工事やビル建設とは違い、情報だけを相手にするプログラミングだから、成立するのかもしれん。
Git開発陣見てると「段取り?何それ美味しいの?」だからね。
対して従来型は結局のところ「段取り」良くやろうとしてるだけだ。
ただGit開発陣以外はGitをツールとして段取り良くする為に使ってるし、俺はそいつらの方が正しいと思うけど。
それから、

従来: 「将来の手間の最小化」を目指し、今手間をかけて疎結合化する。(これにはリソースが限られているという大前提がある)
Git: 「リソースは無限大」なのだから、今の手間を最小化し、とにかく人を集めれば、いつか誰かが良いコードを書いてくれる。

とまあ、これも正反対だ。
結局のところ、従来型における「自分達でやらねばならない」という、
当たり前すぎて前提条件とも言われない、プロジェクトに於ける潜在意識みたいな物を、
Gitはぶち壊し、「いつか誰かがやってくれるんだから良いじゃん」とまあ、
(見てないけど)ゆたぽんに対する嫌悪感と同質の物を俺は感じる。あれもネットがなければまるで成立しないのが同じ。
良く言えばネット社会に適応したとも言えるわけだが、なんだかねー。
2022/11/18(金) 06:51:32.62ID:AxmdzuHg0
まあそりゃプログラミングの勉強なんてキリがないし、10,000時間とか要求されるし、
これに比べれば50-100時間もすればツールの達人には成れるから、おまえらみたいな馬鹿には魅力的に映るんだろうが、
マジでプログラマってコード書けない奴はゴミとしか見てないから、そこだけは注意しておいた方がいいと思うぜ。
(個人的にはこれも行きすぎだとも思ってはいるが)
ちなみに個人的にはこういう正当な苦労はしないと意味ないと思ってる。
自分にとって獲得が楽な知識は、他人にとっても楽なんだよ。
先行すれば、一時的にはちやほやされるかもしれないが、すぐに取って代わられるし、使い捨てられる。
プログラマなら、正当に、プログラミングの勉強をするべきだと思うぜ。
お前にとって10,000時間かかることは、後輩にとっても10,000時間かかるんだよ。
ツール屋として生きる、ってのも俺はありだとは思うけどな。(ただ多くのプログラマはそうは見てない)
2022/11/18(金) 06:53:10.29ID:AxmdzuHg0
>>315
その感覚が既にズレてる。

× 使いこなす
○ コードを書くことに集中しろ

自動rebaseってのは、ユーザーがrebaseする必要なくしているわけで、つまり、
プログラマはコードを書くことに集中しろ、日々の業務フロー通りにやってれば、自動的に上手く記録されるようになってる、というだけ。
要は「本業に集中しろ」であり、至極真っ当な方策。
使いこなすのではなく、そもそも使ってる感覚すら無くすことを目指してる。これは正しい。

メールや名刺を放り投げておいたら自動的に完璧に整理されてて、「あん時のアレ!」で出てくる、みたいな話。
或いは卒アルと言えば分かりやすいか?
まあ今時の若者には逆に通じないかもしれないが、
俺らが高校生だった大昔は、今みたいに全員がカメラ持ってる状況ではなかったから、
提携業者が勝手に学校に出入りして日々の授業風景から学園祭まで色々写真を撮り溜めてた。
そして卒アルとして編集されて、勝手に出てきた。
俺らは生徒として活動してれば、そつなく記録されてた、というわけ。これを目指してる。
日々の業務フローを適切にこなしてれば、完璧に記録されてるから、本業に集中しろ、というわけ。
使いこなす必要なんて、最初から無いんだよ。業務フローを守れ、それだけ。
2022/11/18(金) 07:20:39.11ID:jciRgkpH0
コミット・メッセージ不要とか言ってる長文君が、重要なのは将来の手間の最小化とか言ってて草
一人でしか開発したことないやつの戯言だね
2022/11/18(金) 08:57:16.76ID:MZHPBThbM
>>322
自動rebaseはいわば自動的な記録改竄なわけで、全てを完璧に記録するのとは対極では?
今時のデータ収集と分析においては全てをありのまま記録した上でデータ利用時に工夫するのが正道で、むしろrebaseを廃した上で
rebase無しでも見づらくならないようにクライアントツール側で表示の仕方を工夫するのが筋かと
2022/11/18(金) 09:09:55.30ID:jciRgkpH0
>>324
うむ。お前も長文君と同じレベルで何も分かってないな。
git は履歴管理ツールじゃないよ。なので履歴改竄とかもないよ。
2022/11/18(金) 09:30:58.43ID:G2UZSnwTa
長文君には一刻も早くゴミ箱アプリを開発して理論の正しさを証明する必要があるので、他所のアプリの話はそこそこにして新しいスレッドで作業して欲しい
2022/11/18(金) 09:43:06.36ID:jciRgkpH0
①gitは情報共有ツール、他人や未来の自分に「効率良く」情報を提供し情報を利用するのに使う
②gitはパッチ管理ツール、上記①を実現するためにコミットを作成、検索、編集、再利用するのに使う
③gitは整理整頓ツール、上記①②の目的で日頃から不要な情報を削除し有益な情報のみを残すようにするのに使う
rebase は②のコミットの編集・再利用するためのコマンドで、主に③の目的で使用する
2022/11/18(金) 12:31:12.44ID:NJJaJqGX0
長文くんは毎回意味のわからない喩え(今回も卒アルがどうとか)使ってるけど、あれでわかりやすく説明できてると思ってんのかね
2022/11/18(金) 16:55:16.94ID:jciRgkpH0
俺が例にするとしたら「実験ノート」と「科学論文」かな。
長文君とかが欲しがってるのは「実験ノート」を録るツール。
git とかが提供しているのは「科学論文」を共有する論文誌。

「実験ノート」はありのまま全ての情報を記録するのが目的で後から修正したりしたら改竄になる。

でも「実験ノート」をそのまま貼り付けただけでは「科学論文」にはならない。論文では必要な情報だけを抜き出し簡潔にまとめて他人に分かり易く説明する必要がある。
そのためには何度も推敲する必要があり、手元にある論文の原稿は何度修正しても良い。改竄とかじゃない。

あと一度出版された論文の内容は修正できない。訂正するには新しい論文を書いて指摘する必要があるあたりも同じ。

意外と長文になった。すまん
330デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/18(金) 19:01:59.21ID:PNsYUFFfa
meta版のgitもどきが出たことで
終わったのはgitじゃなくて
長文おじさんの方だったというオチ
2022/11/18(金) 19:43:38.39ID:AxmdzuHg0
>>324
俺もそう思うがそこはモノレポの限界なんだろ。

全てをありのままに記録するとbranchが煩雑すぎて余計意味分からんから、
いっそのこと熊手形状(ある点までは幹は一本でその先は一斉に分岐)に強制した上で、適用順に幹に追加、ということだろ。
幹は縞々模様になるが、一本鎖にはなるし、拡大すれば子細も得られ、縮小すればあらすじが得られる。
まあ初手としては悪くない選択だと思うよ。これまでのログを見慣れてる奴にも馴染みやすい。

そしてこの場合、rebaseをユーザーから隠蔽出来るから、(というか多分これが目的)
実際はありのまま全部記録してたが(M)、表示では一本鎖にしてました(V)、なんて事もツール内側だけで出来る。
だからsapling方式でユーザーは全く問題ないと分かったら、次手としてMVC分離で今君が言ってる事(=俺が欲しい機能)もやれる。
ここら辺の作戦は、実用主義で良いと思うよ。ツールは、
・「今出来てない」ことが出来ないのは、大して問題にはならないが、
・「今出来てる」ことが出来なくなるのは、大問題だから
ユーザーからrebaseを本当に取り上げて良いかをまず様子見して、というわけだ。
(この点、ダイレクトにこの次手を目指すべき、と思う連中には物足りないだろうが、
作ってる連中が自分達のモノレポ用にチューニングしてるのだから、まあ仕方ない。
ただGitにはMVC臭がまるでなく、おかしな仕様になってる部分をmetaが修正してくれることには期待だ。
rebaseはViewでやるべきで、Modelでやるのは不味いし、基本にも反する。
ここら辺の判断が付かないのだから、Git開発陣はMVCを知らないのだと思うんだよね。つかあいつら色々不勉強すぎ)

ただ、根本的な問題は、今のGitは一次元(時間軸)方向に成長する「一つの」ものをトラッキングする用に出来てて、
モノレポみたいに「多数の」物をブチ込んだ場合に対応出来ないことだ。
モノレポの場合は成長方向が多数だから、例えば中央から外側各方向に成長するものであって、
記録としては年輪やレーダーチャートみたいな見え方にならないと駄目だが、少なくとも今のGitはそうなってない。ただの線だ。
(それはポリレポでやれ、なのだろうけど、適度に癒着してるからモノレポの方がいいという判断なのだろうし)
2022/11/18(金) 19:44:10.39ID:AxmdzuHg0
>>329
それは紙媒体前提の、20年前の思考だよ。
実際Gitはそうだけど。
2022/11/18(金) 20:19:37.39ID:jciRgkpH0
>>332
「紙媒体」ではなく「分散・非同期」でやる手続きな。git と科学研究の共通点。
「集中」とか「完全同期」とかの管理型が好みなら別の手順になる。
2022/11/20(日) 08:24:46.99ID:26ugdOeM0
>>166
長文君がソフトを作る話はまた「いい名前を思いつかないから先延ばし」?
2022/11/20(日) 09:16:26.61ID:zgGXmL2v0
立てた。

日常の進捗履歴記録ツールWitBucket(仮称)検討中
https://mevius.5ch.net/test/read.cgi/tech/1668901194/



>>334
つかお前らマジのニートなんだと思うが、
今日やれ明日までにやれ今すぐやれ、とか、仕事はそういうものではないんだよ。
何であれ段取り良くしようと心掛けるのは大事。
というかそういう努力をしないと出来るようにはならないから、Gitに頼り切ってると上達しないのだと思うよ。今の君らがそれ。

ちなみにLinusがC++erを嫌ってるのは、
C++コンパイラがよしなにやってくれることを何も関知せず、C++なら素晴らしいと盲目的な連中が多いからで、
当たり前だがC++コンパイラが何やってるか理解してればそれをCで手動で書くことは(面倒だが)可能で、これを要求してる。
本来ツールはこのように、「無くても出来るけど、手間を減らす為に使う」のが正しく、
ツールがないと何も出来ない(C++コンパイラがやってくれないとメモリ管理も出来ない)連中が使うべき物ではないんだ。
Gitで凄く楽になった、が正しく、Gitが無いとプログラミング出来ません、は完全に間違い。
これはGit以前はそれなりに「手動で」段取り良くやらないと収拾がつかなかったからだけども、
ここでツールに頼り切って段取り良くやることを放棄しては駄目だ。
(と思うがGit陣営はこれで回ってるからなあ。
でも上達はしてない。ただこれも、Git以前の上達=段取りが良くなる、に近いから、
Gitがあれで最終的に破綻しないのならあれでいいのだ!になってしまうし、なんだかねー)
2022/11/20(日) 11:39:05.33ID:3OcQOLJHr
相変わらず適当なこと書いてるな
2022/11/20(日) 14:18:59.87ID:gSC6OZrC0
git使うと段取りが良くなるからみんな使ってるんだけど、長文君はそうじゃないみたいだな
2022/11/20(日) 15:01:25.69ID:7P4mnHvb0
git はプログラムした結果を共有するためのツールって延々書かれてるのに、都合の悪いことは無視するよな
それとも理解できないほど馬鹿なんだろうか
2022/11/20(日) 15:19:13.23ID:PLf6d8B0a
ルールさえ決めておけば物置になるだろ。
2022/11/20(日) 15:47:31.91ID:26ugdOeM0
>>335
>御託を並べるのは長文君ソフト(仮)を完成させ、それがgitよりも
>使われるソフトになってからにしろ

ってことで、大口叩いてるのではないことを示すために進捗状況を
公開しろと言ってる
スレは立てたけどこうなるんだろ

>言うだけでやらない理由を長々と説明()しはじめそう
2022/11/20(日) 16:14:31.73ID:FErBPmtpr
gitも満足に使えない奴ら向けのバージョン管理ソフトを作るってことはGit以上に開発に時間かかるだろうけど、本当に来年の3月までに一人で完成させられるのかな
2022/11/20(日) 17:06:14.30ID:juep7euz0
>>340-341 せっかく別スレが立ったんだから、こっちで触らないで欲しい。
2022/11/20(日) 17:13:04.64ID:nmnx742zM
同意
ようやくGitスレに静寂が訪れた
2022/11/20(日) 17:37:52.87ID:26ugdOeM0
>>342-343
すまん

>ようやくGitスレに静寂が訪れた

そうなるといいな
2022/11/21(月) 18:06:16.47ID:cB8S2cn7r
ふと思ったんだが

・リモートブランチを削除して再度push(git push --delete + git push)
・リモートブランチに強制push(git push -f)

て一見やってること同じだけど違うことしてるのかな
2022/11/21(月) 20:16:54.04ID:zsgBxu9N0
>>345
追加のオプションによって動作が変わるので厳密には違うけど、原則似たようなもんだよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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