Git 15
..
2:デフォルトの名無しさん (ワッチョイ)
17/02/05 06:30:39.79 Aiaziz9C0.net
< `∀´>ニダー
3:デフォルトの名無しさん (ワッチョイ)
17/02/05 14:05:34.08 k22lvY+90.net
Git v2.12.0-rc0
URLリンク(github.com)
4:デフォルトの名無しさん (ワッチョイ)
17/02/05 15:38:55.62 +MDXuZ600.net
rebaseを使いこなして初めて
gitを使えるようになったと言える
5:デフォルトの名無しさん (エムゾネ)
17/02/05 15:39:17.20 uN/SMrchF.net
>1 乙py
6:デフォルトの名無しさん (ワッチョイ)
17/02/07 10:05:09.07 rbbJBTTu0.net
gitlab復旧作業8時間実況すげ
URLリンク(www.youtube.com)
7:デフォルトの名無しさん (ワッチョイ)
17/02/07 11:25:57.76 HoZye2uF0.net
rebaseの使い途がそんなにないんじゃね
コミットが何百もあったときにrebaseで綺麗にできると思えん
squashはresetでできる
使えるのは過去のコメントを編集するときくらいか
8:デフォルトの名無しさん (ワッチョイ)
17/02/08 03:26:19.24 EqksEKaR0.net
>>7
コミットが何百もあるブランチを
マージするってのがそもそも間違いだよね?
そのどでかいブランチから、小さく機能を抜き取って
小さなブランチにしてマージするべきだよ。
そのときにcherry-pickを使うのは当然ながら
抜き取ったあとの整理でrebaseも行う
9:デフォルトの名無しさん (ワッチョイ)
17/02/08 03:53:20.12 TcrM+SWf0.net
エスパーすると
>>7は"git rebase -i [コミット]"くらいしか使ったことないんじゃなかろうか
違ったらごめーんね
10:デフォルトの名無しさん (ワッチョイ)
17/02/08 11:32:37.78 glAhqeU30.net
何かそういう、ブランチを整理するときのワークフローで分かりやすいドキュメントってないですか?
いつもいろんなgit操作を試行錯誤してしまって、本題がコミットすることからブランチ整理することにずれていってしまうので。
11:デフォルトの名無しさん (ワッチョイ)
17/02/08 11:38:22.96 AT2+3Uwc0.net
>>8
なるほどと思ったが
cherry-pickは操作後の動作が保証できない
mergeなら操作後の動作が保証できる。完全ではないがcherry-pickよりまし
なのでmergeのほうが優れている
12:デフォルトの名無しさん (ワッチョイ)
17/02/08 15:36:17.78 fGXhImwi0.net
>>10
masterブランチにcommitしまくるからそうなる
最初に開発ブランチ作れ
13:デフォルトの名無しさん (ワッチョイ)
17/02/08 17:10:20.00 glAhqeU30.net
>>12
あっ、そういうのはいいんで、rebaseを含めブランチの履歴を整理する分かりやすいワークフローがあったら教えて下さい
14:デフォルトの名無しさん (ワッチョイ)
17/02/08 19:40:31.54 Z548kjM+0.net
最強の整理整頓術はそもそもモノを増やさないことだってのは全く間違ってないと思う
ブランチ整理って何がしたいのか分からんけど、successful git branching modelでも参考にしたらええんちゃうの
15:デフォルトの名無しさん (ワッチョイ)
17/02/08 22:22:54.22 EqksEKaR0.net
>>11
> cherry-pickは操作後の動作が保証できない
何を言ってるんだ?
cherry-pickはあるコミットを持ってくるというだけの機能で
cherry-pickしたあとの動作なんて最初から何も保証してないんだが
保証できないんじゃなくて、保証してない
だからrebaseして、そのcherry-pickしたコミットが正しく動くようにするんだよ
ちなみに、そもそもなんでcherry-pickして動かなくなるのかといえば
こまめなrebaseをしてないから。例えばコミットに対する修正を別コミットに
していたりするとそうなる。こまめにrebaseして意味のある単位にコミットを
修正していれば他人が読んだときのレビューも楽になるし、再利用もしやすくなる
> mergeなら操作後の動作が保証できる
mergeはブランチ全てをマージするものであってそもそも使うべきところが違う。
ブランチの中の1コミットだけを抜き取りたいときにmergeではできない
(できないからmergeの方が劣ってるとでも?w)
使い方が違うだけの話でどちらかが優れているとか劣っているとかいう話じゃない
16:デフォルトの名無しさん (ワッチョイ)
17/02/08 22:48:05.72 EqksEKaR0.net
>>13
> あっ、そういうのはいいんで、rebaseを含めブランチの履歴を整理する分かりやすいワークフローがあったら教えて下さい
簡単に言えば、こまめなコミット、こまめなrebaseだよ
有名なオープンソースソフト(例git)のコミットログを眺めてみればいい
あれが目標とすべきコミット
眺めてみればいいといったが、コミットログっていうのは読むものなんだよ。
後から読むこともあるしレビューのときに読むこともある。だから可読性が必要
じゃあコミットの可読性はどうやればあげられるかというと
意味がある単位で小さくまとまめること
例えば試行錯誤した形跡を表しているようなコミットを持ってこられたって
ここバグってる?すぐあとのコミットで修正されてるやーんとなって時間を無駄に費やするだけ
かと言って複数のコミットを全部まとめてしまったら量が多くなりすぎる
では意味がある単位で小さくまとめる(=ワークフロー)にはどうするかとうと
まず開発中は小さくコミットしていく。大きな単位でコミットしてしまうと後で分けるのが大変になるから。
そして開発中はこまめにrebaseする。他の人にとって知りたいのは結果であって過程じゃない。
プルリク出すときには、最初から間違いなく作業しましたよっていう状態にして置かなければいけない。
rebaseが下手な人はコミットも大きくなって、いろんな修正を混ぜてしまう。
そういうことをするからrebaseするとコンフリクトまで起きてしまう。
コミットを小さくしていれば驚くほど簡単にrebaseができてしまう。
だからこまめなrebaseも苦にならない
17:デフォルトの名無しさん (ワッチョイ)
17/02/08 23:13:58.04 I20sKjnm0.net
最初から意味がある単位で小さくまとめるのが理想だけど、
後からブランチの履歴を整理する手段も色々ある。
gitでアレを元に戻す108の方法
URLリンク(labs.timedia.co.jp)
Gitでやらかした時に使える19個の奥義
URLリンク(qiita.com)
18:デフォルトの名無しさん (アウアウカー)
17/02/09 08:27:12.93 ClsEJCvia.net
git(hub)-flow
19:デフォルトの名無しさん (エーイモ)
17/02/13 10:17:21.25 Ql0/GOXFE.net
git mvしないでmvしちゃったんですけどgit addしたらrename扱いになってました
絶対にgit mvしなくてもgit画面どう見てくれるから問題ないってことですか?
20:デフォルトの名無しさん (ワッチョイ)
17/02/13 10:39:40.22 1h+Oz1MN0.net
>>19
中身を書き換える前ならわりと追ってくれる
どこまで追ってくれるか試すと楽しいぞ
21:デフォルトの名無しさん (ワッチョイ)
17/02/13 15:13:09.61 UyeCKZqE0.net
改行コード変わるだけで別ファイルになるけどな
22:デフォルトの名無しさん (ワッチョイ)
17/02/17 09:56:23.44 hEtwtvyY0.net
毎日仕事が終わったら、その日作ったソースコードを
gitサーバーにコミットして帰宅する俺。
23:デフォルトの名無しさん (ワイモマー)
17/02/18 01:13:13.92 neEeF1u6M.net
コミットして帰ると次の日休んだ時にビルドが通らないと呼び出し喰らうパターンだな
24:デフォルトの名無しさん (ワッチョイ)
17/02/18 01:21:39.27 YzcxuYMW0.net
>>22
プッシュじゃなくて?
25:デフォルトの名無しさん (ワッチョイ)
17/02/18 01:58:54.36 SqGT/vv90.net
>>24
ごめん、プッシュね。
マネジャーの人が俺らの作業をチェックしたいらしくて、
毎日帰るときにみんなプッシュしてから帰宅する。
svn時代と変わらない。
26:デフォルトの名無しさん (ササクッテロル)
17/02/18 02:04:19.48 odevQhO/p.net
細かくコミットしていくことを心掛けたいが、気付くとコミットを忘れて突っ走ってしまう
そんな馬鹿野郎におすすめのツールとか運用とかないですか
27:デフォルトの名無しさん (ワッチョイ)
17/02/18 03:06:20.95 3dbLYC4l0.net
>>26
突っ走った後にgit add -p 使って複数のコミットを作る
28:デフォルトの名無しさん (ワッチョイ)
17/02/18 11:33:38.07 YCJMYP7V0.net
>>26
一定時間ごとに
29:ゥ動でコミット、プッシュするスクリプトがあったと思う
30:デフォルトの名無しさん (ワッチョイ)
17/02/18 13:22:21.19 y2nzrwVZ0.net
>>28
そんなことするぐらいなら、
一定時間ごとに「コミットしろよ」って通知出すほうが良いわなw
31:デフォルトの名無しさん (ワッチョイ)
17/02/19 22:56:47.13 ae9YYSse0.net
cron 書けとしか言いようがない。
32:デフォルトの名無しさん (ワッチョイ)
17/02/22 00:19:55.01 doFig/5A0.net
エディタに自動保存機能なけりゃ編集内容はメモリ上にしかないからどのみち死ぬ
33:デフォルトの名無しさん (ワッチョイ)
17/02/22 15:40:38.57 7bpb3LbA0.net
>>31
数分おきにエディタに :wq! を送るスクリプトを作ろう
34:デフォルトの名無しさん (JP)
17/02/22 15:45:05.02 T1tKwjPzH.net
意味のある区切りじゃない自動保存などゴミ
35:デフォルトの名無しさん (アウアウカー)
17/02/22 16:51:00.38 QaRsR5LQa.net
そもそもコミットは成果毎に行うのであって細かくすればいいというものではない
36:デフォルトの名無しさん (ワッチョイ)
17/02/22 19:13:30.90 nmnET67+0.net
プレーンテキストとかワープロとかならともかく、ソースコードだったらコンパイルするためにどんどん保存してるんだから自動保存ってそこまで必要性高いものでもなくない?
37:デフォルトの名無しさん (ササクッテロラ)
17/02/22 19:54:40.37 OuXxGo6Bp.net
コミットと保存の話が混ざって混沌としてきてる
38:デフォルトの名無しさん (アウアウカー)
17/02/22 20:45:47.20 bVHsZCW9a.net
個人開発なら単なる履歴残しに使ってもいいがチームの場合はそれじゃ困るんだよね
39:デフォルトの名無しさん (ワッチョイ)
17/02/23 01:11:00.83 9wlFqT9C0.net
ショートカットキーctrl+Sで保存は便利でよく使う
履歴残し程度なら同様にショートカットキーで保存とコミットができるようにエディタにスクリプト組み込めばOK
初回ショートカットキーで一時作業用ブランチを切らせて
一通り終わったなら別のショートカットキーでsquashなりでまとめてからコミットメッセージ入力窓でも出してから本来の作業用ブランチにFFマージさせればおk
40:デフォルトの名無しさん (ワッチョイ)
17/02/23 10:00:04.78 lHjqIPrz0.net
>>37
チームの場合はgitは個人で自由に使わせておいて
チーム側では集約にsvnを使うよね
41:デフォルトの名無しさん (ササクッテロラ)
17/02/23 16:27:13.03 EPi8ln12p.net
>>39
ない
svnで運用された頭が痛くなるような履歴をgitに取り込むことはよくある
42:デフォルトの名無しさん (ササクッテロロ)
17/02/23 20:55:38.64 0FbQfq3Vp.net
チーム毎にgit使って、各チームの成果をインテグした時にsvn使う事はある
個人でgit、チームでsvnって構成はgitの美味しさの大部分を潰してるように見えるけど、想定してる規模が分からんし何とも言えんか
43:デフォルトの名無しさん (ワッチョイ)
17/02/24 14:06:29.60 STsv/yLm0.net
SHA1の衝突がGoogleによって公開、gitにも言及
URLリンク(shattered.it)
それに対するLinusの見解
URLリンク(marc.info)
44:デフォルトの名無しさん (JP)
17/02/24 14:11:42.95 xRGcfmimH.net
hashの衝突は元から想定済っしょ
そもそも5桁でちぎって管理()してるんだし
45:デフォルトの名無しさん (ワンミングク)
17/02/24 15:11:29.62 qhcGsvfzM.net
想定はしてないでしょ、無理矢理衝突させたらリポジトリ壊れたって書いてるし
URLリンク(stackoverflow.com)
46:デフォルトの名無しさん (ワッチョイ)
17/02/24 16:02:16.98 U6j2M/4W0.net
>>43
5桁でちぎって管理ってなんのこと?
47:デフォルトの名無しさん (ワッチョイ)
17/02/25 10:54:33.01 xirdZVsB0.net
v2.12.0
48:デフォルトの名無しさん (ワッチョイ)
17/02/25 11:32:01.15 PfZ6yy2F0.net
>>46
何か面白い機能追加された?
49:デフォルトの名無しさん (ワッチョイ)
17/02/27 04:28:34.00 RD4dbD8r0.net
Linusの公式コメント
URLリンク(plus.google.com)
50:デフォルトの名無しさん (ワッチョイ)
17/02/27 13:29:26.47 v76+Cgkq0.net
SHA1衝突なんか怖かねーぜバーカ!
ってこと?
51:デフォルトの名無しさん (ワッチョイ)
17/03/01 00:08:39.88 MSk4m/Wm0.net
ファイル数が20万〜30万個あるプロジェクトをgitで管理できる?
git statusすると20万〜30万の全部のファイルの更新日チェックするの?
52:デフォルトの名無しさん (ワッチョイ)
17/03/01 01:39:05.95 B+RUxrlO0.net
gitで管理できなかったら、他の何を使っても出来ないと思うw
管理せずにファイル置いとくだけならできるだろうけど
53:デフォルトの名無しさん (ワッチョイ)
17/03/01 05:02:00.38 TmPMZG9k0.net
>>51
きも
54:デフォルトの名無しさん (オッペケ)
17/03/01 12:18:24.07 riQaWnbAr.net
俺も思った
55:デフォルトの名無しさん (アウアウカー)
17/03/01 12:52:10.72 D9Ze9lwZa.net
>>50
それくらいなら全然大丈夫だよー
56:デフォルトの名無しさん (JP)
17/03/02 19:24:50.56 ZV5SMkF2H.net
>>50
人間よりは速い
57:デフォルトの名無しさん (スププ)
17/03/02 23:03:10.15 sITpgG7dd.net
gitを使うのが目的になってる奴がいるな
58:デフォルトの名無しさん (ワッチョイ)
17/03/02 23:06:07.56 qpimcWgg0.net
gitを使うのが目的じゃないけど結果的にgitを使ってるな
59:デフォルトの名無しさん (ワッチョイ)
17/03/02 23:30:35.54 GmcRpo7M0.net
gitを使ってるカッコいい俺
60:デフォルトの名無しさん (ワッチョイ)
17/03/02 23:31:43.91 em5mjT5q0.net
普通じゃ?
61:デフォルトの名無しさん (ワッチョイ)
17/03/02 23:36:40.95 XOZN9kk90.net
gitの使い方を覚えられないおっさんも世の中には居るんだ
62:デフォルトの名無しさん (ワッチョイ)
17/03/02 23:42:40.19 qpimcWgg0.net
使える人が使わないなら、それはいいんだよ。
能力不足で使えない(=無能すぎる)
会社のしがらみで使えない(=かわいそう)
あと使って見てないやつもダメだな
63:デフォルトの名無しさん (スプッッ)
17/03/03 11:58:15.68 SmLECISdd.net
Gitが使えない外注イラネ
64:デフォルトの名無しさん (JP)
17/03/03 12:30:04.87 IUFykjWpH.net
篩に使うのはありか
65:デフォルトの名無しさん (ワッチョイ)
17/03/03 21:00:59.00 n9rn4mK30.net
なんでもいいから自分のソースくらい自分でコミットしろ。
66:デフォルトの名無しさん (スププ)
17/03/03 21:35:27.51 EvAeH8F3d.net
本当になんでもいいの?
67:デフォルトの名無しさん (オイコラミネオ)
17/03/03 23:39:23.71 q5L7Z+jKM.net
masterにコミットしていいの?
68:デフォルトの名無しさん (ササクッテロル)
17/03/04 00:19:50.00 2pwhOacNp.net
結果にコミットしていいの?
69:デフォルトの名無しさん (ワッチョイ)
17/03/04 00:59:09.29 kf4torcY0.net
面倒臭いのでだいたい
git add .
git commit --amend -m "hoge"
で済ましてる
一通り終わったらgit commit --amendでコミットメッセージちゃんと書く
squashしなくてよい方法だよ
70:デフォルトの名無しさん (ワッチョイ)
17/03/04 03:38:59.15 X3LbZrz10.net
Git - 高度なマージ手法
URLリンク(git-scm.com)
これいいね
71:デフォルトの名無しさん (ワッチョイ)
17/03/04 11:03:44.63 fiOXClU60.net
git merge --abort
git rebase --abort
これいいよな。
svnとかだとやらかしてしまって中途半端な状態になって
これどうすりゃいいんだよってなってしまうけど、
gitだとたいてい--abortすればリセットできる
72:デフォルトの名無しさん (ワッチョイ)
17/03/04 14:23:44.15 GRvQ2lmz0.net
AにコミットしてA'
A'にコミットしてA''
になってるとき
A'を
73:Bに名前変えて A->A''と A->Bに分けることはできますか?
74:デフォルトの名無しさん (ワッチョイ)
17/03/04 15:02:21.59 fiOXClU60.net
git checkout 好きなコミットID
ブランチ名なんて最新のコミットに名前つけてるだけであって
コミットIDで全て参照できる
75:デフォルトの名無しさん (ワッチョイ)
17/03/04 17:15:35.10 GRvQ2lmz0.net
A->A''の方にはB(A')が無かったことにしたいのですが
76:デフォルトの名無しさん (ワッチョイ)
17/03/04 17:34:49.80 NAI/204b0.net
説明がわかりにくすぎだろw
pushしてればrevertで
してなければrebase -iで
77:デフォルトの名無しさん (ワッチョイ)
17/03/04 21:55:14.48 X3LbZrz10.net
cherrypickでA''からAにパッチ当てりゃいいだけじゃね?
78:デフォルトの名無しさん (スプッッ)
17/03/04 22:05:36.70 TK9n5Zigd.net
>>71
git branch B A'
をする
git rebase A -i
でA'の行を消す
79:デフォルトの名無しさん (ワッチョイ)
17/03/06 23:20:15.96 8UuxKa0s0.net
ディレクトリやファイルをマージするだけの作業だが、あまりに大量&1日あたりの作業時間があまり取れないため、1ヶ月ぐらいかかる見込み
こう言う場合って作業完了してからまとめてコミットすべき?
それともキリのいいところでコミットすべき?
80:デフォルトの名無しさん (ワッチョイ)
17/03/06 23:34:33.58 hCzUBa9v0.net
適当にコミットしていって後で纏めたくなったらrebase -iすればいいんじゃね
81:デフォルトの名無しさん (ワッチョイ)
17/03/07 15:02:30.70 +1wYVpxF0.net
rebaseは甘え。 使ってはいけない。
82:デフォルトの名無しさん (ドコグロ)
17/03/07 18:29:12.37 JtxH0L4+M.net
せっかくローカルにあるんだし、どんどんコミットしたら?
83:デフォルトの名無しさん (ワッチョイ)
17/03/07 19:25:45.74 deKTD69U0.net
rebase使っても実は隠しコマンドのrerebase使えばまた元に戻るから大丈夫
84:デフォルトの名無しさん (ワッチョイ)
17/03/07 20:49:12.26 buHXdcTx0.net
rerebaseだと!?
85:デフォルトの名無しさん (ワッチョイ)
17/03/07 20:55:44.46 FdtwfqDL0.net
rebase怖いならブランチ切るなりタグつけるなりしてからrebaseすりゃいいじゃん
rebaseしたってコミットそのものが世界からすぐに消えるわけじゃないんだし
86:デフォルトの名無しさん (エーイモ)
17/03/07 22:48:44.65 6dT6PmkfE.net
git cloneで特定のタグから最新のコミットまでの範囲を取得する方法を教えてください
87:デフォルトの名無しさん (ワッチョイ)
17/03/08 00:28:53.24 bFUfM0140.net
> rebase怖いならブランチ切るなりタグつけるなりして
そのブランチやタグを作るのが面倒なバージョン管理ツールがありまして、
そのせいでブランチやタグを切るのが嫌なんですよ。
88:デフォルトの名無しさん (ワッチョイ)
17/03/08 01:12:08.47 +/47+kY70.net
知らんがな
89:デフォルトの名無しさん (ドコグロ)
17/03/08 08:51:03.76 dlE+7VUyM.net
ローカルだけブランチ作ればいいだろ。他のツールはスレ違い。
90:デフォルトの名無しさん (エーイモ)
17/03/08 18:56:28.23 tzSf6NwiE.net
(1)git checkout -b hoge コミットID1 でhogeブランチを作る
(2)masterブランチに戻る
(3)git branch -D hoge でhogeブランチを削除する
(4)git checkout -b hoge コミットID2 で異なるコミットのhogeブランチを作る
hogeブランチでは何かを編集したりするわけではないので
hogeブランチにいたまま別のコミットIDでhogeブランチを上書き?する方法ありませんか?
masterブランチに戻ってからhogeブランチを作りなおして新たに作るのが面倒くさいので
91:デフォルトの名無しさん (ワッチョイ)
17/03/08 19:57:59.67 AFnyce7m0.net
git reset --hard コミットID2
92:デフォルトの名無しさん (ワッチョイ)
17/03/09 06:48:45.74 fQxPjt/z0.net
>>88
コミットIDでcheckoutすりゃいいだけじゃね
(1)git checkout コミットID1
(2)git checkout コミットID2
93:デフォルトの名無しさん (スプッッ)
17/03/09 08:26:50.81 TQt2xuGKd.net
>>88
git reset --hardは、ブランチの付け先を簡単に操作できてしまうから、使う前にreflogの見方を覚えておくこと
94:デフォルトの名無しさん (ドコグロ)
17/03/09 08:37:37.52 K/l9Si6sM.net
>>82
リ・リ・リベース
アホデミー賞を総なめ
95:デフォルトの名無しさん (エーイモ)
17/03/09 10:28:24.13 xGhx3aNSE.net
resetは困ります。。。。
checkoutでどうにかやる方法はないということでしょうか?
96:88=93 (エーイモ)
17/03/09 10:29:17.80 xGhx3aNSE.net
ブランチは1個しか作りたくないんです
97:デフォルトの名無しさん (スプッッ)
17/03/09 12:31:57.97 TQt2xuGKd.net
>>93
じゃあ>>90で良いんじゃないの?
コミットは出来ないけど
98:デフォルトの名無しさん (ワッチョイ)
17/03/09 13:13:36.94 x6aOWZGA0.net
>>88
git checkout hoge
git merge <commit>
99:デフォルトの名無しさん (ワッチョイ)
17/03/09 13:42:24.50 quKxBXU+0.net
>>93
なんでreset困るの?ブランチ消してる時点で同じことだと思うけど
resetしたってコミットが消えるわけじゃないよ
100:88=93 (エーイモ)
17/03/09 22:57:50.27 DwjAxR0kE.net
git checkout -b hoge
git reset --hard コミットid1
git reset --hard HEAD@{1}
masterブランチには何の影響もないですね
最新のコミットに戻るときにreflogで位置を確認するのが面倒くさそうです
これも覚えておきます
>>96
mergeだと古いコミットに戻ろうとした時にAlready up-to-date.って表示されてしまいました
101:デフォルトの名無しさん (ワッチョイ)
17/03/09 23:15:12.39 x6aOWZGA0.net
hogeにはすでにコミット1やコミット2が含まれてる場合もあって
その場合はそれ以降のコミットを捨てた状態にしたいってことなの!?
用途が謎
102:デフォルトの名無しさん (ワッチョイ)
17/03/10 03:45:25.28 V4zus/a90.net
>>98
ブランチは1個しか作りたくない理由がわからないから、それだったらID1とID2に別のブランチを付けたら良いんじゃない?って思っちゃうんだけど
何で作りたくないんですか?
103:デフォルトの名無しさん (ワッチョイ)
17/03/10 04:41:26.50 hkfiatAK0.net
>>90のやり方がスルーされるからやりたいことと違うんだろうなあ
104:デフォルトの名無しさん (ワッチョイ)
17/03/10 14:48:19.74 y8xCqliG0.net
タグの代わりなんじゃ?
105:デフォルトの名無しさん (ワッチョイ)
17/03/10 21:15:08.71 mGr7V+b80.net
みんなってさ、ステージングしているファイルから行単位とかでコミットしたり
する機能使ってる?
俺はファイル単位でしかコミットとかしないんだけどさ、そもそもステージング
してるところから行単位でまた編集するようなもんだから、テスト通るかわからなく
なるわけだし、あんまり積極的に使うもんじゃないよね。
あとdiffの結果画面の見方が今ひとつ苦手w
106:デフォルトの名無しさん (ワッチョイ)
17/03/10 21:48:11.92 cBCq3F3F0.net
>>103
使わんなー
107:デフォルトの名無しさん (ワッチョイ)
17/03/10 21:51:35.65 V4zus/a90.net
>>103
細かいけど、行単位でステージングする機能、じゃなくて、ステージングした段階から行単位でコミットする機能ってある?
108:デフォルトの名無しさん (ワッチョイ)
17/03/10 22:13:50.48 y8xCqliG0.net
git add -p のこと?
ならすげー使うけど
109:デフォルトの名無しさん (ワッチョイ)
17/03/10 22:28:17.98 gboOrvO30.net
git add -pの存在がsvnからの移行を決定づけた
110:デフォルトの名無しさん (ワッチョイ)
17/03/10 22:51:42.82 mJMnK6Gx0.net
俺もよく使うな。
gitの便利さっていうのは現実的な問題を解決してることにあると思っていて、
理想は最初に計画を立てて間違えることなく作業をすることだけど
現実にはいろんな細かい修正を忘れたり分けるべき修正を一緒にやってしまったりするでしょ?
そういう時に俺は、いま修正している中で、特定の部分だけgit add -pつかって
一つのコミットにして、あとの分は別コミットにして、
テストは後から書いてrebaseしてまとめるとかやるよ。
他の人が理解・レビューしやすい並びのコミットと、
実際の開発順っていうのは必ずしも一致しないからさ
111:デフォルトの名無しさん (ワッチョイ)
17/03/10 23:30:38.30 V4zus/a90.net
git add -pなら使う。行単位でステージングする機能、だよね?
112:デフォルトの名無しさん (ワッチョイ)
17/03/11 06:24:50.89 d5jme4tX0.net
>>108
SVN 使いだけどこの機能とローカルコミットはマジで欲しい
113:デフォルトの名無しさん (JP)
17/03/11 10:36:14.71 JsoExgwjH.net
>>110
gitに乗り換えても良いんですよ?
114:デフォルトの名無しさん (ワントンキン)
17/03/11 11:07:52.10 qCTmGWaIM.net
行単位使ってる人多いんだな
完全ファイル単位だわ
考え
115:古いのか
116:デフォルトの名無しさん (ワッチョイ)
17/03/11 12:21:39.87 d5jme4tX0.net
>>111
何となくだけど git は性に合わない
117:デフォルトの名無しさん (スップ)
17/03/11 12:39:37.19 vAAcV1Smd.net
>>113
おじいちゃんこんにちは
118:デフォルトの名無しさん (ワッチョイ)
17/03/11 13:07:42.60 /v3Qrvkv0.net
stash, cherry-pick, rebaseのないコーディングなんてもう考えられない
119:デフォルトの名無しさん (ワッチョイ)
17/03/11 14:17:42.96 qqD7bP3W0.net
試行錯誤のあととかノイズでしかないからな。
そんなものを大事に抱えていても、コードリーディングの
じゃまになるだけで意味が全くない。
快適な開発をするときに役立つコマンドがgitには多く搭載されている
120:デフォルトの名無しさん (ワッチョイ)
17/03/11 16:27:54.83 yCUlIQxq0.net
行単位とかやりすぎだろ。。
それなら作業者を統一するなり、ファイル分割するなりした方がいいんじゃねーの?
121:デフォルトの名無しさん (ワッチョイ)
17/03/11 17:15:54.01 qqD7bP3W0.net
作業者が独りだから、同じファイルを複数行編集するんだろw
122:デフォルトの名無しさん (ワッチョイ)
17/03/11 18:39:00.61 4afooUsq0.net
まとめてコミットするつもりで編集中だったワークツリーから
部分的に何行かコミットしてpushする必要ができたとか
けっこうある
123:デフォルトの名無しさん (ワントンキン)
17/03/14 16:00:30.11 E+FUCYqdM.net
ファイルのタイムスタンプまで元に戻せるバージョン管理ツールってないの?
124:デフォルトの名無しさん (JP)
17/03/14 16:01:15.03 vbV/Jpv3H.net
>>120
git
125:デフォルトの名無しさん (ワッチョイ)
17/03/14 16:49:48.82 vIMzEjCF0.net
ワロタ
126:デフォルトの名無しさん (ワントンキン)
17/03/14 19:54:39.02 6i3O/c5aM.net
はぁ?gitじゃタイムスタンプは戻らんから質問してんのにバカなの?
127:デフォルトの名無しさん (ワントンキン)
17/03/14 20:00:39.69 gPjrDEpaM.net
もしそんなVCSがあるならmakeとかまともに動かなくて限られた用途にしか使い物にならんだろうなぁ
128:デフォルトの名無しさん (ワッチョイ)
17/03/14 21:49:01.07 094BKVIr0.net
>>120
svn+TortoiseSVN でコミット日時に戻せるので我慢するか作り込みするしかなさそう
129:デフォルトの名無しさん (ワッチョイ)
17/03/14 21:57:48.94 olV+TTff0.net
gitはOSSなんだからHACKするなり自分で手を加えればいいのでは?
130:デフォルトの名無しさん (スプッッ)
17/03/14 22:06:05.44 U+Sav0FRd.net
>>123
コミットフックで全ファイルのタイムスタンプを記録しておけば戻せるよ
131:デフォルトの名無しさん (ワッチョイ)
17/03/14 22:42:41.89 olV+TTff0.net
適当なツール使えばいいじゃん
URLリンク(github.com)
132:デフォルトの名無しさん (ワッチョイ)
17/03/15 01:16:30.21 GKUdhRYR0.net
タイムスタンプは変えないでオリジナルのまま元に戻せるような機能は需要ありそうなのになんで最初から実装されてないの?
タイムスタンプはOSごとのローカルな仕様っぽいのでGit本体には入れなくないってこと?
133:デフォルトの名無しさん (ワッチョイ)
17/03/15 01:23:09.75 1ghxI2bb0.net
全く欲しいと思ったことが無いけど何に使うの?
134:デフォルトの名無しさん (ワッチョイ)
17/03/15 02:50:18.09 Kz3kbyRR0.net
>>130
あり得るとしたら、たぶんタイムスタンプで更新有無を判断する現場なんじゃないか?
135:デフォルトの名無しさん (ワッチョイ)
17/03/15 04:09:45.52 UbexXnp10.net
そんな馬鹿げたことから解放されるための構成管理ツールだと思うのだけど、世の中の闇は深いな
136:デフォルトの名無しさん (ワッチョイ)
17/03/15 07:04:46.81 GKUdhRYR0.net
Gitにない機能は闇呼ばわりのGit真理教の方ですねわかります
137:デフォルトの名無しさん (ワッチョイ)
17/03/15 07:44:08.96 1ghxI2bb0.net
>>131
今時そんな事してる現場なんてあるわけないじゃん?
138:デフォルトの名無しさん (ワッチョイ)
17/03/15 08:18:02.75 WjEGzhMP0.net
>>129
記録したいのはファイルがいつ修正されたかではなくて
ファイルの行がいつ修正されたかだから。
ファイルの日付どころか行単位で
修正日時が記録されているので必要ない
139:デフォルトの名無しさん (ワッチョイ)
17/03/15 08:32:23.84 WjEGzhMP0.net
>>133
> Gitにない機能は闇呼ばわりのGit真理教の方ですねわかります
Aというブランチでファイルを追加します。
Aブランチから派生したBというブランチでそのファイルを修正します。
140:Bというブランチでコンパイルしてオブジェクトファイルを作ります。 Aというブランチに戻ります。 Bというブランチでコンパイルしたオブジェクトファイルが残っています。 ファイルの日付はリポジトリに入れないのでAの方が更新日付が新しくなります そのためコンパイルするとBのオブジェクトファイルは使用されません。 という素晴らしい仕組みはgitだけの特典だとでも? あんたはどうしてもほしいの?
141:デフォルトの名無しさん (ワントンキン)
17/03/15 10:18:23.23 8jeOIUNnM.net
結論:Gitは素晴らしい仕組
142:デフォルトの名無しさん (ワントンキン)
17/03/15 10:22:20.47 8jeOIUNnM.net
流れ見てるとGitはコミット時の日時にファイルのタイムスタンプが変えられることすら知らないで偉そうに答えている奴いるなw
所詮は℃素人の烏合の衆かw
143:デフォルトの名無しさん (スフッ)
17/03/15 10:35:49.13 enIXRUuud.net
gitを使うことが目的になってるからな
144:デフォルトの名無しさん (ワッチョイ)
17/03/15 12:42:56.93 7YWEdixI0.net
>>135
ごもっとも
だけどFAQでこの文章みた記憶がない
145:デフォルトの名無しさん (ワッチョイ)
17/03/15 12:45:29.83 7YWEdixI0.net
>>138
commit時の日時だっけ?
checkout時の日時だと思ってた
146:デフォルトの名無しさん (ワンミングク)
17/03/15 12:52:42.68 kqJ31I++M.net
チェックアウトの度にタイムスタンプが書き換わっていたらさらに大混乱のような
手元にないから誰か試して
147:デフォルトの名無しさん (ワッチョイ)
17/03/15 13:05:12.43 7YWEdixI0.net
>チェックアウトの度にタイムスタンプが書き換わっていたら
その時点で存在しないファイルとかチェックアウトの結果変更されるファイルのタイムスタンプの話なんですが
148:デフォルトの名無しさん (ワッチョイ)
17/03/15 13:06:14.60 T3K1qf0+0.net
>>138
馬鹿がばれるからやめとけ
149:デフォルトの名無しさん (ワッチョイ)
17/03/15 16:57:44.56 1ghxI2bb0.net
>>133
で、何に使うの?
150:デフォルトの名無しさん (ワッチョイ)
17/03/15 22:27:20.10 WjEGzhMP0.net
チェックアウトっていうのは手元のファイルを書き換えているわけで
ファイルの更新日付は変わるほうが動作として正しいんですよね
151:デフォルトの名無しさん (ドコグロ)
17/03/16 08:39:50.82 kc3kp+lPM.net
ユーザー視点からはタイムスタンプごと戻るほうが正しいだろ。
システムの都合を言われても知らんわ。
152:デフォルトの名無しさん (ワッチョイ)
17/03/16 09:06:14.81 jj6/8HdQ0.net
ユーザー視点ってなんだ?
バージョン管理ツールは開発者視点のものなんだが。
バージョン管理ツールができる以前から
makeはタイムスタンプを参照して更新されたものだけを
ビルド、リンクする。
checkoutしてブランチを切り替えてファイルが変わったら
当然ビルド、リンクしなきゃならないんだから、タイムスタンプは
新しくなくちゃいけないだろ。
バージョン管理ツールはバックアップツールじゃないんだぞ
開発者じゃないやつが使うものじゃない
153:デフォルトの名無しさん (ワッチョイ)
17/03/16 09:28:08.60 EaMVfj+z0.net
>>147
システムの都合じゃなくて、ユーザー(開発者)視点から
ビルドしやすいようにあえて日付を更新してる
154:デフォルトの名無しさん (ワンミングク)
17/03/16 11:09:03.98 WA6lSXVKM.net
それじゃ使いづらい場合もある、開発環境によってはコミットした時点にタイムスタンプ含めそっくり元のまま復元する機能もあると便利だな、というだけなのに、それを言うとgitの思想と違う、と信者は発狂する
上の流れを要約するとそういうこと
155:デフォルトの名無しさん (ワッチョイ)
17/03/16 11:18:06.56 F3E/ISVf0.net
>>150
誰も何に使うか挙げれてないのに?
156:デフォルトの名無しさん (ブーイモ)
17/03/16 11:50:16.25 aO6lZIizM.net
gitの操作によって更新されたファイルのタイムスタンプをユーザが参照出来ないとか、ユーザーにとって拷問じゃね?
157:デフォルトの名無しさん (スップ)
17/03/16 11:59:54.91 XUhAFY4kd.net
タイムスタンプの参照方法も知らんのか
158:デフォルトの名無しさん (オッペケ)
17/03/16 12:19:13.00 1l8QOGUAr.net
大体お前ら殆どペチパーだろw
そもそもビルドプロセスなんかねえじゃんw
159:デフォルトの名無しさん (ワンミングク)
17/03/16 12:54:44.92 WA6lSXVKM.net
ペチパーてなに?
160:デフォルトの名無しさん (ワッチョイ)
17/03/16 13:30:19.82 dChQd8LQ0.net
プロパーのことかな
161:デフォルトの名無しさん (ワッチョイ)
17/03/16 14:26:14.45 N9tvbPpS0.net
URLリンク(www.indeed.com)
ペチパー=PHPerだけど、PerlとPHPの仕事は減る一方で3年以内にScalaに追い越される。
JavaとScalaはコンパイルのために、JavaScriptはトランスパイルのためにビルドが必要だ。
162:デフォルトの名無しさん (JP)
17/03/16 14:37:48.23 tDvUwYEMH.net
でも、githubなんかのリポジトリブラウザでlast commitが一覧できるのは便利。
ファイルの更新具合が一目瞭然。
git cloneのデフォルト動作がlast commitを復元するのでいいとさえ思う。
163:デフォルトの名無しさん (JP)
17/03/16 14:42:25.18 tDvUwYEMH.net
タイムスタンプ頼りのビルドツールも、なんか進化してくれないかと思うね。
ビルドしたときのハッシュを保存しておいて、違ってたらビルド(コンパイル)対象にするとか。
164:デフォルトの名無しさん (ワントンキン)
17/03/16 14:57:26.15 1IuM6Iv2M.net
>>159
遅くなるだろ。何のためにタイムスタンプ単純比較してると思ってるんだ。
165:デフォルトの名無しさん (JP)
17/03/16 15:21:13.16 tDvUwYEMH.net
>>160
> 遅くなるだろ
そうでもない。
243ファイル10万行のハッシュ値計算:
$ ls *.[ch] | wc -l
243
$ wc -l *.[ch]
102429 合計
$ time md5sum *.[ch] > /dev/null
real 0m0.014s
user 0m0.008s
sys 0m0.006s
166:デフォルトの名無しさん (ワンミングク)
17/03/16 15:57:58.78 qLAiRgHgM.net
Git真理教信者はGitはとにかく正しいのだという盲信から発言するから、自分とは違ったニーズを持つ他者がいるという想像もできないし、そもそもエビデンスを出しての議論ができないんだよなあ
口汚く罵るだけで
167:デフォルトの名無しさん (ワッチョイ)
17/03/16 18:08:47.10 Xe646fvV0.net
>>150
初心者はとまどうのかもしれないが
慣れたら問題ないことに気付く
どうせ秀丸でも使ってるんだろ
168:デフォルトの名無しさん (ワッチョイ)
17/03/16 18:35:50.30 Ko8IVZtl0.net
hookで実現する方法はあるし、必要ならそれを使えばいいだけだと思うんだがどうしてその機能がデフォルトで用意されてないだけでそこまで喚くのかわからない
169:デフォルトの名無しさん (ワッチョイ)
17/03/16 18:40:51.93 6u/sVXZC0.net
>>164
わからなければ参加しなくてもいいんですよw
170:デフォルトの名無しさん (ワンミングク)
17/03/16 18:45:10.48 DHYgGwbjM.net
公式のgit guiもネイティブのwindowsソフトのくせに日本語含んだディレクトリ名とか未だにダメダメだな
この時代に他言語対応がここまでダメなメジャーなソフトも珍しいんじゃね?
171:デフォルトの名無しさん (ワッチョイ)
17/03/16 19:10:46.07 Xe646fvV0.net
git for windows ならいける
172:デフォルトの名無しさん (ワンミングク)
17/03/16 19:14:58.70 Zmwuwj98M.net
>>166
まったく珍しくないけど。
ユーザー名に日本語含めないようにするというバッドノウハウが広まってるのがいい証拠
173:デフォルトの名無しさん (ワッチョイ)
17/03/16 19:25:54.89 0IkihSnt0.net
あれがだめだ
これもだめだ
文句ばっかり一人前
174:デフォルトの名無しさん (ワッチョイ)
17/03/16 19:42:09.30 6u/sVXZC0.net
>>169
少しは文句ばっかり言われる自分を省みてみたらw
175:デフォルトの名無しさん (ワンミングク)
17/03/16 19:53:27.96 0HPyU1HgM.net
>>167
サンクス
そうなんだ。試してみる。
176:デフォルトの名無しさん (ササクッテロロ)
17/03/16 23:09:13.57 6N+4it80p.net
結局何に使うかも分からんような機能をネタに信者だなんだと煽って構って欲しかっただけ?
煽るにしたってgitに取って代わるようなツールを挙げてくれないと面白くないんだけど
177:デフォルトの名無しさん (ワッチョイ)
17/03/16 23:28:53.65 w4Havbm70.net
お前が面白いとかつまらんとかほんとどうでもいい
言うことないならスレ汚さずに黙ってろ
178:デフォルトの名無しさん (ワッチョイ)
17/03/16 23:50:24.62 EaMVfj+z0.net
>>150
> それじゃ使いづらい場合もある、開発環境によってはコミットした時点にタイムスタンプ含め
> そっくり元のまま復元する機能もあると便利だな、というだけなのに、それを言うとgitの思想と違う、と信者は発狂する
gitの思想じゃない。ソフトウェア開発の思想。
最新のタイムスタンプのものだけビルドするという考え方は
gitができるよりはるか昔からのやり方
gitを使うことでソフトウェア開発がしづらくなったら
本末転倒だろ?
179:デフォルトの名無しさん (ワッチョイ)
17/03/16 23:59:09.02 6u/sVXZC0.net
>>174
gitしか知らないぺーぺーのひよっ子が面白い事言うなw
お前センスねえわw
180:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:01:17.52 KqZX+Igl0.net
そもそも
>gitの思想と違う
なんて発言は誰もしてないのに、さもそんな発言があって、それが共通認識であるかのように語る
病気ですね
181:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:07:16.69 lgb+n3WO0.net
>>175
svnも知ってるが?
svnを使っているときからsvnはだめだと理解していた。
gitを知った(がまだ使えない)ときから、俺が欲しかったのはgitだと理解できた。
svnはすごく開発しづらかった。なにせ間違いが許されないから。
人間だから間違いはかならずある。svnだと間違いが許されなかったから
仕事を一旦片付けて(コミットして)落ち着いて確認するという作業ができなかった。
間違いは間違いのまま残り、意味のないコードを他の人にレビューさせるのが
すごく無駄に感じた。それが解消されたのでgitはすごくストレスフリーだよ。
182:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:11:39.15 HumUZXIf0.net
>>177
いや知らねえよお前はw
それどこのインターネッツで拾ってきたgit神話だよw
183:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:20:09.47 lgb+n3WO0.net
>>178
なんで俺の書いた内容に反論しないの?w
184:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:23:50.09 HumUZXIf0.net
>>179
それはこっちのセリフだよwぺーぺーのひよっ子クンw
185:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:27:58.36 lgb+n3WO0.net
このように必死になるのがワロエルw
186:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:33:43.21 RKn5d9hw0.net
>>161
例えばGoogle Chromeとか1000万行以上、ファイル数も数万個あるんだよなぁ、そこまで大きなプロジェクトはあまり無いだろうけどさ。
ハッシュをDBか何かにファイルパスのようなuniqueな値と合わせて書き込まなきゃならないだろうし、画像などのリソースを固めるなら大きめのファイルのハッシュも計算しなけらばならないだろう。そのベンチマークはちょっと見通し甘いと思う。
187:デフォルトの名無しさん (ワッチョイ)
17/03/17 00:34:13.23 HumUZXIf0.net
>>181
なんだよもう諦めたのかw
俺はもっと笑いたいんだけどなw
もっと聞かせてくれよぅ
ひよっ子クンのソフトウェアなんとかwの思想w
188:デフォルトの名無しさん (ササクッテロロ)
17/03/17 00:50:55.73 CHXjDOQAp.net
構ってもらえて嬉しそう
よかったね
189:デフォルトの名無しさん (ワッチョイ)
17/03/17 01:35:25.41 g7c8SdZF0.net
>>174
なんかよくわからんけど、例えば一年前にコミットしたmakeファイル含むビルド環境一式があって、
それを再現したいとき、オプションでタイムスタンプも含めてぜんぶそのときの環境が再現される
オプションがあればそれはそれで便利じゃないの?
190:デフォルトの名無しさん (ワッチョイ)
17/03/17 01:45:34.43 RKn5d9hw0.net
>>185
だから何が便利なの?
タイムスタンプを再現して何が嬉しいの?
標準に入れろっていうくらいなんだから大多数が納得するようなメリ
191:bトを示せるはずだよね? それがこのスレで一つも出てきてないんだけど
192:デフォルトの名無しさん (ワッチョイ)
17/03/17 01:50:24.59 KqZX+Igl0.net
>>185
>それを再現したいとき
それってどんな時?ってのが行き着くところだと思うよ
上の方でもちらほら出てるけど、必要なら実装すれば良いし、必要だと思う人が多ければ標準の機能として組み込まれるでしょ
193:デフォルトの名無しさん (ワッチョイ)
17/03/17 02:44:39.70 lgb+n3WO0.net
>>185
日付が戻るのはソースファイルだけ。
そのソースファイルを使ってコンパイルすると
オブジェクトファイルができる。
"現在の日付の"オブジェクトファイルができる。
その"現在の日付の"オブジェクトファイルをリンクして
"現在の日付の"実行ファイルができる。
出来上がるのは現在の日付のファイルばっかり
で、なんか言った?
194:デフォルトの名無しさん (ワッチョイ)
17/03/17 03:08:37.61 gNJfFjGV0.net
まぁ git checkout でブランチ変えるたびに make clea
195:n なりでキレイサッパリにするならタイムスタンプ復元しても問題は生じないだろうな タイムスタンプを復元して何が嬉しいのか良く分からないけど (ファイルに変更を加えた日を知りたいだけなら適切にコミットしてたらファイルに手を加えた日とコミットした日に大きな違いはないだろうから確認に困るってことはないし) git以外の何らかの管理ツールがタイムスタンプで何らかの整合性を保っててその管理ツールのデータファイルもgitリポジトリに一緒に突っ込んでるとかかなあ?
196:デフォルトの名無しさん (ワッチョイ)
17/03/17 03:38:39.20 RKn5d9hw0.net
>>189
そんなありそうもない例出さなくても標準で入れるべきと主張する人が素晴らしく便利な例出してくれるでしょ。
焦らしプレイが好きみたいだけど気長に待とうぜ。
197:デフォルトの名無しさん (ワッチョイ)
17/03/17 03:47:35.77 lgb+n3WO0.net
普通に考えて日付が違っていてもコンパイルすれば
同じ実行ファイルができるべきである。
でないと、ファイルを保存し直しただけで
違う物ができることになってしまう
198:デフォルトの名無しさん (ドコグロ)
17/03/17 08:32:42.50 dpI1G6OFM.net
>>188
いや >>185 はオブジェクトファイルや実行ファイルまで突っ込んでるイメージでしょ
まあバージョン管理というよりバックアップツールとかの範疇だと思うが
199:デフォルトの名無しさん (アウアウカー)
17/03/17 08:39:41.92 pWaboA+Ja.net
>>191
そもそも具体的に何のためにそんなことしたいのかが分からないな
200:デフォルトの名無しさん (ワッチョイ)
17/03/17 09:05:02.21 lgb+n3WO0.net
>>192
じゃあバックアップツール使え馬鹿で終わりだなw
201:デフォルトの名無しさん (ワンミングク)
17/03/17 09:21:50.26 u9tsLZrBM.net
意外と次のバージョンであっさりオプションが実装されてて信者が「さすがGit」とその機能を絶賛してたりしてw
202:デフォルトの名無しさん (ワッチョイ)
17/03/17 09:28:24.44 lgb+n3WO0.net
じゃあ実装されるまでは、何度もお前は馬鹿だなぁって
言い続けるかwww
203:デフォルトの名無しさん (JP)
17/03/17 11:36:42.96 hpHy/rBLH.net
>>182
まぁ、ファイル数が1000未満、行数が100万行未満くらいだったら実用になるとおもうんだけど、どうだろう。
毎回全部のハッシュを計算する必要はなくて、まずはタイムスタンプで比較して違ったらハッシュでチェック。
そうすれば、「変更はないがタイムスタンプだけ異なる」ファイルのコンパイルが不要になる。
つか、書いてて思ったんだけど、そういうビルドツール既に存在するんじゃ?
204:デフォルトの名無しさん (JP)
17/03/17 12:07:10.25 ol/nseXLH.net
>>189
秀丸ですねわかります
205:デフォルトの名無しさん (JP)
17/03/17 12:08:06.93 ol/nseXLH.net
>>195
それは永遠にないわ
206:デフォルトの名無しさん (ワッチョイ)
17/03/17 12:09:21.75 w8cg3b8g0.net
>>196
gitでタイムスタンプを管理しないのは失敗だったかも
(でも今更だし悪い仕様でもこのまま乗り切るわ)
と講演で言っていたよね
207:デフォルトの名無しさん (ワンミングク)
17/03/17 16:41:29.29 ABuej+2JM.net
>>196
やっすいことで満足できんだなあお前って
悲しくない?
208:デフォルトの名無しさん (ワッチョイ)
17/03/17 18:58:28.73 g7c8SdZF0.net
>>200
なんだライナスも悪い仕様ってみとめてんだ
209:デフォルトの名無しさん (エーイモ)
17/03/17 20:33:35.90 vzlc7+0GE.net
プロジェクトを作り直してコードもファイル構成も全部作り直す場合は
gitでブランチを作成して底で作業するか、別のディレクトリを作成してそこで作業するかどっちがいいでしょうか?
210:デフォルトの名無しさん (ワッチョイ)
17/03/17 20:46:01.32 lgb+n3WO0.net
>>200
ああ、アイツだろ? 名前忘れたけど
あとでTwitterとかで馬鹿にされまくってて
アカウント削除して逃げちゃったやつ
>>202
> なんだライナスも悪い仕様ってみとめてんだ
ライナスのことじゃないよw
211:デフォルトの名無しさん (ワッチョイ)
17/03/17 20:51:50.50 lgb+n3WO0.net
リーナスは「なんでお前、タイムスタンプを戻すのが間違ってるってわかんねーの?馬鹿なの?」って
煽ってるしなw
Linus Torvalds
URLリンク(web.archive.org)URLリンク(kerneltra)
212:p.org/mailarchive/git/2007/3/5/240530 > But Bill, don't you realize that restoring the timestamp is *WRONG*? スレトップ https://web.archive.org/web/20120518150852/http://kerneltrap.org/mailarchive/git/2007/3/5/240536
213:デフォルトの名無しさん (ワッチョイ)
17/03/17 20:57:08.80 lgb+n3WO0.net
リーナス・トーバルズ曰く
URLリンク(web.archive.org)URLリンク(kerneltrap.org)
>
> それは間違い
>
> それは馬鹿
>
(gitでタイムスタンプを管理なんて)
> ぜってーに実装しねーよwwww
リーナスにも煽られちゃったなwwww
214:デフォルトの名無しさん (ワントンキン)
17/03/17 21:53:41.23 BNQrAo9GM.net
調べてみるとvsもcsvもsubversionも当然のようにタイムスタンプ復活できるんだな
リーナスの手を離れたわけだしメンテやってるあの人もそんな当たり前の機能はとっとと実装して欲しいもの
215:デフォルトの名無しさん (ワッチョイ)
17/03/17 22:09:18.47 lgb+n3WO0.net
つまりgitは進化したってことだな(爆笑)
はいはい、なんでsubversionでタイムスタンプ復活させるのが
間違ったやり方だって言われていてデフォルトオフなのか考えてみましょうか
216:デフォルトの名無しさん (ワッチョイ)
17/03/17 22:12:32.69 lgb+n3WO0.net
>>207
あ、ぶっちゃけさ、お前
gitでタイムスタンプを管理しないのは失敗だったと
リーナスが言ったと嘘を言ったのがバレたから、
調べてきたろ?w
217:デフォルトの名無しさん (ワッチョイ)
17/03/17 22:27:18.70 oBXg3cgS0.net
git logからコミット日時引っ張ってくるシェルスクリプト書きゃいいだけなのに、標準で入れるまでもないだろう
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
1738日前に更新/248 KB
担当:undef