Git 17

■ このスレッドは過去ログ倉庫に格納されています
2020/09/02(水) 12:18:30.39ID:XN0SxNMq
ソースコード管理を行う分散型バージョン管理システム、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 15
http://mevius.2ch.net/test/read.cgi/tech/1486239735/
Git 16©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1502726047/
-
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
2020/12/13(日) 11:16:43.84ID:EpHdNzxH
Gist 使えば良いのか
2020/12/13(日) 11:45:45.40ID:he+bODzw
誰に怒られるんだ、githubの利用規約を気にしてるのか?
gitで管理できるものなら何でも、常識の範囲内で使えるサービスだと思うぞ
2020/12/13(日) 11:53:16.80ID:g745qoA+
小説書いてるのだってあるし余裕でしょ
2020/12/13(日) 11:55:55.14ID:scHA/gMy
>>337
これマジ?
2020/12/13(日) 11:57:33.44ID:EpHdNzxH
https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gistfs

これがくそ便利だったわ、普通にローカルのファイルと同じように扱える
教えてくれてありがと
2020/12/13(日) 12:36:07.12ID:EpHdNzxH
master から main に名前変えるって話上に書いてあるけど、
git blame の方が嫌な名前じゃね?
日本人ですら抵抗感じる名前なんだけど
2020/12/13(日) 12:49:03.88ID:QWQrj2BD
それを言うならGitって名前がもうね
2020/12/13(日) 13:03:35.87ID:5EW0FlRD
それを言ったらkillコマンドもダメだな
なにも悪いイメージの言葉を全部狩ってやろうって話ではなくて、ポリコレ的に問題になるのは差別と通じるものがあるかどうか
程度問題や是非はさておき、差別は基本的人権を脅かすのが理由
blameは非難という和訳だけで覚えてるとキツいけど、blameが持つ責任の所在を明らかにするという概念を認識しているネイティブにはそこまでキツく感じないんだと思う
2020/12/13(日) 13:22:36.39ID:3afJGKv9
犯人探しは別に差別じゃないからな
2020/12/13(日) 14:25:57.38ID:a1FcLP73
black listに黒人差別は関係ないという話は
無視されたわけですが
2020/12/13(日) 15:05:53.09ID:tJMy4iCP
黒人を少しでも悪く言えないように黒人の話題を全て書き込み禁止にしてほしい
2020/12/15(火) 09:31:17.80ID:WjzirlT0
Git v2.30.0-rc0


Git 2.30-rc0 Released With More Work On "Main" Branch Renaming, Fixes
https://phoronix.com/scan.php?page=news_item&;px=Git-2.30-rc0-Released
350デフォルトの名無しさん
垢版 |
2020/12/15(火) 11:48:33.99ID:JgqAZAsv
あいつら上級地球民だから
俺たち下級とは違うんだよ
もちろん100%皮肉な
2020/12/15(火) 19:54:34.73ID:gQh/3Vfu
gist コマンドって、git と違って、何かしら技使わないと grep できないってことでいいん?
2020/12/16(水) 15:20:31.57ID:4v/YyiUF
エロ画像管理に向いてる?
エフェクト掛ける程度です
2020/12/16(水) 15:21:52.55ID:4v/YyiUF
ローカル死ぬと怖いから秘密守ってるれるホスティングサービスあると嬉しい
2020/12/16(水) 17:56:04.09ID:mj49aMLx
>>353
ローカルをディレクトリごとバックアップしときゃいい
2020/12/17(木) 08:05:46.99ID:61mx8GyZ
>>353
暗号化ストレージにリモートリポジトリ作ったら?

git-secretとかgit-cryptもあるみたいだな。使ったことないけど。
2020/12/19(土) 18:19:57.30ID:///qzbaH
ついにトークンになるのか
遅い
2020/12/19(土) 18:37:10.93ID:FXefMsJV
トオル君?
2020/12/19(土) 20:23:49.34ID:JSwgNTOX
あたしの彼氏、今日の俺は今日だけのワンタイムトークン!とか
携帯を勝手に覗き見てトークンチェック!とか言ってくる…
もぅマヂ無理。
2020/12/19(土) 21:22:51.82ID:Q3lUmbae
githubのスレでやれ
2020/12/20(日) 09:27:35.42ID:e/uuvQSS
Git v2.30.0-rc1
361デフォルトの名無しさん
垢版 |
2020/12/20(日) 09:54:39.04ID:fJFvmm9G
GitHubがGit操作時のパスワード認証を廃止、今後はトークンによる認証が必須に
https://gigazine.net/news/20201219-github-token-git-operations/
2020/12/20(日) 10:42:03.68ID:KAYvYNrC
githubのスレでやれ
2020/12/20(日) 14:51:44.47ID:h+k5X02K
GitHubってパスワード使えたのか? SSH認証だけだと思っていた。
2020/12/20(日) 20:23:32.93ID:vVtHms2k
みんな SSH でやってるでしょ
ほとんどの人が影響なし
2020/12/21(月) 20:01:18.48ID:igZjZViM
前いたとこはみんな https でやってて credentil.helper でパスワード保存してたな
これも使えなくなるのかな
2020/12/21(月) 20:06:15.80ID:D8/t+Wt8
まあ確かに会社のPCに秘密鍵置いておくと
取られる可能性はあるからな
そのPC固有のトークンのほうが安全か
もちろん俺は秘密鍵にパスコードかけてるけど
2020/12/22(火) 13:33:02.25ID:RKM5Yi1/
>>358
ネカマキモwwwwww
2020/12/24(木) 08:43:34.70ID:EahE3vDH
2段階認証あるある:
割とでかいコードをチェックアウトするためにコマンドを走らせたままにして後で見たら、
認証が期限切れになっててチェックアウトが全部失敗していた。
面倒な世の中になった。
2020/12/24(木) 09:05:56.22ID:Lnk/IQtv
そんな話初めて聞いた
2020/12/24(木) 09:15:10.65ID:Z5M4Fv1j
git の話ではないな
2020/12/24(木) 10:16:03.46ID:cbU3fp1Q
Git v2.30.0-rc2
2020/12/24(木) 11:50:57.53ID:KLhNBo44
作り話やろ?w
認証は最初に1回やるだけなんだから
2020/12/24(木) 19:38:22.47ID:pdRNZMox
あ確かに、gitの話というよりsshの話か
2020/12/24(木) 21:19:58.32ID:zHK1POmy
sshは2段階認証かからないのでは
2020/12/26(土) 08:52:45.60ID:LWCoNPDe
OTPを使うやつね
376デフォルトの名無しさん
垢版 |
2020/12/26(土) 20:26:02.66ID:z44Zq0Yv
なぱきゃとわんちゃい
みたいな名前の奴いたな
2020/12/27(日) 03:54:40.69ID:ig+Dm/J9
gitとgoogleToDoがリンクしたらいいなーと思っている
思うだけ
2020/12/27(日) 07:18:20.86ID:3wE25Ze9
>>376
あああの渡辺満里奈と結婚した...

自分は今でも人に物を頼むときについ「タノムサク」と口走りそうになることがある。
2020/12/29(火) 12:27:28.18ID:kMuxVeIu
Git v2.30.0
2020/12/30(水) 17:18:57.85ID:m/y18WaF
macではgitconfigのPAGERに何を指定したらいいのでしょうか?
macにlessが入ってなくて
381デフォルトの名無しさん
垢版 |
2021/01/03(日) 15:29:55.66ID:VGPDd1I6
.gitignoreの拡張子って何ですか?
2021/01/03(日) 17:37:10.04ID:uWkBjJnT
gitignore
383デフォルトの名無しさん
垢版 |
2021/01/03(日) 17:49:29.18ID:j0Gq6j/F
.gitignore.gitignoreってこと?
2021/01/03(日) 21:32:50.27ID:37FlK6+Q
.の右側の名前が拡張子だけど
こんな質問するようなカスがGit使うのかよ
2021/01/03(日) 23:39:20.45ID:EZ344wHF
ドットファイルはLinux系の命名ルールで、Windows系以外では拡張子にあまり意味がない
.gitignoreの拡張子はgitignoreであるとも言えるし、拡張子はないとも捉えられる
ドットファイルの拡張子は何かという質問自体にほとんど意味がない
どのように扱われるかはツールやコマンド次第
386デフォルトの名無しさん
垢版 |
2021/01/04(月) 00:13:59.55ID:sJY8blrR
>>385
ありがとうございました

>>382-384
もうちょっと分かりやすく質問したほうが良かったですね
ごめんなさい
387デフォルトの名無しさん
垢版 |
2021/01/05(火) 12:02:54.07ID:G8BimKKu
windowsのexoplorerで拡張子表示しない設定がデフォだが
.gitignoreの様ないわゆるドットファイルは全部表示されなくなるのか
2021/01/05(火) 12:28:54.57ID:aNkjNIb3
試してみればいいだろ。どうせWindowsを叩くネタ探ししてるだけだろうけどなw
2021/01/05(火) 13:11:13.60ID:QCk77nSD
>>387
表示しないのは登録されている拡張子だけでは?
2021/01/06(水) 20:55:16.68ID:Td/kVwus
>>39
コミットはスナップショットであり差分ではない
https://github.blog/jp/2021-01-06-commits-are-snapshots-not-diffs/
2021/01/07(木) 00:39:52.75ID:EvYoYllB
もう許してやれよ
2021/01/07(木) 01:43:50.25ID:aTKj6syu
絶対に許せない
絶対にだ
2021/01/07(木) 02:19:08.21ID:KFrRp0zM
ゆるしてやったらどうや
2021/01/07(木) 04:30:00.53ID:34A7D4US
俺は許す。だが第二、第三の許さいないやつが登場するかもしれないがな!
2021/01/07(木) 04:30:26.54ID:34A7D4US
俺は許さへんけどなー
2021/01/07(木) 04:32:14.62ID:Rwr+/vV9
1000年恨み続けるぞ
2021/01/07(木) 04:35:29.84ID:6iGXQ2ZO
俺も許さへんけどなー
2021/01/07(木) 04:44:30.28ID:USu0TVaW
許すまじ>>39
2021/01/07(木) 08:44:09.61ID:ZQrukJD2
まあ使う分にはコミットがスナップショットでも差分でもどっちでもいいけどな

しかし、>>390でgitが過去のバージョン管理に比べて動作が速いのが納得できた
頭のいいやつの考えることは凄いわ
2021/01/07(木) 16:00:26.65ID:EQlW7mXe
まじめな話 git のコミットは思想的にはパッチセットだけどな。
古い rcs系はスナップショットとして管理して内部的には差分として保存。
gitは逆でパッチとして管理し内部的にはスナップショットとして保存。
この辺が技術的に面白いところだけど、混乱したりバカな記事書いたりするやつが多い。
2021/01/07(木) 21:43:05.24ID:fS2hw6z7
どういう意味?
〜で管理して…で保存、の前後が何を言ってるのかわからない
管理と保存の違いを詳しく教えてくれ
2021/01/07(木) 22:15:20.16ID:CAJlIzxl
はてブコメントを見てると勘違いしてる人が結構いるのがわかる
2021/01/08(金) 17:55:34.84ID:8WBrrTq7
gitがリビジョンを差分で管理してるみたいな勘違いは何年たっても減らないな
これとかもそうで、はてブとかでボロクソに言われて逆ギレしてるし
https://qiita.com/kaityo256/items/81e7951a1ca2706955a4
2021/01/08(金) 18:04:44.51ID:KooE4RYV
まあ確かに二重性はよく言われるところではあるよね
https://www.thirtythreeforty.net/posts/2020/01/the-wave-particle-duality-of-git-commits/
2021/01/08(金) 18:12:28.13ID:PqQGKODL
>>401
内部的にはスナップショットで持ってるけど、管理の単位(コマンドの操作対象)はパッチセット(差分集合)ってこと。
前者と後者の区別できないやつ(前者だけ主張するやつと後者だけ主張するやつと両方いる)が変な誤解が湧く原因。
stash とか例外はあるけど、内部実装の議論しないんなら git ではスナップショットとか忘れて良い。一方で内部実装からむならスナップショットが特徴。
2021/01/08(金) 18:33:01.34ID:0rHRhM/J
gitのコミットがスナップショットであるって基本原理を理解しておかないと、コミット間の差分比較が速いとか、リポジトリが肥大化するとか、svnの部分チェックアウトとか、gitの長所短所の理由を理解できない
2021/01/08(金) 19:26:51.55ID:PqQGKODL
長所の「理由」とか知ってる必要ある?
普通に使うだけなら理由は知らなくても結果の特徴だけ知ってれば十分。
ガソリンの燃焼の仕組み知らなくても車は運転できる。
技術者なら知っとけ損はないから、とは思うけど使う上で必須ではない。
それより内部実装と管理対象の混同の方が問題。嘘主張するくらいなら内部実装は忘れてもらった方が。
2021/01/08(金) 19:39:39.15ID:qqFAZEK4
管理の単位ってなんのことか知らんけど、git diffするにしたって、Git内部のどこかに差分ファイルがあってそれを表示してるんじゃなくて、スナップショット間でその都度差分作ってる
だからSubversionと違って、任意のコミット間、任意のブランチ間の差分も素早く作れる
逆にこのせいでSubversionに劣る機能もある
2021/01/08(金) 19:44:00.94ID:R5EtqfcI
そんでSubversionに劣る機能って?
2021/01/08(金) 20:44:22.53ID:gSC2W/4L
コミット毎にスナップショットを保存というのは、データサイズはやっぱりでかくなるん?
そのへんのトレードオフは割り切ってる感じなんかな?
2021/01/08(金) 20:50:30.68ID:gSC2W/4L
連レスごめん

個人用のメモとかのリポジトリでも、あんまり頻繁にコミットするのはデータ量増えてくだけだからよくなくて、
1日ごとの記録をまとめてコミットしたりとかの方がいいのかな

「コミットはドラクエのセーブみたいなもんだ」ってのを最初に見たから、なんか「こまめにセーブ」しちゃうんよね
プライベートリポジトリで
2021/01/08(金) 21:15:39.42ID:/3odlZSD
> 「コミットはドラクエのセーブみたいなもんだ」ってのを最初に見たから
それが本なら捨てたほうがいいレベル

バージョン管理というのは「バージョン」を管理するためのもの
バージョンというのは機能の違い

このバージョンで追加された機能、修正された機能はなんですか?
という質問に答えられないようなコミットは作ってはいけない
2021/01/08(金) 21:17:00.17ID:/3odlZSD
ここでいってるバージョンっていうのは1.0.0みたいな
公開用バージョンじゃなくて1コミット=1内部バージョンっていう意味な
リビジョンとも言う
2021/01/08(金) 21:19:32.15ID:/3odlZSD
困ってないのにデータ容量とか速度を気にするやつは
素人の証拠だろうな
2021/01/08(金) 21:20:19.55ID:gSC2W/4L
うん、パブリックな作業だとそうなんだろうけど、
プライベートで作業してるメモとかのリポジトリの話ね
2021/01/08(金) 21:23:23.78ID:iWK9k6TE
ローカルのメモフォルダはcronで自動コミット
2021/01/08(金) 21:33:17.87ID:gSC2W/4L
ちょっとググったら、コンセプトレベルだとスナップショットで保存してるという事になってるけど、
実際にデータストレージに格納する際は、普通にデルタで管理してるみたいね

https://stackoverflow.com/questions/8198105/how-does-git-store-files
2021/01/09(土) 00:02:47.37ID:W79PuS1T
>>410
内部で圧縮だとか重複排除だとのかの機能が働いてるのでテキストなら全く気にすんな。
変更箇所が小さいということは他のスナップショットとの間での重複が大きいので、その分圧縮がよく効いて結局小さくなる。

逆にいうと重複排除や圧縮の効かない画像や音声などのバイナリは小さくならないのでディスクを食いまくる。
2021/01/09(土) 04:27:19.29ID:OcYH4afG
肥大化するのは、Gitがブランチ作りまくって運用するって思想なのもある
DLLとかアセットを大量に扱いやすいゲーム開発でSubversionが好まれやすいのは、Subversionがバイナリーもデルタで管理するから
2021/01/09(土) 07:29:37.17ID:tLHsNmBf
ブランチ作りまくるのは、ブランチ作ったほうがいいから
gitだからブランチを作るのではない
作りたいから作るのだ

作りたいのにsubversionは面倒だから
作るのが億劫になる
2021/01/09(土) 09:07:49.24ID:HR4R//in
上にもあるけど、blob/tree/commitの違いを意識しないでスナップショット/差分の議論をしているから混乱するのかなと思った。
それと"パッチ"と"スナップショットでないもの"(=同じ内容を重複保存しない)も混ぜてるのも混乱の元だと思う
2021/01/09(土) 09:10:26.81ID:HR4R//in
gitはスナップショットと言っていいと思う。
blobは厳密にスナップショット。
tree, commitもスナップショット。ただし、すでに保存されているblob, treeがあるときはハードリンクする。

これでどうだ。
2021/01/09(土) 10:24:45.44ID:iPsMunau
とても分かりやすい
2021/01/09(土) 10:36:06.13ID:iPsMunau
BLOBが完全にスナップショットってことは
平均100バイトのソースを通算100万回変更してコピーが作られたとしても所詮100MB単位なので問題なしとして
100MBの神Excelを1000回コミットすると100GB肥大化しちゃう?
2021/01/09(土) 11:02:31.02ID:HMKT/ruy
GitのホスティングサービスってGitHubとかBacklogとかどこも1ファイル100MBまでとか全体で2GBまでとかに制限してるか、または推奨してる
Gitとしては巨大なリポジトリは分割して複数のリポジトリで管理するのを良しとしてる
2021/01/09(土) 11:06:21.25ID:HMKT/ruy
ただ、GoogleとかFacebookとかApache Foundationとか巨大なシングルリポジトリでソース管理してるとこも多くて、そういうとこじゃGitは使えない
2021/01/09(土) 11:20:38.94ID:VJN4kPsf
Androidはrepoという、沢山のgitレポジトリを集めたようなやつになってるよね。
でルートの.repoというディレクトリの下が結構でかくなる。何十GBとか。
2021/01/09(土) 13:01:58.11ID:GDFdV6+U
>>425
それgitの制限の話なの?
ホスティングサービスとしての容量制限じゃないの?
2021/01/09(土) 13:31:10.98ID:HMKT/ruy
それくらいがリポジトリ分割の目安ってこと
GitHubとかBitbucketとかたいていのプロジェクトで使うし
2021/01/09(土) 13:34:00.22ID:HMKT/ruy
Apacheはこんなことしてるし
https://svn.apache.org/viewvc/
2021/01/09(土) 13:54:10.37ID:GDFdV6+U
>>429
いや説明になってないけど
技術的にgitの限界というなら知りたいとこだが
2021/01/09(土) 13:58:13.20ID:HMKT/ruy
お前アホだろ
2021/01/09(土) 14:39:15.02ID:GDFdV6+U
説明できずに逆ギレとはテンプレみたいな奴だな
2021/01/09(土) 17:15:51.87ID:hICARDFL
バージョン管理システムはソースコードを管理するためのもので
差分見たり、ファイルの一部分を取り入れたりできなければ意味がない

100MBとかソースコード(テキスト形式)ではありえないようなサイズは
Git LFSを使ってファイルとして管理するのが推奨されてる
2021/01/10(日) 02:02:28.87ID:sWDDTlTI
>>417 >>422
このレベルの理解でドヤる奴が多いので混乱する

だいたい >>422 の理解でいいのだけど、
Packfile という仕組みで blob はスナップショットから別のblobとの差分へ変換される
この仕組みはコミット時に動くのではなくて、適当なタイミングで非同期的に行われる

ほぼ公式のこれ読んどけ
https://git-scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81%B4-Packfile
2021/01/10(日) 02:10:27.13ID:sWDDTlTI
>>422 のハードリンクというのは違うか、同じハッシュを参照するだけ
2021/01/10(日) 11:31:03.72ID:YtDhIn2G
>>435
コミット(というかインデックスファイル作るときなのでadd)したときにはスナップショットが作られる(記事内のlooseオブジェクト)けど、
gcで差分に変換される(=packfile)ってことか。勉強になるわ。
差分はどういうフォーマットなの?たぶんdiffではないよね?

あとハードリンクってのは概念的な類似(inode)から口走っちゃったけど、>>436のつもりです。ブランチと同じようにハッシュ向けるだけ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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