Git 15©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/02/05(日) 05:22:15.65ID:AxwpDksc0
ソースコード管理を行う分散型バージョン管理システム、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 13
http://echo.2ch.net/test/read.cgi/tech/1439563364/
Git 14
http://echo.2ch.net/test/read.cgi/tech/1457412803/
VIPQ2_EXTDAT: default:vvv:1000:512:----: EXT was configured
2017/03/30(木) 22:25:03.07ID:gGp/SYAm0
なるほど。巨大なファイルは別のストレージで管理して、git cloneしたときなどに
フックでファイルが有る場所の情報からファイルを取ってくれば良いのか!
2017/03/30(木) 22:25:44.62ID:gGp/SYAm0
便利そう!それプラグインにした良いんじゃないかな!?
2017/03/30(木) 22:26:08.01ID:gGp/SYAm0
ふふ、実はそれ、もう実用化されてるんだ。
2017/03/30(木) 22:26:24.98ID:gGp/SYAm0
なんだってー!!!
2017/03/30(木) 22:26:44.56ID:gGp/SYAm0
その名も
2017/03/30(木) 22:27:16.65ID:gGp/SYAm0
その名も?
2017/03/30(木) 22:27:36.07ID:gGp/SYAm0
・・・
2017/03/30(木) 22:27:51.25ID:gGp/SYAm0
(ゴクリ)
2017/03/30(木) 22:28:34.64ID:gGp/SYAm0
暇なので何度も出たであろうネタ投下w

Linus曰く「Subversionは史上最も無意味なプロジェクト」
https://developers.srad.jp/story/07/12/03/1024220/
2017/03/30(木) 23:19:21.12ID:uipyTNiYp
何に使うかも分からん機能について語るのが最近の流行りなん?
2017/03/31(金) 02:44:12.05ID:WiHZY2U2d
gitを使うことが目的になってる奴いるな
2017/03/31(金) 04:00:26.51ID:dseKSPuY0
gitを批判することが目的となってるやつだなw
2017/03/31(金) 04:52:09.71ID:WfnGqS4Rd
>>407
それはいない
2017/03/31(金) 11:39:17.86ID:xItn/dk+0
>>385
基本的に 可能な限りファイルの属性は記録してほしい ということ
タイムスタンプもそうだし、userやgroupもほしい
あとはスペシャルファイルのたぐいも
410デフォルトの名無しさん (シャチーク)
垢版 |
2017/03/31(金) 15:48:59.13ID:QDrBRSUdC
GitLFSじゃあかんのか
2017/03/31(金) 20:54:06.19ID:Tf8W7eqIp
>>409
なんのために?
2017/03/31(金) 21:15:17.24ID:dseKSPuY0
>>411
バックアップソフトとして使うためだろ
2017/03/31(金) 21:15:34.02ID:dseKSPuY0
gitはバックアップソフトとして使えないからクソ
2017/04/01(土) 09:02:19.47ID:mGxU+b+y0
ならバックアップソフトを使えば良い
2017/04/01(土) 11:42:07.33ID:SQXLvxqe0
>>390
じゃあどうするの?
別のバージョン管理ツール使うの?
2017/04/01(土) 14:06:54.31ID:DrbHkd9R0
>>415
"バージョン"管理ソフトっていうのはファイルの版ではなくて
アプリのバージョンを管理するもので突き詰めるとソースコードを管理するものなんだよ。
ソースコードの管理というのはファイルの中の修正箇所を調べたり
一部分を抜き出したりマージすること、ソースコードエディタと言ってもいいぐらい

バイナリファイルであればそれらが出来ないので
どうあがいてもバージョン管理は出来ない
せいぜいファイル管理程度
2017/04/01(土) 14:31:00.03ID:SQXLvxqe0
>>416
じゃぁファイルの版はどうやって管理するの?
2017/04/01(土) 14:37:13.38ID:DrbHkd9R0
ファイルサーバーにでもおいておけば良いんじゃねーの?
2017/04/01(土) 14:49:07.66ID:SQXLvxqe0
>>418
ファイルサーバーで「版」の管理はできるの?
2017/04/01(土) 14:57:21.42ID:DrbHkd9R0
「版」の管理ができるファイルサーバーを使えばいいし、
たいていはバックアップ機能で十分
2017/04/01(土) 15:06:28.18ID:7rozFbeTa
バイナリはどうせ差分見れないからなんでもいいよ
2017/04/01(土) 15:49:20.87ID:I0+wrTCp0
>>419
そんなもんWindows標準のバックアップ機能でもできるよ
2017/04/01(土) 16:45:18.19ID:FRLTAWk80
ソースの版とリンクしてる
バイナリファイルの版をどう管理するのかってことじゃないのか?

バイナリしかないサードパーティライブラリとか画像系のアセットも普通gitで管理するよね?
デザイナ系の人が頻繁に編集するデカいファイルはGitLFSみたいな追加の仕組みを使うか
別のツールで管理してリリースバージョンのみgitに入れるかかな
2017/04/01(土) 17:22:06.00ID:+jNVHwLs0
>>423
結局これが一番困るよな。
テキスト以外なくても困らない開発だったらいいんだろうけど、そうじゃないものも多い。
425デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/04/01(土) 18:50:20.26ID:HLALWuX20
バイナリだとかdiffだとかこれで対応しろバカども

https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA-Git-%E3%81%AE%E5%B1%9E%E6%80%A7
2017/04/01(土) 19:50:40.08ID:X5V6ETnn0
大きなバイナリファイルのバージョン管理が本当に必要ならべつにリポジトリに入れてもいいんじゃね?
単にリポジトリがでかくなるのが嫌われるだけで、他のsvn等に比べて特にgitが苦手というわけでもあるまい。
2017/04/01(土) 19:59:31.19ID:DrbHkd9R0
>>423
そんなもんファイル名、もしくなディレクトリ名を別にしておいて
参照先の名前を変えれば済む話だろう?
2017/04/01(土) 20:01:47.89ID:+jNVHwLs0
>>427
済まないから困るんだろ、勝手に問題ないケースに置き換えて話するのはおかしいでしょ
2017/04/01(土) 20:03:31.14ID:I0+wrTCp0
画像リソースまでソース管理から除外するのかよw
基地外じみてる
2017/04/01(土) 20:08:54.57ID:DrbHkd9R0
>>428
なんですまないの?
2017/04/01(土) 20:11:24.50ID:OD8T/+xw0
俺はできる限りはリポジトリに入れるけど。
100 M とか超えてる場合はちとどうするか迷うが。
2017/04/01(土) 21:09:25.39ID:FRLTAWk80
>>427
参照先の名前変えるってなにそれ?
管理したいバージョンごとにファイル名やディレクトリ名を変えるの?
2017/04/01(土) 21:17:50.96ID:9Eckjtd/0
>>432
ファイル名やディレクトリ名は最初に作ったまま固定変えたりしない。
ファイルサーバーは原則として追加するだけ。

そして新しいリソースに更新したければ、
ソースコードの設定ファイルをいじって、
参照するファイル名(ディレクトリ名)のパスを変更する
2017/04/01(土) 21:32:35.38ID:FRLTAWk80
パスを変更するってことはディレクトリ名かファイル名かは変わってるんじゃないの?
2017/04/01(土) 21:36:34.89ID:9Eckjtd/0
>>434
ファイルは追加するだけなんだから、最初から別の名前にするしかないだろ。
中身が違えば、それは別のものだ。
2017/04/01(土) 21:47:33.17ID:SQXLvxqe0
結局ファイル名に日付入れて管理しろと言い出すわけだな。
gitいらないじゃん。
2017/04/01(土) 22:08:01.07ID:tny4BO7D0
>>431
Excelも入れる?
438デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/04/01(土) 22:13:07.12ID:Yf7QLaTq0
ソースコードはGitで管理して
ソースコードに関連するバイナリはファイルサーバに日付入りのディレクトリにおいて
新しいバイナリが追加されたらGitで管理してるソースコードにそのバイナリへの参照の更新をコミットする
こんなの普通にやるだろ
これとgit無しで全部日付入りフォルダで管理することの違いが判らないのは基地外
2017/04/01(土) 22:23:18.84ID:9Eckjtd/0
>>436
> 結局ファイル名に日付入れて管理しろと言い出すわけだな。
> gitいらないじゃん。

だからバージョン管理システムは、ファイルの版ではなく、
ソースコードのバージョンを管理するものだから、
バイナリにはgitいらないって言ってる。
人の話聞けやw

gitはソースコードを管理するためのものだ
ソースコードじゃないものを管理するものじゃない。
巨大なバイナリファイルをいれんなw
2017/04/01(土) 23:07:20.61ID:PxbGeRPT0
Git LFSはすでにVersion2.0.2でGitHubもGitLabもGit LFSに対応済みなのに
バイナリだけファイルサーバや別のツールを使う理由がわからない。
2017/04/01(土) 23:11:32.72ID:9Eckjtd/0
Git LFSは "別のツール" だぞw

それこそバイナリだけ別のファイルサーバーに格納するものだし、
単にファイル名とリンク先の対応を自動化したものにすぎない。
2017/04/01(土) 23:28:07.59ID:ufoqITvcd
画像リソースだけ別サーバーとかありえねー
2017/04/01(土) 23:29:43.73ID:9Eckjtd/0
>>442
別サーバーにする必要はないよw
同じサーバーで2つのツールを動かせばいいだけ
gitサーバーとファイルサーバーの2つ
2017/04/01(土) 23:38:40.58ID:ufoqITvcd
同一サーバー別サービスでも有り得ない
2017/04/01(土) 23:50:17.38ID:9Eckjtd/0
何がありえないのかわからん。

そんなにいやなら、gitlabみたいな
gitサーバーとlfsサーバーが
一緒になったツールに使えばいいやん。
2017/04/01(土) 23:51:27.66ID:PxbGeRPT0
>>441
バイナリは世代ごとにディレクトリを変えて保存し
ソースコードの設定ファイルをいじれという話はなんだったの?
Git LFSならそんな手間は不要でソースと同じように扱えるだろ。
まあGit LFSを使う事に異論がないなら他は重要ではないけど。

>>444
GitLabとGit LFSを使ってExcelなどのバイナリでできたドキュメントの世代管理をする
http://blog.naotaco.com/archives/1112
最初にバイナリ管理にしたい拡張子とLFSサーバを登録するだけで、
後はソースと同じgit コマンドで取り扱える。
2017/04/01(土) 23:53:19.24ID:9Eckjtd/0
>>446
> バイナリは世代ごとにディレクトリを変えて保存し
> ソースコードの設定ファイルをいじれという話はなんだったの?

gitにバイナリファイルを入れないでバイナリファイルを使う方法の一つ
それを自動化したのがgit lfs
2017/04/01(土) 23:58:18.49ID:ufoqITvcd
>>445
そんなアホなことせんでも全部gitに放り込んで問題ないですし
2017/04/02(日) 00:11:50.86ID:n7h/bBRg0
>>448
バージョン管理ソフトでバイナリファイルを扱う意味がないということ
問題がないなら入れてもいいだろうが、それは単に入れるだけ。
バージョン管理は出来ない。
2017/04/02(日) 00:44:30.76ID:EAmGgjT/0
>>449
プロジェクトのリリースバージョンごとにバイナリを管理できて大いに価値がありますが
2017/04/02(日) 01:05:11.30ID:n7h/bBRg0
>>450
> プロジェクトのリリースバージョンごとにバイナリを管理できて大いに価値がありますが

それは、リリースバージョンごとにバイナリをディレクトリに配置して
リポジトリに登録するという作業をやった場合の話だろう?

その作業とファイルのリンク先を変えるのとは手間は大して変わらんのだが?
2017/04/02(日) 01:34:35.68ID:EAmGgjT/0
>>451
え?
リリースごとにタグ付けるなりブランチ切るなりするだけですけど
2017/04/02(日) 01:50:40.71ID:n7h/bBRg0
>>452
それはファイルのリンク先変えるのも一緒です。
はい、ざーんねーんw
2017/04/02(日) 02:03:13.40ID:EAmGgjT/0
>>453
なに言ってんのこの人
2017/04/02(日) 02:12:17.34ID:n7h/bBRg0
>>454
お前本気で分かってないのな(苦笑)
2017/04/02(日) 02:43:28.79ID:QfsJepDO0
>>439
ソースコードと不可分なリソースファイルだったとしても、「見た目がバイナリだから」バージョン管理ツールであるgitで管理する必要はないと言いたいのかな?
例えば、ゲームのマップデータのような独自フォーマットのリソースはパーサーと一緒に管理しないと意味が無いわけだが、「バイナリだから」入れる必要はないのかな?

逆に、自動生成された巨大なXMLは実際にはgitで管理しても実際にはdiffを確認したりマージしたりすることはできないけど、結局はバイナリデータのようにしか
取り扱えないと思うけど、「テキストだから」gitで管理する意味があるのかな?

「バージョン管理」と「差分確認、マージ」は完全に同一というわけではないし、バイナリだからできない、テキストだからできるってものでもないだろ。
2017/04/02(日) 03:13:11.19ID:n7h/bBRg0
>>456
バージョン管理ソフトはソースコードを管理(=マージなど)するもので
それができないのなら入れる必要はない。
入れてもいいけど入れる必要はない。
大きいバイナリなど入れることで問題が起きるのなら
入れないほうが良い
2017/04/02(日) 03:28:51.04ID:mItpXq7cd
画像リソースなんてソースファイルみたいなもんなのにいちいち分離してられるかよ
CUIしか作ったことないのかな
2017/04/02(日) 03:39:50.09ID:TvISwdcG0
バイナリはファイル名でバージョン管理したい人みたいだからもうほっといて差し上げろ
ID:9Eckjtd/0 == ID:n7h/bBRg0
2017/04/02(日) 04:11:58.35ID:QBxgOhpS0
ファイルを管理するためにgitを使うんじゃなくて、
gitを使うためにソースコード入れてるだけの人だよね。
開発してるわけじゃないんだよ、git使ってるだけ。
2017/04/02(日) 09:01:31.19ID:JR3Nnjmo0
>>383
>ファイルを管理するためにgitを使うんじゃなくて、
>gitを使うためにソースコード入れてるだけの人だよね。
>開発してるわけじゃないんだよ、git使ってるだけ。

こいつバカかw
462デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/04/02(日) 09:20:40.35ID:OSI/Jrn10
好きに使え。
ツールに振り回されてどうする。
バイナリ入れたきゃ入れればいい。
入れたくなければ入れなきゃいい。
ケースバイケース。
2017/04/02(日) 09:51:22.56ID:UBT9/pKO0
バックアップツールとして使いたいなら
gitじゃなくてバックアップツールを使ったら良いじゃん?
2017/04/02(日) 10:31:19.75ID:QBxgOhpS0
プログラムに内蔵されるリソースの話をしてるのに、
バックアップツール使えとか、頭おかしいだろ。
頭の中身もgitで管理してみたらどうだろう?
2017/04/02(日) 11:50:04.18ID:EAmGgjT/0
画像リソースで話が通じないんだもん
本当にCUIしか知らないんだろ
2017/04/02(日) 12:38:09.04ID:ClW8QyhM0
git lfs使えで結論出てると思うのですが
2017/04/02(日) 12:40:16.05ID:wTkx1YQW0
svnに慣れ過ぎて他の使う気がしないw
2017/04/02(日) 12:48:06.48ID:JT+bYjYl0
GitLFSは2.0になったとは言っても、1.xの頃がベータ版みたいなものだったし、
使ってみるとわりとトラブルになることが多いよ
2017/04/02(日) 12:57:51.16ID:n7h/bBRg0
>>467
svnになれるってのがどういうことかわからない。
俺はsvn使っていたときから、間違ってコミットしたらどうするんだよ?
こんな多すぎるコミット他人がレビューできないだろ。
ネットワーク通信いちいち遅いだろ。リポジトリを新しく作るだけで
なんでこんなに手間かかるんだよって不満たらたらだったんだが
(当時gitなどの分散バージョン管理ソフトは知らなかった)

不便に慣れてしまったってこと?
2017/04/02(日) 14:03:43.98ID:1CZSp+Wq0
これは流石にsvn使いこなせてないとしか言いようがない
2017/04/02(日) 14:10:07.81ID:n7h/bBRg0
>>470
じゃあsvn使いこなしてる例みせてみ
2017/04/02(日) 16:28:36.42ID:KLExlLIQ0
ID:n7h/bBRg0に釣られている人は下記スレをID:n7h/bBRg0で検索してみよう。
自分と他人の意見が違うのは他人がバカだからだ、で思考停止して
他人の説明を理解しようとしないからこの人に何か理解させるのは難しいよ。

オブジェクト指向って自然な文法だな 2
http://echo.2ch.net/test/read.cgi/tech/1490506257/
2017/04/02(日) 16:48:00.71ID:kBAGQJFXp
>>467が一番あんぽんたん
あんぽんたんに釣り上げられた奴が2番目のあんぽんたん
2017/04/02(日) 17:26:34.73ID:n7h/bBRg0
>>473
> あんぽんたんに釣り上げられた奴が2番目のあんぽんたん

再帰問題だな
2017/04/02(日) 18:01:09.94ID:wTkx1YQW0
svnは逆に集中管理できるのがいいんだろ

間違ってコミットしたら前のバージョンに戻せばいいじゃん
2017/04/02(日) 20:26:51.61ID:D3s6zVrNM
Linus曰く「Subversionは史上最も無意味なプロジェクト」
https://developers.srad.jp/story/07/12/03/1024220/
2017/04/02(日) 20:50:26.40ID:pXQnujUs0
コピペで何か言った気になってる馬鹿
2017/04/02(日) 22:50:12.43ID:1CZSp+Wq0
gitを宣伝するためのこき下ろしって分かんないのかな
479デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/04/03(月) 00:37:18.50ID:O1GPsrgL0
https://twitter.com/matsuu/status/848453085370261504

gitやばくね?
2017/04/03(月) 00:39:39.06ID:MrxLrKt60
>>479
それはgitと関係ない。
シェルプロンプトの問題であり
Windowsのコマンドプロンプトなんかだと関係ない
2017/04/03(月) 01:13:46.88ID:BKde4+E+0
>>461
図星だったんだね。
2017/04/03(月) 01:22:16.79ID:3+FtPzaJ0
>>472
「お前がそう思うんならそうなんだろう お前ん中ではな」っていうのを地で行くパターンだよなぁ
仕事で使ってるなら実際に困る案件で使わせてやりたいわ
2017/04/06(木) 10:52:47.07ID:jz0x7tjm0
git界隈でのタイムスタンプ軽視の風潮は怖いよね
484デフォルトの名無しさん (スッップ)
垢版 |
2017/04/06(木) 12:09:08.04ID:30NnDzbWd
>>483
納品関係のタイムスタンプ重視の風潮と正反対だな
485デフォルトの名無しさん (ワンミングク)
垢版 |
2017/04/06(木) 14:07:50.85ID:psfF7pjZM
>>484
何でそんな事重視してんの?
486デフォルトの名無しさん (スッップ)
垢版 |
2017/04/06(木) 17:56:19.98ID:30NnDzbWd
>>485
知らん
誰もが意味ないよなと思いつつ、納品日に合わせて納品ドキュメントのタイムスタンプを合わせる
多分、何らかの儀式なんだと思う
2017/04/06(木) 18:11:47.01ID:jz0x7tjm0
>>485
ファイルのタイムスタンプは基本的にファイルを編集した日になるから
納品日以降になっていたら誰かが編集しちゃったことが簡単にわかる。
納品物に.gitとかないしね
2017/04/06(木) 18:16:44.23ID:FGV9lFi+0
なんじゃそりゃww
489デフォルトの名無しさん (ワントンキン)
垢版 |
2017/04/06(木) 18:31:45.11ID:Ao1zg6OQM
>>487
タイムスタンプで編集されたことを検出しようとする事はとりあえずおいておくとして、それだったら別にcheckoutした日時で良くない?
2017/04/06(木) 19:29:36.58ID:lSyaolUa0
典型的な IT 業界の闇儀式じゃないですか。。
491デフォルトの名無しさん (スッップ)
垢版 |
2017/04/06(木) 19:47:39.07ID:30NnDzbWd
>>487
誰が編集したかどうかは、わからんよ
納品日は3/31であっても、その前に諸々のチェックが必要だから1週間前には納める
だが作業予定は3/31まで入ってるので、納品物の日付は3/31で作る
3/31の日付のファイルのタイムスタンプが3/24だと不自然なのでタイムスタンプを3/31に変えておく
タイムスタンプに手作業が入ってるので、日付が新しい方が最新とは限らない
2017/04/06(木) 20:12:05.44ID:rNIgAdOn0
>>487
> 納品日以降になっていたら誰かが編集しちゃったことが簡単にわかる。

え? 悪意がある人にタイムスタンプを変更されたことないの?

バージョン管理ツールを使ってない時に、ウイルスチェックをした後に
ファイルの同じ日付をみたらウイルスチェックをする前だから
ウイルスチェックした後に修正されていません(=ウイルスに感染していません)と
OKだしたら実はウイルスに感染していて、大混乱が起きたんだが?

それ以降バージョン管理ツールを使ってソースの修正履歴を完全にトレースできるようにしている。
仮に誰かが感染したとしても、他の人と違いがあればマージとかで問題が発生してすぐに気づくことができる。
2017/04/06(木) 20:32:49.88ID:mMvR1Mumd
せめて日本語で頼むわ……
2017/04/06(木) 20:38:48.35ID:rNIgAdOn0
>>493
1. 悪意がある人にファイル修正した後にタイムスタンプを戻された。
2. ファイルの更新日付が変わってないのにウイルスに感染していた。

これでわかる?
2017/04/06(木) 21:19:02.38ID:LBfub50B0
なんか知らんけどいちいちアーカイブ作ってんの?
gitでやり取りした方が速くね?
2017/04/06(木) 21:38:34.39ID:FGV9lFi+0
>>491
>3/31の日付のファイルのタイムスタンプが3/24だと不自然なのでタイムスタンプを3/31に変えておく
すんげー無駄な作業だな
官公庁系?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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