[過去ログ] Git 18 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
780: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 16:18:44.28 ID:AHw2USmo0(9/17) AAS
>>778
> N個前との diff は git diff HEAD~N でハッシュを控える必要もないし gc のくだりは何のこと言ってるのかわからない。
(tutorial2を読んだだけの理解だから間違ってるかもしれんが、)
669で言ったように、Gitが分かりにくいのは業務プロセス名がコマンドに付いてるからだよ。
実際には、git add でスナップショットを取ってて、(←これが直感的に認識出来ない)
git commit でツリーの頭にそれを付け加えてるだけ。
だからaddしてないと付け加えるべきスナップショットがないからコケる。
それで、>>103-107、stashしてたら何処かに存在してるし、
実はaddした時点で保存されてるから、こちらもgcが行われる以前ならhashさえ分かれば引っ張ってくることが可能。
ただし次のaddでindex先が切り替えられてダングリングになり、gc対象になるから、
存在してるかどうかはgcの動作具合による。
(だから初心者向けには、git add でスナップショットが取れてるなんて死んでも言えないし、余計に分かりにくくなってる)

俺が粒度を上げるのなら、commitせずに複数回addする事になり、
2回以上前のはツリーから外されてるのでHEADからでは辿れない。(git fsckなら探せるはずだが)
だから動かない物もcommitしてHEADから辿れるようにしようとしている。
まあちょっと書き方が悪かったかもしれんが。

なので、実際の動作は git add 改め ss (take SnapShot)、git commit 改め relinkなのだけど、
ついでに relink もリストラして ss (git add -u; git commit) と ss -m "message" (git add -u; git commit -m "message")でいい。
これなら alias ss='git add -u; git commit' で済むし、
直感的になってアホでも使える。コミットメッセージが空なら動かない。
これが俺流の「勉強しなくていいGit」だよ。Indexよさらば。アホ向けGitこんにちは。

> マージ前のブランチをレビュー対象とする開発では push の際に整理することになるから
本体リポジトリとルールが違うと収まりが悪いのは了解した。

> 他にも、作業中に全然関係ない typo 直したりするのにも使える。
なるほどこれは微妙に便利かも。
(しかし俺流アホ向けgitでもこれは問題なく出来る。何せgitコマンドはスルーだからな)
781
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 16:20:05.12 ID:AHw2USmo0(10/17) AAS
>>779
いやレビュー対象はcommit済みで、index上ではないだろ。
782: デフォルトの名無しさん (ワッチョイ 8b8f-5UCg) [sage] 2022/11/03(木) 16:22:38.83 ID:5PP47Osh0(2/3) AAS
うんうんわかった
大人しくSVN使え
その方が君には向いている
783: デフォルトの名無しさん (ワッチョイ d9e4-Ojdt) [sage] 2022/11/03(木) 17:18:17.27 ID:NhDXzDSd0(2/3) AAS
>>781
779はindex上でレビューするんじゃなくて、indexにいれた状態にしてからdiff --cachedでcommit前の確認をするってことじゃない?自分もそれやるよ
784
(2): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 17:50:52.37 ID:e1pojM/n0(1/8) AAS
>>763
> (昔からsh《bsh》は互換性は高かったし、今はその後継のbashで統一されてる。
> ああ確かにcsh/tcsh/ksh/zshはゴミだったし死滅したよ)

FreeBSDにはbash入っとらんぞ
785: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 17:52:28.68 ID:e1pojM/n0(2/8) AAS
>>763
> 既にあるbash(多分C)ソースをコンパイルしただけのものを同梱し、
> gsh(=gitsh)だ!これを使え!と強弁すれば済んだろ。
bashだけじゃ足らんだろ
GNUコマンドも全部入れなきゃな!
786: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 17:53:10.48 ID:e1pojM/n0(3/8) AAS
>>770
> 仮に時間が十分にあったとしても、俺が改善出来るのはソースコードであって、アプリではない。
だからソースコードを改善しろってw
787
(1): デフォルトの名無しさん (ブーイモ MMeb-ntN1) [sage] 2022/11/03(木) 18:10:35.38 ID:3fLLADP3M(1) AAS
>>784
macもbsahやめたんだよね
GPLから逃げるために
788
(3): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 19:01:05.13 ID:AHw2USmo0(11/17) AAS
あと実は、masterの意義も分からないのだが。俺の場合は、

master: 今現在Web上で公開しているもの
develop: 今現在ローカル上でテストしているもの
feature: 今現在変更中のソースコード

と3つポインタが必要なのは分かる。
しかし、masterは常にdevelopとfast-forwardマージするなら、developにタグ打てば済む。
途中からのbranchも可能だし、hotfixするにしても問題ない。
branchケチる意味もないのも分かるが、それにしても無駄に多い気もする。

と思ってたら、俺にはサル先生方式位が適切な気がしてきた。
> ここでは統合ブランチとトピックブランチという二種類のブランチを使った運用方法について紹介します。
> https://backlog.com/ja/git-tutorial/stepup/02/

サル先生方式の統合ブランチにタグ打つだけと比べて、
masterとdevelopとして別に持っておいたら何が嬉しいの?
789
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 19:03:24.24 ID:AHw2USmo0(12/17) AAS
>>784
>>787
政治的案件をOSS側がフォローする必要ないと思うが…
790
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 20:29:42.55 ID:e1pojM/n0(4/8) AAS
>>789
なに政治的案件の話にすり替えようとしてるんだよ
gitは環境依存が激しいシェルスクリプトに依存しないように
C言語で書いてるって話をしていただろ
791
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 20:33:17.75 ID:e1pojM/n0(5/8) AAS
>>788
1系、2系の同時開発とかあるやろ
792
(1): デフォルトの名無しさん (ワッチョイ 7933-Tk+f) [] 2022/11/03(木) 20:41:00.73 ID:vXMSDhes0(1/2) AAS
.gitignoreの書き方で質問
app.log, app.log.1, app.log.2みたいな感じで増えていくログファイルを無視したいのですがどう書けばいいですか?
793: デフォルトの名無しさん (ワッチョイ 8b8f-5UCg) [sage] 2022/11/03(木) 20:41:54.93 ID:5PP47Osh0(3/3) AAS
>>788
なんだやっぱりブランチのことすら分かってなかったのか
794
(1): デフォルトの名無しさん (ガックシ 06eb-lAaw) [sage] 2022/11/03(木) 20:48:29.66 ID:5fumPTTR6(1) AAS
>>792
*.log* でなにか被ったりする?
795: 792 (ワッチョイ 7933-Tk+f) [] 2022/11/03(木) 20:58:19.76 ID:vXMSDhes0(2/2) AAS
logフォルダ作ってそれを無視することにしました

>>794
ごめんなさい!
796
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 21:00:04.22 ID:AHw2USmo0(13/17) AAS
>>791
あ、なるほど了解。
逆に言えば、同時開発する気がなければ要らないわけだな。
797
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 21:04:46.26 ID:e1pojM/n0(6/8) AAS
>>796
今自分で「必要だ」って言ったってこと理解してるかい?
798
(2): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 21:15:11.85 ID:AHw2USmo0(14/17) AAS
>>790
C化しただけで環境依存が無くなるのなら、既にC化されてるbashでいいだろ。
Cコード上で何か小細工が必要なら、それは「互換性を上げる」名分でbashにcontributeすべきで、
Git側で吸収する案件ではない。

GPLから逃れたいってのも意味が分からん。
bashのコードを改変して新機能追加してmac_bachにしたら、そのコードを公開しないといけないが、
普通にbashを使って作業するだけなら関係ないから使えばいいだけ。
何か思惑有るんだろうけど、Gitがソースを汚してまでフォローする案件じゃないだろ。

> また、これ以外にも zsh や bash などのシェルが FreeBSD Ports Collection から利用可能です。
> https://docs.freebsd.org/ja/books/handbook/basics/
自分でインストールしろよ。
799
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 21:16:20.05 ID:e1pojM/n0(7/8) AAS
だからなんでgit使うだけで
bash+たくさんコマンド入れなきゃならんのだよ
800
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 21:22:26.35 ID:AHw2USmo0(15/17) AAS
>>797
必要なのはポインタであってブランチではないんだ。
というか、俺にとってはその時のスナップショットが復元出来れば何だっていいんだよ。

fast-forwardでは履歴が辿れないからrebaseで、みたいな話もあるからもうちょっと確認必要だが、
git flow は手動ではなくインストールして使え、そうすれば全部やってくれる、としてるところばかりで、
どうもmergeの時に色々判断して小細工してるようだが、何やってるのか書いてないから分からないんだ。

まあでも色々他の簡単なのもあるみたいだし、初心者だから出来るだけ単純なのにするよ。
801
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 21:25:51.42 ID:AHw2USmo0(16/17) AAS
>>799
逆に一体どんな環境でやってるのさ?
普通のunixコマンド一式すら入ってないのか?

そもそもGitなんてPCかそれに近い環境で動けば良くて、それ以外は考慮する必要ない気がするが。
802
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/03(木) 21:29:12.32 ID:e1pojM/n0(8/8) AAS
>>800
今話をしているのはお前が言ったこと

> 逆に言えば、同時開発する気がなければ要らないわけだな。

if (同時に開発する気がある) {
  いる
} else {
  いらない
}

自分で同時に開発する気があればいるって言っただろ自分で
803: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 21:39:01.44 ID:AHw2USmo0(17/17) AAS
>>802
ん?どこを誤解されてるのかは分からんが、
俺は複数バージョンを同時開発する気はない。
ただ、リリース後にバグが発覚するする事はあるので、hotfixはする。
804: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/03(木) 23:10:44.38 ID:9oLRzF140(3/4) AAS
>>801
普通にSourceTreeとかでコマンド一杯を前提としているとは思えないが。
805
(1): デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/03(木) 23:14:43.83 ID:9oLRzF140(4/4) AAS
>>788
少なくともCIで回すときは楽だろ。
Git初心者で視野狭すぎなのに、その視野の狭さを無視して「合理的に考えてこれが不要」ってのがあんたのスタイルのようだけど、
そうやってわざわざ視野の狭さから来る「不要」の主張をして反感を買ったレスで学びたいのか?
勉強したいなら、炎上スタイルは目障りなんでよしてほしいな。二言ぐらい余計なんだよ。
806
(1): デフォルトの名無しさん (ワッチョイ d9e4-Ojdt) [sage] 2022/11/03(木) 23:20:07.30 ID:NhDXzDSd0(3/3) AAS
>>798
以下は簡単に調べただけで、時系列の検証もしてないので、何か間違いあるかもしれない

macOSはbash,gcc,sambaをベースシステムにいれるのをやめた
これらはGPLv2からGPLv3にライセンスが変更されて、GPLv3に追加されたバイナリの取り扱いに関する条項がmacOSのセキュリティポリシーに合わなくなったのがその理由

linusはこのGPLv3の条項に批判的で、gitはGPLv2のままでいく可能性が高い
GPLv3のbashに依存するようgitを作り変えると、インストール方法をちょっと特殊にしないとgitもこのGPLv3の条項の制限をうけることになってしまうので、まあやらないだろうね

他のOSSに依存するとこういうのもあるから気を付けないといけない
807
(1): デフォルトの名無しさん (ワッチョイ 8b8f-5UCg) [sage] 2022/11/04(金) 00:15:00.44 ID:SQ9pznPg0(1/2) AAS
> Cコード上で何か小細工が必要なら、それは「互換性を上げる」名分でbashにcontributeすべきで、
Git側で吸収する案件ではない。
頭おかしい
808
(2): デフォルトの名無しさん (スッップ Sd33-wVCK) [sage] 2022/11/04(金) 00:54:15.51 ID:NvjwOVKTd(1) AAS
まあdevelopはいらないかな
mainブランチで開発すりゃいいよ
リリースブランチが必要なら別途releaseブランチを作ればよいのであって、デフォルトブランチは開発系の先端を指してる方が分かりやすい
809
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 01:05:42.22 ID:EF7BixRC0(1/9) AAS
>>798
> Cコード上で何か小細工が必要なら、それは「互換性を上げる」名分でbashにcontributeすべきで、
gitの都合でbashに迷惑をかけるな
お前のやりそうなことだな
自分の都合で関係ないやつに迷惑をかける
810: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 01:06:39.03 ID:EF7BixRC0(2/9) AAS
>>808
初心者のお前の感想なんかどうでもいいよ
811: デフォルトの名無しさん (ワッチョイ 1901-FQW+) [] 2022/11/04(金) 02:09:07.55 ID:v1xRwBrw0(1) AAS
GPLに賛同せずにGNU製品を使ってたってことだろね。
結局Linusもタダ乗り爺ってことでしょ。
812: デフォルトの名無しさん (ワッチョイ 8bbb-VzUj) [sage] 2022/11/04(金) 02:50:33.29 ID:BbpXyzD40(1) AAS
ブランチの名前の付け方や使い方なんてほんとどうでも良い。チーム内で話し合え
git のブランチは全部等価
デフォルトで main / master 作られるけど
これも使いたくなけりゃ使わなくて良いし名前変えても良い
813: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 18:16:16.05 ID:XH5wI1Z90(1/9) AAS
>>805
そんなガキみたいなことはしないが、
どう取るのも自由だし、気に入らないのなら無視してくれて構わんよ。

ただgitがポンコツだと言ったとしても、それ本来お前ら関係ないよね?
自身の分身と思えるほどcontributeしまくってるのなら別だけどさ。

> 少なくともCIで回すときは楽だろ。
必要になったときに作ればいいだけなのと、
多分仕様か実装を間違えてて、今のGitの動作では技術的に実用性がない。
これは次の投稿で詳しく述べる。
814
(3): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 18:17:59.81 ID:XH5wI1Z90(2/9) AAS
A. 消したbranchの情報が確認出来るのって、reflogsだけ?
B. あと、branchは線だ!ってマニュアルは言ってるけど、点だよなこれ?
(ドキュメントか実装のどちらかが間違ってると思うが)

以下git-flowを真似てるとして、gitkと同様に下から上にcommitして、

impl5@feature5, merged to develop and master, add tag of "Version1".
impl4@feathre4
impl3@feature3
impl2@feature2, merged to develop, add tag of "Version0".
impl1@feathre1
impl0@feature0
initial@master, develop

としたとする。
このとき、featureXを一々作っては消させてるのだから、
何か簡単に一覧に出来るコマンドがあるべきだが、無さそう。(git log --walk-reflogsで探すことは出来るが)
正直あとから参照することはほぼ無いが、何かあってもいいと思うが?---(A)
815
(3): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 18:19:31.52 ID:XH5wI1Z90(3/9) AAS
そして、どうやらGitはブランチローカルという感覚がないらしく?
どのブランチにいても同じ結果が出るのはどうなのよ?---(B)

具体的には、この場合、
masterブランチでは、HEAD~1はinitialを指し、(master上での一つ前)
developブランチでは、HEAD~1はimpl2を指すべき(develop上での一つ前)
だと思うのだが、どこにいてもHEAD~1はimpl4を指してしまう。
つまり、HEAD~Nの探索先はグローバルであり、それは.git/objects下のツリーそのものらしい。

つかね、masterブランチにいた場合、
git diff HEAD~1 HEAD で前回のリリースと今回のリリースの違い
git diff HEAD~2 HEAD で前々回のリリースと今回のリリースの違い
git log ではmasterブランチ上のリリースした物のcommitログだけに絞られて表示
じゃないと実用的な意味がないと思うんだけどさ。
masterにはmergeしかしない運用なら通常は漏れなくタグが打たれ、「点」のアクセスはタグで出来る。
よって残るは「線」のアクセスだが、ブランチは「線」になってない。
実装はよく知らんが、ブランチを切って増えるのは以下の2つで、
.git/refs/heads は先頭「点」、
.git/logs/refs/heads はlogだから、「線」の為の物が無さそう。

本来ブランチはDBで言うINDEXで、CREATE INDEX develop ON git_tree WHERE branch='develop';
みたいなもので、これが「線」だと思うんだけどさ。
実際は「点」なのでHEADしか見えておらず、HEAD~1をブランチによって切り替えられない。
と思うのだが、理解間違ってる?

ここは多分仕様変更した方がいい。(直感的でないし、意味が分からない)
けど今更出来ないだろうから、Gitの仕様の綻びの一つで、next-gitで修正されるべき案件だろうね。
816
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 18:20:37.25 ID:XH5wI1Z90(4/9) AAS
>>806
MacOSがFreeBSD系なのとLinusがGPLv3をボロクソ言ってたのは知ってたが、両方とも理由は知らなかった。

> GPLv3に追加されたバイナリの取り扱いに関する条項がmacOSのセキュリティポリシーに合わなくなった
よく分からんが結局は両方ともここかな?
> プロプライエタリなドライバソフトをLinuxカーネルに読み込む際にDRMの技術を応用している件についてだと思います。
> http://japan.cnet.com/news/ent/story/0,2000047623,20095317,00.htm
> GPLv3ではDRMを実装する場合はそのDRMのアルゴリズムに加えて秘密鍵も公開することを義務付けているので、
> そのようなことをしたらプロプライエタリなドライバを提供してもらえなくなるため、賛成はできない、と。
> https://srad.jp/story/06/01/29/1119224/
ただこれって、
GPLv3のコードを使ったバイナリを配布する際、そのバイナリと同じ物を作れるソースコードも配布しろ、だから、
GPLv3のBashをGit配布zipに同梱してもBashのバイナリだから何ら問題ないはずなんだけどね。
GPLv3だからだめだ、ならGPLv2(~2007)のBashでも十分だろうしさ。
やっぱりかなり政治的だよ。勿論譲れないのだろうけどさ。
817
(3): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 18:22:05.12 ID:XH5wI1Z90(5/9) AAS
>>807
>>809
お前ら狭量すぎ。OSS全体で盛り上がるんだ!という考えが無さ過ぎ。
diffもそうだが、bashの互換性が本当に問題なら、bashを修正すれば全員助かるだろ。
Gitコマンドをシェルで実装すると、unixコマンドの中にgitコマンドが混ぜ込まれてる形になる。
そのgitコマンドをcpに差し替え、unixコマンドだけの状態で環境依存で使い物にならないのなら、
それは立派なバグだから、bashの連中に投げれば直してもらえるよ。
自分で抱え込みすぎ。それでは回らなくなる。(のが一般的だが、バザールだからなあ…)

ただGNUとは根本的にウマが合わないだろうよ。
仕様はグダグダ、ソースコードはゴミ、でも回り続けてるのだから、GNU(伽藍)から見たら何じゃあこれは!!!ってなる。
Git側にはGNUの開発速度はどうにも認められないだろうしね。
818: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 19:16:09.99 ID:EF7BixRC0(3/9) AAS
> お前ら狭量すぎ。OSS全体で盛り上がるんだ!という考えが無さ過ぎ。
だからgitの話はgitの中で盛り上がればいいだろ
勝手に他人の家で盛り上がるな
ば~か
819: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 19:18:48.53 ID:EF7BixRC0(4/9) AAS
>>817
あとgitをbashに依存させるな
820: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 19:19:54.54 ID:EF7BixRC0(5/9) AAS
bashがなんでも修正を入れるわけがない
それは俺の仕事じゃないと言って断られるが落ち
bashをぶくぶく太らせるな
一つ事だけやらせろ
821
(1): デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/11/04(金) 19:54:32.33 ID:fRhzbJ/d0(1/2) AAS
>>816
GPLv3ではバイナリを配布する際にそのバイナリをユーザがソースからコンパイルしなおして入れ替え可能でなければいけないという条項になっているらしい
MacOSやiOSのアプリやストアから配布するAndroidのアプリなんかの今どきのバイナリ配布は、署名済みバイナリしか実行できないから、ここにGPLv3の物を入れるとライセンス違反になる
822
(1): デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/11/04(金) 19:57:10.42 ID:fRhzbJ/d0(2/2) AAS
>>817
GNUは別に開発組織ではないから統一的な開発ポリシーなんてものはないが、
GPLv3に移行するようなFSF管理下のGNUプロダクトは、歴史も古いし、比較的少数のおっさん達が気ままに管理してることが多いので、OSSと呼ばれるようになる前からの伝統的なUNIXフリーソフトのべたなソースツリー構成なものばかり
たとえばbashのソースコード構成なんてgitみたいにトップディレクトリ下に組み込みコマンドの実装コードがだらだら並んでてgitと変わらん
823
(1): デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/04(金) 20:10:08.60 ID:jUM5cpqM0(1/2) AAS
どのOSでメインに作業してるのかわからん感じだな。
LinuxはCでモノリシックだとDISり、GNUコマンド群でないmacOSも当然DISり、 Windowsなんか論外って感じだろ。
3OSぐらい使ってたらとてもシェルなんか信用できないけどな。
824
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 21:06:47.76 ID:XH5wI1Z90(6/9) AAS
>>822
いやそこまでは全然見てない。
今回の仕様とパッチの顛末見て、他もそうだと勝手に推定してる。
読む価値のないコードのはずだから。(物によって全然違うかもしれんが)
ただこれで回ってるのは事実だからな~。ちょっと観戦モードだ。

まず既に言ってるが仕様がグダグダ。
仕様は追加は簡単だが、削除することは基本的に無理なので、厳選しないといけないのに、まるで出来てない。
つまりこの辺の常識的な長期保守戦略をまるで知らない奴がやってて、止める奴もいないということ。
そして今回のメモリリークだが、確保したらそこで寿命も確定する、実装が一番簡単なタイプで、
これをリークさせるようなら話にならない。
ただそれでもミスることはあるが、出てきたパッチがこれまたグダグダで、Cのメモリ管理の基本を完全に無視してる。
レビューがあったら見た瞬間落とされるソースだ。そりゃリークするよな、としか思わない。
(ただし第2弾、第3弾も出てきて、ましになりつつあるが、それでも方向性を根本的に間違ってる。
とはいえ、展開が異常に早いのも確か)

だから、通常の開発をやっているであろうGNUでは、仕様のレビューでも、コードのレビューでも落とされる。
だけどGit側にその理由を理解出来る奴がいないからこうなわけで、当然ブチ切れる。
そして喧嘩別れ、だったら俺らで作るからいいよ、でforkして突っ走ってるだけのように見える。
若すぎる。
ただそれでも実装能力だけはあるので、diffはGNUより装飾周りが断然進歩してる。
これはやっぱりGNUdiffと一緒にやってた方がみんな幸せだったと思うよ。
上手く導ける奴がいれば、
というより普通に長期保守したことがある奴が上層部に一人でもいれば、この辺は簡単に修正出来ると思うのだけど、
それは伽藍タイプの話で、バザールだとどうにもならないのかもしれんし、
突っ走らせないとプロジェクト自体が死ぬのかもしれんし、(サメみたいにね)
よく分からん。
825: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 21:10:52.33 ID:EF7BixRC0(6/9) AAS
口だけ達者で何もできない無能
826: デフォルトの名無しさん (ブーイモ MM33-ntN1) [sage] 2022/11/04(金) 21:14:59.38 ID:PwG12fTHM(1/2) AAS
>>824
GNUが何なのか全く理解できていない
827: デフォルトの名無しさん (ブーイモ MM33-ntN1) [sage] 2022/11/04(金) 21:27:19.25 ID:PwG12fTHM(2/2) AAS
>>823
自分が理解できないものは全部糞
理解力が致命的に弱い
この2つが合わさると全方面Disることになる
828
(1): デフォルトの名無しさん (ワッチョイ 8b8f-5UCg) [sage] 2022/11/04(金) 21:35:53.62 ID:SQ9pznPg0(2/2) AAS
>>817
何で自分の関心の向かないOSSにわざわざ貢献しないといけないんですか?
金も貰えないのにそんなの苦行でしょう、アホらしい

それとも君はLinusに向かってそれを要求できるほどGNUに対して貢献してるんですか?
829
(1): デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 21:39:58.51 ID:EF7BixRC0(7/9) AAS
bashの方を直せって言うなら
GNU bashのプロジェクトに殴り込みをかければいいじゃん
お前が
830
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 21:54:21.97 ID:XH5wI1Z90(7/9) AAS
>>828
逆だよ。他人に投げられることは他人に投げろと言ってる。
bashのバグだってことになれば、勝手に直してもらえるだろ。
自分で対応するのは、直してもらえないのが確定してからでいい。

>>829
そもそも俺はbashの互換性で苦労した試しがない。
ただそもそもOS跨いでシェルスクリプトを持っていった試しも無いけどな。てかそんなこと普通せんし。
あーだから、最悪Linux/Windows/Mac用と3種類用意すればよかったんじゃね?C化よりは楽だろうよ。
831: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 21:55:50.76 ID:EF7BixRC0(8/9) AAS
> 逆だよ。他人に投げられることは他人に投げろと言ってる。
なんのために?
832: デフォルトの名無しさん (ワッチョイ 8b14-Tk+f) [sage] 2022/11/04(金) 21:56:20.74 ID:EF7BixRC0(9/9) AAS
> bashのバグだってことになれば、勝手に直してもらえるだろ。
だからお前がbashに通報しろって

お前という他人に投げたぞw
さっさとやれ
833: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/04(金) 22:08:26.91 ID:jUM5cpqM0(2/2) AAS
>>830
え、Cでプログラム書いたことないの?OS間の違い、標準Cライブラリの方がよっぽど互換性に苦労することないよ…
考慮しなければならないのはファイルシステムと改行コードぐらいだろう。
834
(1): デフォルトの名無しさん (ブーイモ MM33-ntN1) [sage] 2022/11/04(金) 22:17:50.42 ID:qsZ+zSWqM(1) AAS
まあおまえら落ち着け>>815とか見る限りこいつはひとりではGitを理解できない
炎上させて答えを引き出そうとしてるから餌を与えちゃいかん
ほっとけばすぐいなくなるよ
835: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 22:48:48.23 ID:XH5wI1Z90(8/9) AAS
>>834
ああ、@1か、これは失礼。
ただお世辞にも分かりやすいとは言えないねこれは。
まあでも、ならbranchを残す意味はあり、>>815は取り下げだな。
>>814については引き続き募集中。
836
(1): デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/04(金) 22:50:35.62 ID:XH5wI1Z90(9/9) AAS
@{1}ね、まあ分かると思うけど
837: デフォルトの名無しさん (ブーイモ MM33-ntN1) [sage] 2022/11/04(金) 23:04:09.79 ID:7RpVnNq7M(1) AAS
>>836
@{1}に気が付くとはさすが軍師殿www
838: デフォルトの名無しさん (ワッチョイ debb-qVfh) [sage] 2022/11/05(土) 00:48:19.73 ID:yugci9j10(1) AAS
HEAD~1 で一つ前のリリースとか言ってて爆笑
リリースごとに一回だけコミットするつもりなのか?
永久に git 理解できそうにないな
839: デフォルトの名無しさん (ワッチョイ 5e8f-gUJl) [sage] 2022/11/05(土) 01:35:03.83 ID:CLSrxuim0(1/2) AAS
ネットのクソ記事で独学するより、まともな本買って学習すればいいのにな
つうかあれか、gitの仕様の粗探しがしたいから使い方とかどうでもいいのか
840: デフォルトの名無しさん (ワッチョイ 527c-zlm6) [sage] 2022/11/05(土) 01:42:19.97 ID:zPyCNtrD0(1) AAS
そもそも一つ前wみたいな考え方するようなものじゃないよなw
841: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 03:02:36.62 ID:0q4aURph0(1/9) AAS
自分が理解できないから、知ってるシェルスクリプトにすがってるだけだな
POSIX原理主義者と一緒。POSIXの名前を勝手に使って
シェルスクリプトしかできないのをごまかしてる
gitを利用してシェルスクリプトしかできないのをごまかしてる
842
(2): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 09:15:20.90 ID:646uiMLL0(1/38) AAS
>>717
ちなみに書く側のコマンドは hash-objectのようだ。
多分初期はPlumbing Commandsをシェルスクリプトでラップして各上位コマンドを提供してたのだろう。
そして俺にはこの程度のシェルスクリプトが環境依存するとはとても思えないんだけどさ。

>>821
って、ふと気づいたが、俺が使ってるのはGitBashだったわ。
現在の公式版にもGitBashバイナリは同梱されてるし、ライセンスがどうこうという問題は無いか、解決されてるよ。
Macは政治的だとして、Linusはその辺実務的に見えるから、
GPLv3をボロカス言って自分はGPLv3には参加しないが、(これは正当な権利で全く問題ない)
GPLv3を殺す為にGPLv3のプロダクトの同梱すらしない、みたいなことはしないのだろうよ。
843
(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 10:38:45.29 ID:646uiMLL0(2/38) AAS
>>814
公式のcontribに置いてあるユーザー製作の勝手ツールにあるのは発見した。
つまり熟知してる公式からみても面倒な作業だと認めているわけだ。
解決というよりは諦めと納得だが、これも質問を閉じる。
> https://zenn.dev/yoichi/articles/git-restore-branch

ちなみに、branchを『後から追加』は出来るか?
いやそんな使い方はおかしい!禁止だ!かもしれんが、
やはり俺にはbranchはただの(DBにおける)INDEXで、
随時落としたり作ったり復活させられないと使いづらい。(のではないかと予想している)
ただ、要はreflogを偽造すればいいだけのようだが、
再実装は時間の無駄でしかないので、既にあればそれを使いたい。
844
(1): デフォルトの名無しさん (ワッチョイ 09e4-chQ5) [sage] 2022/11/05(土) 11:40:31.33 ID:zDjINlW+0(1/26) AAS
>>842
index-stageを理解してないおまえにはわからないかもしれないけど、
DBへ登録されるのはwork tree上のファイル丸ごとでない場合もあるし、
逆にDBからwork treeへ展開されるのもファイルの中の一部分の場合があるから、
そんな単純にはいかない
845
(1): デフォルトの名無しさん (ワッチョイ 09e4-chQ5) [sage] 2022/11/05(土) 11:40:56.02 ID:zDjINlW+0(2/26) AAS
>>842
Windowsはアプリを実行する上でコード署名が必須でないから問題にならないだけ
846
(1): デフォルトの名無しさん (ワッチョイ 09e4-chQ5) [sage] 2022/11/05(土) 11:41:36.89 ID:zDjINlW+0(3/26) AAS
>>843
gitのマージを全然理解できてないからブランチを復活させたいとか思ってしまうんだな
普段の運用でスクリプトを使ってブランチを復活させたいとか思う羽目になることはあまりない

ブランチがDBにおけるindexみたいなものとか、後から追加できる?みたいな疑問が生じるあたり、ブランチが何なのか全然わかってない
reflogの偽造が必要という発想もかなりズレてるし、>>814 をみるとコミットの履歴がどういうものなのか理解できていないのだろう
847
(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 12:57:19.46 ID:646uiMLL0(3/38) AAS
>>844
さすがにその程度は知ってるぞ。
ただ、一般的には git add -A で問題ないディレクトリ構成で使う方が多いんじゃないか?

まあそれはさておき、
要は、正しくソフトウェアが構成されてれば、cat-file/hash-object を組みで交換すれば、
末端のファイル形式は自由に選べるって事だよ。sshにすればネットワーク先にも余裕だ。
つってももうこの話は通じないのでいいが。
848
(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 13:13:08.87 ID:646uiMLL0(4/38) AAS
>>845
つまり現行2.38.1のMac版にはBashバイナリが入ってないのか?
それでMacに元々入っているbash以外のshを使ってれば、そりゃ問題は発生するだろうさ。
> https://qiita.com/ko1nksm/items/59c2e8a7afa969af8212#:~:text=Mac%20%E3%81%AE%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AF%20macOS%2010.15%20Catalina%20%E3%81%A7%20bash%20%E3%81%8B%E3%82%89,%E3%81%AB%E5%A4%89%E3%82%8F%E3%81%A3%E3%81%9F%E3%81%A8%E4%B8%80%E8%88%AC%E3%81%AB%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%AF%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%95%AA%E5%8F%B7%E3%81%AE%E9%81%95%E3%81%84%E3%82%92%E9%99%A4%E3%81%84%E3%81%A6%E4%BB%A5%E5%89%8D%E3%81%A8%E3%81%BB%E3%81%A8%E3%82%93%E3%81%A9%E5%A4%89%E3%82%8F%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%20%2Fbin%2Fsh%20%E3%81%AF%20POSIX%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%20bash%20%28%2Fbin%2Fbash%29%20%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99

Macとしては署名済みじゃないとウイルスかもしれないので認められず、
GPLとしては署名付けるならその署名を作るソースも公開しろと言ってるわけ?
どっちも拗らせすぎだが、
一般論としては、Mac側に「開発者オプション」で「署名がないバイナリの動作を許可する」があれば済む話では?
実際自分でコンパイルしたバイナリを動かせないと困るし。
ただ、Macってスマホと同一化したからこれって脱獄になるんだっけ?
ならまあ、Gitの為に脱獄はないし、こじれるのは分かるが。

まあ、正直つき合いきれないが、俺なら、C化ではなく、
bashの機能を諦めてshの機能だけで書き直す方を選択するけどね。
849: デフォルトの名無しさん (ワッチョイ 09e4-chQ5) [sage] 2022/11/05(土) 13:19:32.87 ID:zDjINlW+0(4/26) AAS
>>847
実際仕事すればわかるが add -Aで綺麗なコミットを作れるように整備されてるリポジトリはあまり無い
デバッグしながらコミットしていくときは add -p を使うことがとても多い
850: デフォルトの名無しさん (ワッチョイ 09e4-chQ5) [sage] 2022/11/05(土) 13:20:48.95 ID:zDjINlW+0(5/26) AAS
>>848
https://www.infoq.com/jp/news/2019/07/macos-ditches-bash-for-zsh/
851
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 13:57:20.56 ID:0q4aURph0(2/9) AAS
git add -Aで十分とかさぁ、開発経験なさすぎだろ
それはgitをバックアップとか途中セーブ機能とでも思ってんのか?
1 commit = 一機能の追加とか、一日の最後にやるものとか思ってるんだろ

通常なにかのバグの修正とか
複数の個別の問題の複合なのに
それ全部まとめんな
852
(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 13:58:29.56 ID:646uiMLL0(5/38) AAS
>>846
そもそも俺含めて大半のプログラマはGitを理解したいとは思ってなくて、
単に便利だから使ってるだけだと思うがな。
理解せずに使えるのならそれに越したことはない。
(この価値観が相容れないのは理解したからもういいが)

君はGitを履歴追跡ツールとしてしか見てないようだが、
俺はもっと一般的に、Git形式のDBとして見てる。(INSERT履歴が保持されるDB)
そして、俺は>>808と同意見で、
開発が今現在行われていないブランチは閉じられてた方が見やすいと思ってる。
常時存在するのはgit-flowでいうdevelopだけで、masterやreleaseはタグでよく、
hotfixを作るならまずmasterブランチを復活させ、そこからhotfixを発生させたほうがいい。
(なおreleaseブランチは最後にバージョンを打つ奴にはいいが、
俺は先にバージョンを打ってから更新部分を実装するので、俺のワークフローには合わない)

それ以外にも、featureX付加時の変更漏れ/不適切な変更によるバグ挿入が後で発覚することはあるから、
git-flow的にfeatureを作っては消しで行くなら、ブランチの復活はプログラマには疑問のないことだ。
featureX_patch0と新たな変更扱いしてもgitオブジェクトツリー自体は同じだが、
名前が似てるだけの別物扱いになるので、
featureXの開発『線』をメンテナンスする気なら、branchの復活が必要になる。

実は、とりあえず同じ名前で作り直せば自動的にくっつく馬鹿向け仕様か?と試してみたが、
まあGitの文化でこれはなかった。
が、まあ、俺的にはこれであって欲しかったね。
「同じ名前が昔ありましたが、そこにくっつけますか?(Y/N)」「Y」
「いい加減にしてくださいよ、何回目ですか?」「うるせーよ」みたいな。

ただこれ、branch側は --list オプションで表示を簡単に絞れるから、
Gitの思想としてはbranchは「消さずに全部残しておけ」で、
git-flowがGitの思想と合ってないだけだね。ならツール用意しとけと。
853: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 14:02:51.18 ID:0q4aURph0(3/9) AAS
>>852
世の中に理解しないで使えるものなんてない
854
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 14:04:13.47 ID:0q4aURph0(4/9) AAS
大体gitの使い方を理解したいと思ってるやつはアホ
理解するのはバージョン管理の仕方だ

こうやってツールの使い方を学ぶことが理解だと思ってるから
gitがなくなったらどうしよう
また新しいことを学ばなきゃいけないってなるんやろ
855: デフォルトの名無しさん (ブーイモ MM96-1bV6) [sage] 2022/11/05(土) 14:19:41.99 ID:W/77BOuWM(1/2) AAS
>>854
git そのものを理解すること諦めたか
でもお前使い方の方も盛大に勘違いしてるよ
856: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 14:24:19.56 ID:646uiMLL0(6/38) AAS
>>851
> それはgitをバックアップとか途中セーブ機能とでも思ってんのか?
> 1 commit = 一機能の追加とか、一日の最後にやるものとか思ってるんだろ
そうだぞ。
ブッ込んでおけば後で何とでもなるただのバケツでしかない。
バケツの使い方を学べとか、知るかボケだ。
後でバケツから探し出すハメになった時、取り出し方をググって取り出せれば十分だ。
大方、プログラマの大半はこの程度の認識のはずだぞ。

そしてお前が望む、綺麗な管理記録は、これのサブセットでしかないんだよ。
だから例えば俺が780で言ったように、「コミットメッセージが空」を除外すれば簡単に得られる。
今のGitにこの機能がないだけ。(まあ近い機能はあるが)
DBならWHEREに条件を付加すればいいだけの楽勝案件で、Web系ならみんな出来るよ。
sedのワンライナーで済むことすらCで実装するGit界隈だと誰も出来ないのだろうけどさ。

まあGitにSQLインタフェースを付け加えればWeb系の奴等は文句言わなくなるんじゃないかな?
連中にとっては直感的になるから。
857: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 14:34:25.48 ID:0q4aURph0(5/9) AAS
> 大方、プログラマの大半はこの程度の認識のはずだぞ。

お前の周りの無能集団だけだろ
858
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 14:35:58.29 ID:0q4aURph0(6/9) AAS
一体どこのプロジェクトに「2022年11月4日の仕事終了時のセーブ」なんてコミットがあるんですかねぇ
859
(2): デフォルトの名無しさん (アウアウウー Sacd-EsyA) [age] 2022/11/05(土) 14:42:21.04 ID:oTMzuhJSa(1) AAS
>>858
それなんて、俺の前の職場
860
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 14:46:20.49 ID:0q4aURph0(7/9) AAS
データの取り出し方なんか知っていても
過去のコミットのミスを簡単に直せないなら
バージョン管理は苦痛になるし
やっぱりツールの使い方だけ知ってバージョン管理をしたことがないんだろうな
バージョン管理が不便だからgitが作られたんだぞ
861: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 14:58:06.66 ID:646uiMLL0(7/38) AAS
>>859
俺はそれでいいと思うけど。
記録してない方が問題で、記録さえしてあれば、ゴミとマジを簡単に分離出来れば十分だ。

>>860
今のGitの修正は十分苦痛だよ。
修正させたくないから面倒にする、は間違いで、
簡単に修正出来るが、修正したことも履歴に残るようにする、が正しい。
862
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 15:03:35.62 ID:0q4aURph0(8/9) AAS
× 俺はそれでいいと思うけど。
○ 無能はそんなことをしている。

まずさぁ、gitというかバージョン管理の基本を理解してないんだからさ
そこから勉強しなよ
863
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 15:04:40.67 ID:0q4aURph0(9/9) AAS
> 簡単に修正出来るが、修正したことも履歴に残るようにする、が正しい。

お前はテキストエディタで保存するたびに
gitにセーブしろって言ってんのか?w
864
(2): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 16:06:55.57 ID:646uiMLL0(8/38) AAS
>>863
俺が言ってる「修正」は、Git自体の修正で、
> なのでマージ前のブランチをレビュー対象とする開発では push の際に整理することになる (778)
の場合に、SQL的に、
DELETE FROM my_repo WHERE branch='featureX' AND commit_message='';
あるいは、
CREATE INDEX beautiful_featureX ON my_repo WHERE branch='featureX' AND commit_message='';
で済むのに、何故Gitにつき合ってグダグダやらねばならんのだ?ということ。

それとは別に、ちょこまかcommitしても、俺は構わんと思うけど。
上記のように、それを1コマンドで除去出来れば、実務上何ら問題ない。
粒度が細かすぎてDBが膨れあがるなら、その部分を定期的にバックアップに切り出していけばいいだけ。
bitcoinはこの方式だ。

>>862
多分根本的に違うのは、

俺: 俺のワークフローに合うようにツールをカスタマイズする
863: Gitのワークフローに合わせてgitを使え、それ以外認めない!

なんだよ。
Linusが個人的に開発したんだからGit自体はそれでいいんだが、
全世界でLinuxと同じワークフローが適切なわけではない。
865: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 16:10:37.55 ID:5Oe/8sYX0(1/24) AAS
>>864
アホなの?コミットメッセージは毎回入れるものだ
866: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 16:11:36.07 ID:5Oe/8sYX0(2/24) AAS
>>864
> 全世界でLinuxと同じワークフローが適切なわけではない。
だからgitはいろんなワークフローに対応してるんだろうが

お前のはバージョン管理のワークフローではない
ただのバックアップのワークフローだ
867: デフォルトの名無しさん (ワッチョイ 5e8f-gUJl) [sage] 2022/11/05(土) 16:45:19.71 ID:CLSrxuim0(2/2) AAS
まあ1人プロジェクトみたいだし好き勝手やらせればいいさ
868: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 16:54:40.83 ID:5Oe/8sYX0(3/24) AAS
コミットメッセージが空だったら~とかわけわからんなw
869
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 16:56:10.72 ID:5Oe/8sYX0(4/24) AAS
行単位で独立してるデータベースのデータじゃないんだからさぁ
ソースコードは前後の歴史とつながってる
DELETEなんちゃらみたいに一つだけ取り除くことが出来るのは稀
870
(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 17:21:12.99 ID:646uiMLL0(9/38) AAS
>>869
それは当然UIの話で、当たり前だが内部のリンクは接続し直すんだよ。
そしてそれをユーザーには見せない。

多分ここら辺の階層の話がGitには存在しないんだよ。
だからユーザーがviでリンク書き換えろとかの勢いだろ。
超密結合だし滅茶苦茶だよそれは。
871
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 17:22:28.46 ID:5Oe/8sYX0(5/24) AAS
>>870
都合が悪いからって無視するな
前後のソースコード関連してるから
途中のコミットを取り除くことはできないと言ってる
872: デフォルトの名無しさん (ワッチョイ 0d4e-GJ//) [] 2022/11/05(土) 17:28:35.59 ID:B2i8Nuif0(1) AAS
つまり、両親がイブに中出ししてお前が生まれたという歴史において、
イブの中出しだけを無かったことにはできないと言うことだね
その後の歴史でお前が存在するのはおかしいし
873
(3): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 17:30:55.67 ID:646uiMLL0(10/38) AAS
>>871
何言ってんだ?
中身はただの単方向リンクリストだぞ。
リンク先が複数のこともあるが、それでも問題なく抜ける。

ただそれ以前に、俺は既に言ったとおり「記録されてないほうが問題」とするので、
CREATE INDEXを使うが。これなら理解出来るか?
だったら、このINDEX対象をちょうど全部含むようにリンクリストを新しく作り直せばいいだけ。
それがDELETEしたものと同じ物になる。これで理解出来るか?
874
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 17:40:00.52 ID:5Oe/8sYX0(6/24) AAS
>>873
じゃあ抜き取ってみ

・commit 1「aaa を追加」
aaa

・commit 2「bbb を追加」
aaa
bbb

・commit 3「bbb を ccc に置き換えた」
aaa
ccc

ここからcommit2を抜き取ったときの
commit3の修正内容をよく読んでみろ
875
(1): デフォルトの名無しさん (ブーイモ MM96-1bV6) [sage] 2022/11/05(土) 17:44:37.25 ID:W/77BOuWM(2/2) AAS
>>873
残念だけどそこから間違ってる
Gitのコミットのリストは単方向リンクリストではない
なのでリストの途中のコミットを削除したり途中に追加できない
876
(2): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 17:58:44.17 ID:646uiMLL0(11/38) AAS
>>874
ああコミットメッセージについては考えてなかったが、
俺ならそのままぐちゃっと貼り付けるけど。
つまり、

・commit 1「aaa を追加」
aaa

・commit 3「bbb を追加」「bbb を ccc に置き換えた」
aaa
ccc

になる。
877
(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/05(土) 18:03:19.55 ID:646uiMLL0(12/38) AAS
>>875
親が複数あるだけの単方向リストだよ。
まあこれを単方向リストと呼ぶかは微妙だから、ツリーと言った方が通じたか?
ツリーが複数重なり合った状態になってるだけだよ。

単線の A<-B<-C なら A<-C になる。これは自明だよな。
マージの場合、(BがADのマージ結果ね)

A<-B<-C
D<-|



A<-C
D<-|

にする。
878
(1): デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 18:18:30.70 ID:5Oe/8sYX0(7/24) AAS
>>876
ようやく理解したか。
だからお前がやってるのはただのバックアップを取ってるだけだっていってんだよ
バージョン管理というのは何をどう変えたかという変化を記録するものだ
スナップショットじゃねーんだよ、あーほ
879: デフォルトの名無しさん (ワッチョイ 6914-pSqO) [sage] 2022/11/05(土) 18:19:21.47 ID:5Oe/8sYX0(8/24) AAS
>>876
bbbの話がないのだから、
書き間違えなのか全く区別がつかない
バグコミットメッセージだな
1-
あと 123 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s