[過去ログ] Git 18 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
777(1): (ワッチョイ 497b-vCJ4) 2022/11/03(木)15:05 ID:AHw2USmo0(8/17) AAS
>>775
git add -u を複数回して粒度を上げて動くものだけcommitしてもいいのだけど、
俺の場合は10回に1回程度は2-3回前の変更とdiff取った方が見やすいことがあって、
その場合にhash控えておくのが面倒だし、gcされてたらさらに面倒だし、gc切るのもまた邪道だろうしで、
動かないのもcommitしてfeatureの途中は動きませんと割り切るのが一番ましかと思ってる。
まあでもありがとう。
粒度調整の為ならこちらの予想の範囲内ではあった。
778(1): (ワッチョイ a95f-Tk+f) 2022/11/03(木)15:26 ID:O+O1uzzM0(1) AAS
>>777
> その場合にhash控えておくのが面倒だし、gcされてたらさらに面倒だし、gc切るのもまた邪道だろうしで、
N個前との diff は git diff HEAD~N でハッシュを控える必要もないし gc のくだりは何のこと言ってるのかわからない。
> 動かないのもcommitしてfeatureの途中は動きませんと割り切るのが一番ましかと思ってる。
ローカルブランチなら別に構わないけど、そのノリで作られたブランチをそのままレビューするのは効率悪い。
なのでマージ前のブランチをレビュー対象とする開発では push の際に整理することになるから、
都度整理の際にインデックスはとても有用。
他にも、作業中に全然関係ない typo 直したりするのにも使える。
779(1): (ワッチョイ 8bbb-VzUj) 2022/11/03(木)15:53 ID:HnXRQ5rf0(1) AAS
index の重要性が分からないやつが git 語ってて草。
素人向けに説明すると git の役目は他人に読んでもらうやすい分かり易いパッチを仕上げること。
個人で作る分にはそれほど関係ないが共同作業するには他人への分かり易さ、見た目は最重要といっていい。
料理に例えるならフライパンやまな板のまま出すんじゃなくて、皿に盛って食べ易くしてから出すのが基本。
ワークツリーがフライパンで、インデックスが皿。フライパンからでも直接食えるけど、綺麗に皿に盛って、そこで丁寧にチェックしてから提供すれば他人の作業効率が上がる。
780: (ワッチョイ 497b-vCJ4) 2022/11/03(木)16:18 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) 2022/11/03(木)16:20 ID:AHw2USmo0(10/17) AAS
>>779
いやレビュー対象はcommit済みで、index上ではないだろ。
782: (ワッチョイ 8b8f-5UCg) 2022/11/03(木)16:22 ID:5PP47Osh0(2/3) AAS
うんうんわかった
大人しくSVN使え
その方が君には向いている
783: (ワッチョイ d9e4-Ojdt) 2022/11/03(木)17:18 ID:NhDXzDSd0(2/3) AAS
>>781
779はindex上でレビューするんじゃなくて、indexにいれた状態にしてからdiff --cachedでcommit前の確認をするってことじゃない?自分もそれやるよ
784(2): (ワッチョイ 8b14-Tk+f) 2022/11/03(木)17:50 ID:e1pojM/n0(1/8) AAS
>>763
> (昔からsh《bsh》は互換性は高かったし、今はその後継のbashで統一されてる。
> ああ確かにcsh/tcsh/ksh/zshはゴミだったし死滅したよ)
FreeBSDにはbash入っとらんぞ
785: (ワッチョイ 8b14-Tk+f) 2022/11/03(木)17:52 ID:e1pojM/n0(2/8) AAS
>>763
> 既にあるbash(多分C)ソースをコンパイルしただけのものを同梱し、
> gsh(=gitsh)だ!これを使え!と強弁すれば済んだろ。
bashだけじゃ足らんだろ
GNUコマンドも全部入れなきゃな!
786: (ワッチョイ 8b14-Tk+f) 2022/11/03(木)17:53 ID:e1pojM/n0(3/8) AAS
>>770
> 仮に時間が十分にあったとしても、俺が改善出来るのはソースコードであって、アプリではない。
だからソースコードを改善しろってw
787(1): (ブーイモ MMeb-ntN1) 2022/11/03(木)18:10 ID:3fLLADP3M(1) AAS
>>784
macもbsahやめたんだよね
GPLから逃げるために
788(3): (ワッチョイ 497b-vCJ4) 2022/11/03(木)19:01 ID:AHw2USmo0(11/17) AAS
あと実は、masterの意義も分からないのだが。俺の場合は、
master: 今現在Web上で公開しているもの
develop: 今現在ローカル上でテストしているもの
feature: 今現在変更中のソースコード
と3つポインタが必要なのは分かる。
しかし、masterは常にdevelopとfast-forwardマージするなら、developにタグ打てば済む。
途中からのbranchも可能だし、hotfixするにしても問題ない。
branchケチる意味もないのも分かるが、それにしても無駄に多い気もする。
と思ってたら、俺にはサル先生方式位が適切な気がしてきた。
> ここでは統合ブランチとトピックブランチという二種類のブランチを使った運用方法について紹介します。
> 外部リンク:backlog.com
サル先生方式の統合ブランチにタグ打つだけと比べて、
masterとdevelopとして別に持っておいたら何が嬉しいの?
789(1): (ワッチョイ 497b-vCJ4) 2022/11/03(木)19:03 ID:AHw2USmo0(12/17) AAS
>>784
>>787
政治的案件をOSS側がフォローする必要ないと思うが…
790(1): (ワッチョイ 8b14-Tk+f) 2022/11/03(木)20:29 ID:e1pojM/n0(4/8) AAS
>>789
なに政治的案件の話にすり替えようとしてるんだよ
gitは環境依存が激しいシェルスクリプトに依存しないように
C言語で書いてるって話をしていただろ
791(1): (ワッチョイ 8b14-Tk+f) 2022/11/03(木)20:33 ID:e1pojM/n0(5/8) AAS
>>788
1系、2系の同時開発とかあるやろ
792(1): (ワッチョイ 7933-Tk+f) 2022/11/03(木)20:41 ID:vXMSDhes0(1/2) AAS
.gitignoreの書き方で質問
app.log, app.log.1, app.log.2みたいな感じで増えていくログファイルを無視したいのですがどう書けばいいですか?
793: (ワッチョイ 8b8f-5UCg) 2022/11/03(木)20:41 ID:5PP47Osh0(3/3) AAS
>>788
なんだやっぱりブランチのことすら分かってなかったのか
794(1): (ガックシ 06eb-lAaw) 2022/11/03(木)20:48 ID:5fumPTTR6(1) AAS
>>792
*.log* でなにか被ったりする?
795: 792 (ワッチョイ 7933-Tk+f) 2022/11/03(木)20:58 ID:vXMSDhes0(2/2) AAS
logフォルダ作ってそれを無視することにしました
>>794
ごめんなさい!
796(1): (ワッチョイ 497b-vCJ4) 2022/11/03(木)21:00 ID:AHw2USmo0(13/17) AAS
>>791
あ、なるほど了解。
逆に言えば、同時開発する気がなければ要らないわけだな。
797(1): (ワッチョイ 8b14-Tk+f) 2022/11/03(木)21:04 ID:e1pojM/n0(6/8) AAS
>>796
今自分で「必要だ」って言ったってこと理解してるかい?
798(2): (ワッチョイ 497b-vCJ4) 2022/11/03(木)21:15 ID:AHw2USmo0(14/17) AAS
>>790
C化しただけで環境依存が無くなるのなら、既にC化されてるbashでいいだろ。
Cコード上で何か小細工が必要なら、それは「互換性を上げる」名分でbashにcontributeすべきで、
Git側で吸収する案件ではない。
GPLから逃れたいってのも意味が分からん。
bashのコードを改変して新機能追加してmac_bachにしたら、そのコードを公開しないといけないが、
普通にbashを使って作業するだけなら関係ないから使えばいいだけ。
何か思惑有るんだろうけど、Gitがソースを汚してまでフォローする案件じゃないだろ。
> また、これ以外にも zsh や bash などのシェルが FreeBSD Ports Collection から利用可能です。
> 外部リンク:docs.freebsd.org
自分でインストールしろよ。
799(1): (ワッチョイ 8b14-Tk+f) 2022/11/03(木)21:16 ID:e1pojM/n0(7/8) AAS
だからなんでgit使うだけで
bash+たくさんコマンド入れなきゃならんのだよ
800(1): (ワッチョイ 497b-vCJ4) 2022/11/03(木)21:22 ID:AHw2USmo0(15/17) AAS
>>797
必要なのはポインタであってブランチではないんだ。
というか、俺にとってはその時のスナップショットが復元出来れば何だっていいんだよ。
fast-forwardでは履歴が辿れないからrebaseで、みたいな話もあるからもうちょっと確認必要だが、
git flow は手動ではなくインストールして使え、そうすれば全部やってくれる、としてるところばかりで、
どうもmergeの時に色々判断して小細工してるようだが、何やってるのか書いてないから分からないんだ。
まあでも色々他の簡単なのもあるみたいだし、初心者だから出来るだけ単純なのにするよ。
801(1): (ワッチョイ 497b-vCJ4) 2022/11/03(木)21:25 ID:AHw2USmo0(16/17) AAS
>>799
逆に一体どんな環境でやってるのさ?
普通のunixコマンド一式すら入ってないのか?
そもそもGitなんてPCかそれに近い環境で動けば良くて、それ以外は考慮する必要ない気がするが。
802(1): (ワッチョイ 8b14-Tk+f) 2022/11/03(木)21:29 ID:e1pojM/n0(8/8) AAS
>>800
今話をしているのはお前が言ったこと
> 逆に言えば、同時開発する気がなければ要らないわけだな。
if (同時に開発する気がある) {
いる
} else {
いらない
}
自分で同時に開発する気があればいるって言っただろ自分で
803: (ワッチョイ 497b-vCJ4) 2022/11/03(木)21:39 ID:AHw2USmo0(17/17) AAS
>>802
ん?どこを誤解されてるのかは分からんが、
俺は複数バージョンを同時開発する気はない。
ただ、リリース後にバグが発覚するする事はあるので、hotfixはする。
804: (ワッチョイ 7997-uk66) 2022/11/03(木)23:10 ID:9oLRzF140(3/4) AAS
>>801
普通にSourceTreeとかでコマンド一杯を前提としているとは思えないが。
805(1): (ワッチョイ 7997-uk66) 2022/11/03(木)23:14 ID:9oLRzF140(4/4) AAS
>>788
少なくともCIで回すときは楽だろ。
Git初心者で視野狭すぎなのに、その視野の狭さを無視して「合理的に考えてこれが不要」ってのがあんたのスタイルのようだけど、
そうやってわざわざ視野の狭さから来る「不要」の主張をして反感を買ったレスで学びたいのか?
勉強したいなら、炎上スタイルは目障りなんでよしてほしいな。二言ぐらい余計なんだよ。
806(1): (ワッチョイ d9e4-Ojdt) 2022/11/03(木)23:20 ID:NhDXzDSd0(3/3) AAS
>>798
以下は簡単に調べただけで、時系列の検証もしてないので、何か間違いあるかもしれない
macOSはbash,gcc,sambaをベースシステムにいれるのをやめた
これらはGPLv2からGPLv3にライセンスが変更されて、GPLv3に追加されたバイナリの取り扱いに関する条項がmacOSのセキュリティポリシーに合わなくなったのがその理由
linusはこのGPLv3の条項に批判的で、gitはGPLv2のままでいく可能性が高い
GPLv3のbashに依存するようgitを作り変えると、インストール方法をちょっと特殊にしないとgitもこのGPLv3の条項の制限をうけることになってしまうので、まあやらないだろうね
他のOSSに依存するとこういうのもあるから気を付けないといけない
上下前次1-新書関写板覧索設栞歴
あと 196 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.013s