1 名前:デフォルトの名無しさん mailto:ageteoff [2015/03/23(月) 13:35:13.83 ID:aBYp+bVs.net] ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。 Git - Fast Version Control System git-scm.com/ ◆関連サイト Pro Git - Table of Contents git-scm.com/book/ja Git入門 www8.atwiki.jp/git_jp/ ◆前スレ Git 11 peace.2ch.net/test/read.cgi/tech/1416195050/
285 名前:デフォルトの名無しさん [2015/04/13(月) 00:19:44.73 ID:4JvI4/ec.net] マ板あたりにアンチGitスレでも立てたらいいと思う
286 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 00:26:29.81 ID:NT6jaiFf.net] 相手する方もなんでわざわざ相手するのかね 放置すりゃいいのに相手するから生きながらえる
287 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 01:06:13.44 ID:zNUrQ3MR.net] >>280 なぜ切れていると思い込んでるのかサッパリだ。 できないなら>>276 は妄想ってことだな。 >>282 gitのリポジトリの構成を決めろとか言うわけではない。 決まったオペレーションができれば十分。最低限。 偏ってる企業だと1人1プロジェクトとかかも知れないけど、そんな老い先知れた企業のことは知らん。
288 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 01:25:41.23 ID:l/TWvXzv.net] 驚くだろうが、この業界にいて、 パソコンにOS(Linux)のインストールも出来ない 素人がいるのも事実。
289 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 02:06:56.36 ID:qmARc52C.net] >>285 >>276 は妄想じゃなくてあなたへの質問だったのだが急に答えるのをやめたから切れたのかと思った 漠然と否定するんじゃなくて訂正してもらえるとWeb系エンジニアの一つの実情を知れるので勉強になる >>286 Linuxのカーネルを改造してる技術者がWordの蛍光ペンの付け方を知らないってことがあったので 自分ができることをそいつができないから「技術者として終わってる」というのは案外そうでもないと思ってる
290 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 03:19:23.81 ID:zNUrQ3MR.net] >>287 仮想とか使ってるとこは、設定するだけ。 性能は必要ないので、借りても月千円とか二千円で要件は満たせる。 これ以上はスレチ過ぎるのでどっか他で聞いて下さい。 知らないと出来ないは違うんじゃ。
291 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 06:05:45.95 ID:Nl26Y8lL.net] >>261 > 今時のプラットフォームはあなたの会社の一種類以外、話から除外されるってことね。やはりあなたの会社がスタンダードなんだね。 いったい何を言いたいのか全くわからんのだが w
292 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 06:46:15.23 ID:NPPeHBbv.net] >>288 Linuxのインストールなんて「知ってりゃできる」レベルだろ?
293 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 09:12:02.50 ID:l/TWvXzv.net] >>290 だが恐ろしいことに、出来ないという人がいるんだよ。 自称技術者なのにな。本当に可哀想。
294 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 10:33:40.14 ID:qmARc52C.net] >>288 なるほどケタ違いに安かったんだ だからあなたがやってるみたいな「極めて小規模案件」にも対応できるのか スレチなのは確かだがこのスレはgitの製品機能だけじゃなく gitの運用シーンとその背景(マネジメントやら業務の特性やら)がごちゃまぜに話されてるから 前からずーっとスレチだったという気がしないでもない
295 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 12:11:13.75 ID:5Ev+MSHp.net] gitサーバ=gitlabな人とまともな話ができるわけないじゃないw あと今どきVPS知らない人とも話が通じないでしょ
296 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 18:06:10.53 ID:zNUrQ3MR.net] >>290 gitの最低限の操作なんて知ってりゃできるレベル。 しかし知るまでは、知ってりゃできるレベルか否かわからない。 それで自信の無い人は出来ないという。または使いたくないので、知ろうともしない。仕事は任せられない。 まっとうな技術者の知らないは、調べてやりますの意味。多少のサポートは必要かも知れないが、仕事を任せられる。 というか、コンピュータのオペレーションは全て知ってればできるレベル。
297 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 18:44:49.69 ID:PFHUoot3.net] コマンドなんて1回正しい手順覚えたらそれ繰り返すだけだしな
298 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 22:01:32.53 ID:l/TWvXzv.net] ピアノの演奏みたいなもんかね。 やってることは同じことの繰り返し。 技術力とはそれを間違いなく早く繰り返せる力のこと 知識に加え、長年の経験とセンスが必要とされる。 小学校でねこふんじゃったを引ける人がクラスに一人ぐらい いたと思うけど、実はねこふんじゃったは難しい曲らしい。 だからといってその子は凄いわけじゃなく、 ねこふんじゃったしか弾けないという。 何がいいたいかというと、難しいものでも定型化してそれだけをやるなら比較的簡単にできる。 だけど、応用ができないんじゃ技術力があるとは言えないんじゃないかな。 コンピュータのオペレーションだって、今までに起きたことがない 問題が起きた時に対応できて初めて一人前だと思うよ。
299 名前:デフォルトの名無しさん [2015/04/13(月) 22:06:53.81 ID:U9cAqNzb.net] 3行にまとめろ
300 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 22:10:28.26 ID:l/TWvXzv.net] ピアノの演奏みたいなもんかね。やってることは同じことの繰り返し。技術力とはそれを間違いなく早く繰り返せる力のこと知識に加え、長年の経験とセンスが必要とされる。小学校でねこふんじゃったを引ける人が クラスに一人ぐらいいたと思うけど、実はねこふんじゃったは難しい曲らしい。だからといってその子は凄いわけじゃなく、ねこふんじゃったしか弾けないという。何がいいたいかというと、難しいものでも定型化 してそれだけをやるなら比較的簡単にできる。だけど、応用ができないんじゃ技術力があるとは言えないんじゃないかな。コンピュータのオペレーションだって、今までに起きたことがない問題が起きた時に対応できて初めて一人前だと思うよ。
301 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 22:35:09.37 ID:/JCb38ul.net] 趣旨は分かるけど、ねこふんじゃったは難しくないだろw かなり単純で簡単な曲
302 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 00:11:29.45 ID:Mnpx95ZS.net] ねこふんじゃったは、楽譜にすると難しい曲。 単にピアノの鍵盤と五線譜の相性が悪いことの問題
303 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 00:18:39.20 ID:6fsUN43G.net] ルート通したあとのエラーは大して苦労しない 引き継いで全体像を知らなければ苦労しそうだがそれは能力とあまり関係ないこと
304 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 01:35:10.67 ID:wfCHFEB4.net] 難しいのは、人が簡単に弾ける曲を作曲すること。 git自体の設計や、リポジトリ設計、オペレーションマニュアルを作ること。
305 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 02:10:05.32 ID:UqXDsIMl.net] >>300 楽譜にしてもスカスカだし難しくはないと思うが ♭6個が難しく見えるってこと? つまりgitも慣れてない人には難しく見えるって話か
306 名前:デフォルトの名無しさん [2015/04/14(火) 07:30:46.14 ID:hU+kLzAL.net] >>248 GitHub使ってるぽい企業みつけた paiza.jp/job_offers/386
307 名前:デフォルトの名無しさん [2015/04/14(火) 07:41:08.44 ID:hU+kLzAL.net] ここもGitHub使ってるぽい paiza.jp/job_offers/554
308 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 07:52:07.35 ID:ewVl24pp.net] >>303 > ♭6個が難しく見えるってこと? 個人的には嬰ヘ長調(♯6個)の方が好き
309 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 10:40:27.73 ID:CfmpsTw9.net] バイオリンもフラットが増えると使う開放弦が無くなって難しくなるわ 初心者の意見だけど
310 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 20:02:42.34 ID:oXtat876.net] >>295 > コマンドなんて1回正しい手順覚えたらそれ繰り返すだけだしな そういえば、教えられたコマンドを メモ帳に書いて、それをひたすらコピペしている奴がいたな。 こういう時は、これ、 こういう時は、あれ、 その姿を見ていなければ、git使えているように見えるが、 何も理解していないという。
311 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 20:43:04.53 ID:Q5r7cjjP.net] 全く高度なことではない作業に過ぎないのに、理解とは?w
312 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 20:58:47.86 ID:ftm3iiW3.net] subversionと比べたら何が便利?
313 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 21:25:14.74 ID:Q5r7cjjP.net] 特に無し。マジで特に無し。 入門時の流行等で使うシステムが決まる。
314 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 21:49:07.84 ID:oXtat876.net] >>310 subversionよりも圧倒的に速い。
315 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 21:54:22.43 ID:oXtat876.net] >>309 ピアノと一緒って話だろ? 鍵盤を叩くのはだれでもできることだが、 それを使って素晴らしい音楽を演奏するのは難しい。 gitのコマンドを叩くのは簡単だが、 それを使ってソフトウェア開発を 効率よくするのは難しい。 だから効率上がらないよとか言ってる人がいるわけよ。
316 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 23:34:02.72 ID:wnoVepzT.net] >>311 こいつ最高にアホ
317 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 20:27:20.03 ID:GB/eL5ft.net] どうせcommitとpushくらいしか使ってないんだろう
318 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 20:38:14.05 ID:6MF6OERw.net] プッwくだらねーwオフィスソフトで文書作成できて上機嫌になる事務職と変わらんなw
319 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 21:49:51.24 ID:1RecYAvv.net] バージョン管理は何を使っても変わらない。 どうせやるのはpushするだけなんだから。 現在コンフリクトが起きないようにする運用方法を模索中。 他の人が触れないようにロックができればいいんだけどな。
320 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 22:18:49.86 ID:V2WyrPfJ.net] 自分が作ったパッチでもコンフリクトするけどな。
321 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 01:28:27.36 ID:Mp5pFy+1.net] >>317 誰にも触れないようにネットワークから切り離せ
322 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 02:09:02.52 ID:hUjU3Ohl.net] ローカルではgitを使って、メインにはsvnを使うといい。
323 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 09:11:33.22 ID:bLWn78BU.net] >>320 メインっていうか中央やね。 基本的にコマンドをたくさん使うところがメインなので ローカルがgitということはgitがメインとなる。 そして最後のmasterブランチの代わりにsvnを使う。 その場合svnは単なるストレージ的な扱いになる
324 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 13:47:48.51 ID:RwDqOFG9.net] 開発ブランチが2つあって masterで.gitignoreを変更したんですが masterの変更を開発ブランチに取り入れる方法を教えてください 開発ブランチでgit merge masterってやってもこんなメッセージがでました addしてコミットしないとだめなんですか?開発ブランチからmasterにmergeするときはこんなメッセージ出ません Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: .gitignore no changes added to commit (use "git add" and/or "git commit -a")
325 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 11:04:43.23 ID:gKd17Ylm.net] パーミッション変更しただけのも変更扱いなのかよ 面倒臭いなgit
326 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 11:12:45.44 ID:umXZ7BSe.net] Unix系で使ってる分には気にならないんだけどねそのへんは 昨日、Cygwin新しくしてnoaclの設定忘れて作業始めちゃって酷い目にあった git自体の設定でパーミッションの変更を無視するようにできるらしいけど、 その場合は新規ファイルのパーミッションはどうなるのかな
327 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 14:20:11.36 ID:Z/Go+19e.net] Unixで気にならない?Windowsだろ
328 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 15:25:00.67 ID:umXZ7BSe.net] Windowsはとんでもないパーミッションでレポジトリにファイル登録しちゃったりすることがあるのが心配なの Unix系ならみた
329 名前:ワまのパーミッションで登録されるので安心 [] [ここ壊れてます]
330 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:21:04.26 ID:5PzRDxP4.net] >>323 記録されるのは実行権限だけだよ。 実行権限をリポジトリに入れないと 困るのは言うまでもない。
331 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:21:44.23 ID:5PzRDxP4.net] >>326 > Windowsはとんでもないパーミッションでレポジトリにファイル登録しちゃったりすることがあるのが心配なの 登録されるのは実行権限だけだよ。 > Unix系ならみたままのパーミッションで登録されるので安心 登録されるのは実行権限だけだよ。
332 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:28:14.13 ID:umXZ7BSe.net] ソースファイルが実行権限つきで登録されたらダメだろ? 755とか644とかこれ実際には実行権限だけしか登録されないってこと?
333 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:46:16.84 ID:5PzRDxP4.net] > ソースファイルが実行権限つきで登録されたらダメだろ? は? スクリプトファイルは 実行現原付きのソースコードだが?
334 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:48:49.11 ID:Ys0gBcPs.net] スクリプトファイルに「常に」実行権限を付けてるの?(´・ω・`) ((((((;゚Д゚))))))ガクガクブルブル
335 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:50:25.56 ID:5PzRDxP4.net] どこに常にって書いてあるんだ? つけたりつけなかったりする必要があるから 実行権限をリポジトリに入れる必要があるんだろ。
336 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:53:11.58 ID:Ys0gBcPs.net] どう考えても開発中のスクリプトファイルに実行権限がどうしても必要な 理由が理解できないよ?(´・ω・`)
337 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:54:39.89 ID:5PzRDxP4.net] チェックアウトしてからいちいち実行権限付けてから実行するのか? CGIアップロードしてから、全部のファイルのパーミッションを 設定してから使うウェブアプリかよw
338 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:55:32.36 ID:umXZ7BSe.net] >>330 なるほどソースファイルは644で、スクリプトファイルは755で登録されればいいわけだな Unix系の場合にはファイルのパーミッションの値に準じて登録されてると思うんだけど、 Windowsの場合にはどういう仕組みになってるんだ? 昨日Cygwinでソースファイルが755で登録されちゃってとても困ったんだが
339 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 16:58:21.33 ID:5PzRDxP4.net] pro gitでもよめ。 なんでもきくな
340 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 17:01:42.91 ID:umXZ7BSe.net] なんかあらためてぐぐったらちょっと特殊な事情があることがわかった fourxz.hatenablog.com/entry/2013/12/13/003317 IntelliJ + cygwin の特殊な例だったんだな おれの場合にはIntelliJの設定じゃなくてCygwin側のfatabでACLを無効にして対処した こんなのpro git読んでもわかんねえよ
341 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 17:03:55.25 ID:umXZ7BSe.net] Windowsはめんどくせな
342 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 17:05:33.91 ID:Ys0gBcPs.net] >>334 いってることが前時代的なんで理解し難いけど?(´・ω・`) アップロードもインストールの一部だと考えれば、インストールスクリプトで パーミッションを弄るよ?おいらならね?(´・ω・`)
343 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 18:03:03.48 ID:5PzRDxP4.net] >>339 理解能力がないやつだなw コンパイルしなくてすぐに実行できるのが スクリプト言語のいいところなのに、 なんでそんな準備をしないといけないんだって話だよ。 cloneしてローカルで動かすとか思いつかないのか?
344 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 18:04:31.50 ID:5PzRDxP4.net] >>339 どうせサーバーにアップロードも 今どきFTPでアップロードして パーミション設定とかしか思いつかないんだろうけど、 git使っていれば、git cloneしてハイおしまい。 なんだよ。
345 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 23:04:14.84 ID:nTfDDlXC.net] typescriptとかsassで吐き出される*.jsや*.cssもgitで管理したほうがいいですか?
346 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 08:24:45.00 ID:dTAen5CN.net] >>339 そのインストールスクリプトは…
347 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 09:46:39.29 ID:ZhuC/XHh.net] もちろん、そのインストールスクリプトの パーミッションを変えるスクリプトをつけるに決まってるだろ
348 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 09:50:29.82 ID:iit3/b2j.net] もしかすると、そのインストールスクリプトのパーミッションを変えるスクリプトのパーミッションを変えるスクリプトが必要なんじゃね?!
349 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 10:07:21.92 ID:gnynNjp+.net] 多分、普通にそのスクリプトのインタプリタを起動してコマンドラインに スクリプトファイルを入れておくと思うよ?(´・ω・`)
350 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 11:07:07.29 ID:ZhuC/XHh.net] その普通に起動するスクリプトのファイル名とインタプリタ名はどうやって知るのかな。 自分一人で作業することしか考えてないだろ。 って言われたらその場でまた言い逃れを考えて書き込むだけだから書くだけ無駄かw
351 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 11:40:56.36 ID:sdnJBf1e.net] 実行権限を付けたいファイルは実行権限をつけている。 その実行権限をそのままリポジトリに入れられないとなると、 ファイルに実行権限ついているというのに それと同じ情報を別ファイルにまとめないといけない。 つまり情報が二重になってしまっている。 ローカルでテストコードを実行した時 (実行権限が付いているから)テストが成功するのに、 他のマシンでcloneしたらテストコードが失敗する。 実行権限情報が間違っていたからだ。 つまりアプリの信頼性にも関わってくる。
352 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 11:41:34.93 ID:gnynNjp+.net] 多分、readmeを読める言語能力がある人には特に難しい事ではないと思うよ?(´・ω・`)
353 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 11:43:31.12 ID:gnynNjp+.net] 実行権限の有無で失敗するテストコード?とんちなの?馬鹿なの?(´・ω・`)
354 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 11:46:20.25 ID:sdnJBf1e.net] >>350 そりゃ、テストコードでスクリプトを実行している コードに決まってるじゃんw っていうかビルド自体が失敗するし git のリポジトリ見てみな。 実行権限ついてるだろ? それ全部外してmakeしてみな。
355 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 11:52:36.40 ID:sdnJBf1e.net] >>349 readme関係ないからな。 実行権限という情報を二重に持つことがだめだって話。 ファイルについてる情報を わざわざreadmeにコピペするんなよ。 素人かよw
356 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 13:38:15.27 ID:xj2mf7xJ.net] チェックアウト時のパーミッションなぞumaskで変わるんだから install -m で指定するのが当たり前 つまらん揚げ足取りでスレ汚すなよ
357 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 18:07:06.97 ID:sdnJBf1e.net] >>353 今は実行権限の話。 umaskはファイル新規作成の時の話。 当たり前だが、cloneしたときの実行権限には関係ない話。 ちょっと無理やりすぎな屁理屈だったかなw
358 名前:デフォルトの名無しさん [2015/04/22(水) 21:08:01.41 ID:3b9p/BsF.net] SourceTreeで 変更されたファイルを表示しようとすると コミット対象が選択されていません とか出るんだけど コミット対象ってなんのことですか?
359 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 10:35:30.48 ID:DTt/WaGx.net] 絞り込んだ対象にファイルがないんだろう 絞りこみ対象を変えるかブランチ選ぶかしてみては
360 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 11:47:46.40 ID:RLLS8SFj.net] >>355 > コミット対象ってなんのことですか? こうなるから、GUIを先に使うのはだめだと思うわ。 GUIはわかりやすいんだよ。わかりやすいから逆に 見て直感的にわかるようなこと"以外"の 知識を知らないまま使えてしまう。 デザイナとかも使ってもらうために、GUIはあっていいと思うが ゲームみたいにチュートリアルをこなさないと すすめないようにするべきなんだろうな。
361 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 12:40:46.69 ID:0IqaduwO.net] >>357 攻略しなきゃならんようなもんだと最初から使われないよ
362 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 12:52:17.15 ID:zERGLrhN.net] ワードエクセル使う脳みそがあれば使えるはず
363 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 18:18:36.41 ID:RLLS8SFj.net] >>358 ゲームは攻略するものだが 使われてるぞ?
364 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 21:28:23.11 ID:xe4GpqoA.net] >>357 けっきょくコミット対象とはなんでしょうか 今使ってるmasterブランチのことでしょうか
365 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 21:33:48.98 ID:xe4GpqoA.net] >>356 ありがとうございます。すみません見落としていました。 絞り込んだ結果、ファイルが選択されていない状態のことでした。 なぜコミット対象が選択されていないというメッセージなのかは 不明ですが、GUIのメッセージが不適切なだけかもしれぬ。
366 名前:デフォルトの名無しさん mailto:sage [2015/04/24(金) 07:42:40.59 ID:7qXJwKGv.net] >>358 いやいや、マリオの最初見てみ よわっちいくりぼーでジャンプを覚える その先でまたくりぼー出てきて思わずジャンプしたら上のブロックから隠しスターが出てくるとか むちゃくちゃ良くできてるチュートリアルだから
367 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 10:14:34.47 ID:gbrpzY
] [ここ壊れてます]
368 名前:AV.net mailto: cvsからgitに移行したい。 cvs2gitを使ってみたが、$Id$ $Revision$ $Date$などCVS keywordがうまく変換されない。 gitで新たに管理するソースは、gitでは非推奨のkeywordを使わないルールにするつもり。 しかし過去にcvsでコミットしたソースは、diffで差分が出ないように、そのリビジョンにおけるCVSキーワード展開した形で見せたい。無理だろうか? [] [ここ壊れてます]
369 名前:361 mailto:sage [2015/04/27(月) 12:36:48.36 ID:gbrpzYAV.net] >>364 解決した。 --use-cvs を使った上で、--auto-propsで_keyword_handling=expandedを指定するのが正規の手順らしいが、うまくいかない。 cvs2svn-trunkのソースdvcs_common.pyの108行目をexpandedに書き換えたらうまく行った。 ツール開発者の意図した方法でないが、うまくいったからこれで良いや。
370 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 20:45:56.16 ID:vTVPlfs5.net] >>363 じゃーそのチュートリアルを作って見せてくれや
371 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 21:14:43.51 ID:tqDCJ6PW.net] なにが「じゃー」なのか理解できない
372 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 21:34:24.12 ID:3pJIw6k3.net] >>366 金出せよ、まさかただとか言わないよな >>367 論点ずらしのつもりだろ 低能がよくやる
373 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 07:34:19.84 ID:rLCyhFbm.net] 口だけ達者でなにもできない無能ですって自己紹介は要りませんよ
374 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 09:15:46.10 ID:g6CBhBxf.net] gitにもゲームによくあるチュートリアルみたいなのあったほうがいいよね (もしチュートリアルがあってもそんな)攻略が必要もの(git)は使われない いやマリオの最初はチュートリアルになっている(が皆が使って遊んでいる) じゃあチュートリアル作って 金出せばやるよ 前半すでに会話が成り立っていない
375 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 09:17:15.92 ID:MPDoLmFP.net] >>369 自己紹介は要りませんよ
376 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 09:59:33.54 ID:MxyhIMrU.net] CLIチュートリアルはウェブアプリとしていくつかあるね コミットグラフ表示しながら課題解いていったり出来てよく出来てる
377 名前:デフォルトの名無しさん [2015/05/02(土) 18:02:57.19 ID:86QaeJl2.net] SourceTree を使ってるんですが、UIがいまいちなので 乗り換えようと思っています。 なにか良いGUIツールありますか?
378 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 18:42:46.54 ID:bdhWq9VE.net] ありません
379 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 13:49:31.79 ID:du+Vke+v.net] >>372 learnGitBranchingってやつかな? あれは良かった ヤリたい事や結果をイメージできるようになった
380 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 23:58:46.35 ID:Oo1Eb5uX.net] 「gitすら使えないやつはバカ」って人がいるせいで、どうしても話がこじれる なんで「gitは使うのが簡単、使えないやつはバカ」って思っちゃうんだろうな まあ自分が使えるからだろうが
381 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 00:25:20.05 ID:8OQq3apA.net] >>376 難しいんじゃなくて慣れだからだよ。 自転車と一緒。
382 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 02:15:41.04 ID:JZAyWxcq.net] gitに慣れてるってだけで、「git使えないやつはバカ」ってなってしまうってことか? だとしたら、勘違いって怖いな
383 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 02:57:58.30 ID:8OQq3apA.net] 慣れるだけでいいのに、それをやらないから 馬鹿なんだよ。
384 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 09:59:06.82 ID:O/Hk2+s1.net] 無理になれる必要なし
385 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 10:30:34.62 ID:aqs5IwHg.net] こうしたらこうなる、〜したいときはこうする、ってのをイメージしやすくするってのが無いと なかなか理解に至らないね
386 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 21:56:29.24 ID:49b6mSTt.net] Gitの前はSVNを使っていたし どっちもGUIから操作していたからか理解は早かった
387 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 02:36:46.48 ID:jAvlL/Ie.net] 理解してると思ったのは早かった の間違えかな。
388 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 02:47:12.60 ID:M8LrA/ZF.net] どこまで理解しているかが問題なんだけどね。 gitを理解するっていうことは、 コミットログを思うとおりに修正できるということ。
389 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 10:58:49.04 ID:II8rx/Qj.net] >>384 そんなオレオレ定義書かれてもなぁ
390 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:08:24.15 ID:ctlCJDEk.net] でも間違ってないよ
391 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:49:51.00 ID:II8rx/Qj.net] 間違ってるとは書いてないが? 通りすがりの女の子見て、かわいいって言ってるのと同レベル 他の人にはあまり役に立たない情報
392 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:52:04.16 ID:ctlCJDEk.net] で、そのレスはなにかの役に立つの?
393 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 12:24:19.92 ID:II8rx/Qj.net] 君が少し抜けてることを示すことが示せただろ w それを役立たせられるかどうかは君次第
394 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 13:50:54.04 ID:qde5blL8.net] gitを理解すると、>>383 とか>>384 みたいになってしまうのだろうか・・・
395 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 16:05:05.62 ID:ctlCJDEk.net] 他人に文句ばかり言ってないで、自分の意見を言えよ。
396 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 16:46:24.47 ID:i5GOg3P9.net] ID:ctlCJDEk の意見 ⇒ でも間違ってないよ 頓珍漢すぎだろ w
397 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 17:06:15.08 ID:LywkhDvi.net] cvsとの対応表を作ってそれを壁に貼ってる。 gitは簡単に使うには機能が分割され過ぎてる。
398 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 17:17:46.21 ID:Iqww/TfG.net] コミットとプッシュが分かれてることを言ってるのなら それが必要ないならCVSのままでいいってこと 無理してgitに移ることはない
399 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 17:28:27.94 ID:ctlCJDEk.net] なぜgitが生まれたのか? それは以前のものに何かが足りなくて その足りないものが必要だったから。 つまりgitにしかないものを使いこなすことが gitを使いこなすことであり、 対応表で対応付けられないものこそ gitを使いこなしているといえる機能なんだよ
400 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 17:43:32.97 ID:c5uD7uUc.net] なぜgitが生まれたのか? BitKeeperがライセンス絡みでLinuxの開発に使えなくなったので 代わりになるものを仕方なく開発したのです
401 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 18:01:40.24 ID:ctlCJDEk.net] そして、BitKeeperの代わりに既存のものを使わなかったのは、 既存のものに足りない機能があったから。 だから新しく開発し、足りない機能を搭載した。 つまりgitにしかないものを使いこなすことが gitを使いこなすことであり、 対応表で対応付けられないものこそ gitを使いこなしているといえる機能なんだよ
402 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 18:27:49.31 ID:2otn6PY7.net] 脳内設定はチラシの裏に書けってママにおそわらなかったんでちゅか?
403 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 18:31:53.76 ID:ctlCJDEk.net] 期待したけど反論じゃなかった。つまらん。
404 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 18:50:33.64 ID:2otn6PY7.net] はいこのバカ議論厨と自白しました 終了
405 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 19:03:55.00 ID:ctlCJDEk.net] > バカ議論厨と自白 論理的に考えるとそうなるの? 負け犬の遠吠えに見える。
406 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 19:06:14.56 ID:ctlCJDEk.net] あ、わかった。 これほっといてあげたほうが良い事例だ。 荒らしにレスするのも荒らしらしいね。
407 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 20:05:39.36 ID:qde5blL8.net] git使いがgitになる良い事例だな・・・ ttps://kotobank.jp/ejword/git
408 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 20:28:47.97 ID:vpS3Kk/9.net] github落ちた?
409 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 20:38:29.67 ID:ctlCJDEk.net] >>403 こっちのほうがわかりやすい ja.wikipedia.org/wiki/Git#.E5.90.8D.E5.89.8D.E3.81.AE.E7.94.B1.E6.9D.A5 名前の由来[編集] リーナス・トーバルズによれば[26]、 “ 僕は自己中心的な奴だから、自分のプロジェクトには自分にちなんだ名前を付けるようにしているんだ。最初はLinuxで、今度はgitだ。 ” 英語のスラングとして、gitには「バカ」「間抜け」といった類の意味がある。この自虐ネタはもちろん皮肉で、 これはリーナスがLinuxの名前を決める際に自身の名前にちなんだ名前を付けるよう強要されたことから来ている。(Linux#名前の由来を参照)
410 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 21:17:00.33 ID:qde5blL8.net] >>405 わざわざ自己紹介しなくても・・・w
411 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 00:34:12.47 ID:bUwhy5PJ.net] >>405 は、自分が間抜けだって思われてることに気が付いてない正真正銘の間抜けらしいな >>389 の洞察力はかなりのもんだ
412 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 00:47:11.22 ID:Z2wm6bTM.net] gitなんてもはや使って当たり前のツール 熱く語るようなものじゃない いまどきgit使わないのは「メモ帳でもプログラム書けますよ」と同じようなレベル
413 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 03:51:35.72 ID:NXZBxN2S.net] >>405-406 それで自分の意見は? 他人にあーだこーだいってるんだから 俺ならこうだっていう意見ぐらいあるよな?
414 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 03:52:09.72 ID:NXZBxN2S.net] >>405-406 じゃなくて >>406-407
415 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 07:44:40.13 ID:boZKLFPs.net] >>409-410 >>392 もう少しまともな意見が言えるようになったらまたおいで
416 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 08:48:51.64 ID:NXZBxN2S.net] あー、反論できないからってw 図星なんだな
417 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 09:28:18.61 ID:SJ9cQ9MA.net] 中学校までしか見ないセリフで笑い取りに来るのやめろ 変なダメージ入るわ
418 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 10:32:48.57 ID:3s/cPLTB.net] 会社で使う分にはcvsで十分なんだよな 個人同士で開発するときにはgit超便利だけど
419 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 18:23:51.20 ID:/fyjA82q.net] 事務や立法には今ならgitが必須であるはずだが現実には全く使われないな。 俺は、総務にバージョン管理を、役員にMSプロジェクトを、それなりに真剣に薦めた事があったが、何も実行されなかった。
420 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 21:06:06.49 ID:K4zbhPtL.net] >>412 どのレスに反論しろって言ってるんだ?
421 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:49:15.84 ID:NXZBxN2S.net] >>416 レスするなら反論しろってこと >>406 、>>407 、>>411 、あたりだね。 レスしてるってことは、何か言いたいことがあるってこと。 でも、その言いたいことが何も書いてない。 「どのレスに対する反論しろ」っていう話じゃなくて レスするなら、自分の意見を書きなさいってこと。
422 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:50:08.72 ID:NXZBxN2S.net] もちろん反論じゃなくて 賛成でもいいよ。 どちらにしろ、自分の意見が書いていないレスは ゴミ同然だろう?
423 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:00:17.12 ID:ZHeXF73S.net] 戦犯>>416
424 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:05:38.96 ID:SsabnSp5.net] >>417 言いたいことは、「お前はマヌケだな」ってことじゃないのか?w
425 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:24:24.90 ID:k44MRK8x.net] その理由が書いてないから、説得力ないですよね? そういう話をしているの。
426 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:36:25.10 ID:SsabnSp5.net] >>407 に書いてあるように見えるがw
427 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:54:02.88 ID:k44MRK8x.net] >>407 のどこに書いてあるか、その文章を カッコつきで引用してみて。
428 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:56:53.00 ID:P0RHYnr3.net] で、このガキのケンカをいつまで見せられるの?
429 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:02:15.84 ID:SsabnSp5.net] ID:k44MRK8xがgitを使うのをやめるまで
430 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:04:13.32 ID:k44MRK8x.net] はぁw やっぱりいちゃもんだけつけて 何も言い返してこないのね。 最近こんな奴が多いね。 ま、言い返してこないなら、 願ったり叶ったりだけど。 じゃ、次。
431 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:04:34.82 ID:ZHeXF73S.net] ここは荒れるたびに荒れ方が幼稚になっていくなあ
432 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:10:04.42 ID:k44MRK8x.net] 幼稚な奴がいるんでしょ? 幼稚じゃなければちゃんと会話のキャッチボールができるはず。
433 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:11:40.05 ID:dtfwKzs4.net] すんません、思いっきり初歩的な質問です。これってソースコード管理となってるけど、例えば excelのブックやあるいはVBなどのプロジェクトをフォルダ単位で…とかって出来るんですか? ソースコード管理というとなんかテキストで保存みたいに聞えるんですが バージョン管理触ったことがないんで、ちょっとお聞きしたいです
434 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:24:17.86 ID:k44MRK8x.net] gitで管理するには、バージョンとバージョンの差を 取り出す方法(つまりdiff)ができないとだめ。 excelはそれが出来ないので無理。(正確に言うと意味が無い) VBは一部にバイナリデータがあったと思うが、大部分はテキストなので可能。 (バイナリデータは保存することしかできないが) 勘違いしてはいけないのは、バージョン管理ツールは バージョンを管理するものであって、 バックアップをするためのものじゃないってこと。 バージョンを管理するというのは、バージョンとバージョンの機能の差を抜き出したり、 その抜き出したものを開発中の別のバージョンに適用したりそういったことをする。 特殊な形式のバイナリが標準化されれば、バージョン管理できるかもしれないが 現時点ではテキストファイルしかバージョン管理できない。 excelなんかはバージョン管理(差分を抜き出すなど)する意味が無いので 別のバックアップツールを使った方がいい。
435 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:27:36.31 ID:dtfwKzs4.net] 了解です。深夜にありがとうございますです
436 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 02:06:08.07 ID:ZHeXF73S.net] フォルダごとできるけど差分で管理されないので1MBのファイルを100回コミットしたら100MB消費みたいになる それでも使うのは構成管理用か管理上ソースと不可分であるときくらい 事務用でも月次年次確定データや契約書決裁書等重要書類が紛失変更されないようロックするには都合がいい バックアップファイルの管理とバックアップツールの保守が不要になる タイムマシンしたいなら無駄無駄無駄普通にバックアップソフト使え
437 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 07:14:07.27 ID:IAWQ0LFr.net] >>430 > バージョンを管理するというのは、バージョンとバージョンの機能の差を抜き出したり、 > その抜き出したものを開発中の別のバージョンに適用したりそういったことをする。 幼稚なオレオレ定義乙 >>429 単純に最新版管理したいとか、たまに過去バージョンを取り出したりしたいだけなら Subversion の方がいい Excel ってことはたぶん Windows だろうから TortoiseSVN インストールすればほぼ GUI で使えるし 詳しく知りたいなら続きはこちらで Subversion r15 peace.2ch.net/test/read.cgi/tech/1406967657/
438 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 09:22:21.26 ID:samEA3DJ.net] そういう用途ならTIME MACHINEとかWindowsバックアップでいいべ
439 名前:デフォルトの名無しさん [2015/05/08(金) 09:51:36.80 ID:5NA7Syvjy] >>431 > excelなんかはバージョン管理(差分を抜き出すなど)する意味が無いので セル書換えとかカラム追加とか差分を抜き出したいことは普通にあると思うが。
440 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 09:44:23.49 ID:SsabnSp5.net] >>428 >幼稚な奴がいるんでしょ? それがお前だな
441 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 11:34:00.00 ID:Yhmm5THU.net] >>434 TIME MACHINE はよく知らんからわからんけど Windows バックアップとかとは別物 一時間の間に 10回変更したら 10回バックアップとる訳じゃないでしょ
442 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 11:41:31.10 ID:samEA3DJ.net] svnだって自分でコミットしなけりゃ取れないじゃんか バックアップだって自分でトリガひける
443 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 12:19:48.40 ID:Yhmm5THU.net] そうだね、頑張ればなんでもできるよ w
444 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 12:55:19.05 ID:SsabnSp5.net] どっちもどっちという結論
445 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 19:41:28.50 ID:dtfwKzs4.net] >>433 426です。Subversionってのを調べてみます。情報多謝m(_ _)m
446 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 20:05:19.99 ID:9kJl+Khz.net] バグを埋め込んでしまった場合、コミットをまとめるとリーディング量が増えるからまとめないほうがよいという結論に達した こまかくpushするほうがよい たとえば足し算の結果を表す機能と引き算の結果を表す機能を作るとしたら2つのコミットを作れば良い この2つを1つのログにまとめるべきではないのだ 何でもかんでも1つにまとめるのがかっこいいという間違った思想を持った人間がいるので困った。
447 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 20:18:03.21 ID:ZHeXF73S.net] 当たり前すぎる よくそれでコード書いてるな 目的ごとにブランチ切ってコミットあたり1ハンクだけで済むようにするのがベストプラクティスだ
448 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 00:45:24.25 ID:oI9IuS7a.net] >.438 > バグを埋め込んでしまった場合、コミットをまとめるとリーディング量が増えるからまとめないほうがよいという結論に達した 具体例かける? 書けるはずだよね。書いて。
449 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 00:56:47.31 ID:bOQm//LK.net] ここの幼稚な人は、ど〜してもケンカがしたくてたまらない
450 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 00:58:05.96 ID:oI9IuS7a.net] なんだ。またいつものアイツかw
451 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 13:31:25.76 ID:MqwqSntJ.net] git で3件昔の履歴の内容を確認したいのでgit reset HEAD^^^しました 戻る時ってgit reflogで最新の履歴を確認してgit reset HEAD@{n}しました こういうやり方であってますか?
452 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 13:38:29.58 ID:P/ABm+5N.net] まちがってます
453 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 13:38:44.30 ID:8PoBBRDQ.net] checkoutでおk
454 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 13:41:01.09 ID:oI9IuS7a.net] >>447 tigコマンドを使う。
455 名前:443 mailto:sage [2015/05/09(土) 19:11:08.54 ID:hILIDw1n.net] checkout使うことにします tigも調べてみます
456 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 16:17:37.50 ID:pNASC22d.net] すいませんgit checkout HEAD^^で過去に戻ってファイルを作成したり編集したんですが 元のブランチに戻りたいのですがこのままだとできません git reset --hard HEADとかgit checkout .とかして更新をなかったことにできません。 元のブランチに戻るためには更新されてない状態に戻す必要があると思うんですがどうやるのですか?
457 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 16:23:44.14 ID:KgdwQEvt.net] 本当に修正をなくして良いなら、git reset --hard 元のブランチ名 今度からは、修正したいときは新しくブランチを作ってからやるんだよ git checkout -b edit_branch head^^ で、修正するも捨てるも良し
458 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 08:09:17.45 ID:aOO0/Ibj.net] 今度からって今からでもできるし。
459 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 08:11:21.04 ID:aOO0/Ibj.net] got checkout ブランチ名 で普通に行けるべ。
460 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 08:43:10.59 ID:U5lm4ek9.net] 行けるかどうかは修正内容によらないか?
461 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 12:28:03.63 ID:dw1HaLxu.net] .gitignoreの内容 * !*.txt !data/ data/.* !data/*.txt mkdir data touch data/a.txt touch data/.b.txt git init git add . これでdata/.b.txtもインデックスに追加されてしまいます .gitignoreでどういうふうに指定したら.から始まるファイルを除外できますか?
462 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 12:59:28.26 ID:7ksZOIpV.net] data/.b.txtが除外されないのは最後の!data/*.txtで解除されてるせいじゃね? data/*.txtにdata/.b.txtがマッチするのはちょっと妙に感じるかもしれないけど data下の.ではじまるファイルを全部除外したいなら、 ルールの!data/*.txtとdata/.*の順番を入れ替えればいいのかな
463 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 11:59:16.15 ID:XocOnm+L.net] リクエストがマージされたら即ブランチを削除していたのですが、それでは、リクエストに対してされたコメントやレビューが見れなくなってしまいます。 ブランチを削除してもレビューやコメントを残す方法は何かないでしょうか?
464 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 20:00:20.09 ID:p2cJvo/x.net] それGitの話なのか?
465 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 01:25:17.31 ID:+UC07Y5W.net] >>459 githubは知らないけど、gitlab(最新版)なら ちゃんと残る。 正確にはコメントやレビューはマージリクエスト(githubのプルリク相当)に書かないとダメ。 ブランチ(コミット)に対してのコメントであれば見れなくなる。(今は残ってる気もするけど)
466 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 17:17:39.54 ID:AD3UxZEY.net] >>461 ありがとうございます。Gitlabを使ってるのでバージョン上げてみます。オフィシャルブログの更新内容をみてもそれらしき更新がなくダメだと思ってました。
467 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:14:20.75 ID:waTp+O7j.net] >>462 gitlabの話でよかったんだなw 自分もコメント消えるのが問題だったが、最近消えなくなったなーって 思うだけでどうなっているのかよくわからないから、ついでに動作を少し検証してみた。 * マージリクエスト(以降MRと書く)にコメント(1)を付ける。 * MRのDiscussionにコメント(1)が表示される。 * MRのChangesからコメント(2)を付ける * MRのDiscussionにコメント(2)が表示される。 * MRのCommitsからたどったコミット番号(A)のソースコードにコメント(3)をする * 同コミットの下からコメント(4)をする。 * MRのDiscussionにコメント(3)(4)が表示される。 * Discussionから(2)(3)(4)にReplyする。 * Discussion と共に、コメントを書いた元の場所にもReplyが表示されている。 ここまでは消したりしてないので、ごく普通にコメントが表示されている。 当たり前ではあるんだけど変更した行以外にはコメントつけられないな。 たまに周りにも修正すべき所があってコメントしたくなるんだけど。
468 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:15:03.07 ID:waTp+O7j.net] でこのマージリクエストをrebaseしてgit push --forceしてみた。 つまり、コミット番号(A)がMRから消えてなくなる。 * MRに書いたコメント(1)は当然残っている。 * Changesに書いたコメント(2)はMRに残っているが、outdated diffということで 折りたたまれているので注意。Showをクリックすれば見れる。 * 消えたコミット番号(A)に書いたコメント(3)(4)は、MRからは消えている。 ただしコミットを表示すれば見ることはできる。 MR作成後にpushしたコミットなら自動的に、MRに記録されるようになっているが 最初にpushしたコミットは残らない。(Dashboardあたりで確認可能) ではAccept Merge Requestしてブランチ削除してみる。 (当たり前だがマージしたMRを見ることは可能) この状態はgit push --forceしたのと同じ状態。 特にコメントすることもないかな。 結論としてはMRにコメントを残したいならば、 MRかもしくはそのChangesに書く。(たぶん昔からこの挙動) MRに含まれるコミットにコメントした場合、 そのコミットが消えると行方不明になることがある。 行方不明になるだけで残ってはいるので、コミットに 辿り着くことができれば見ることは可能。 なので、コミットにコメントしてしまった時は MRからたどり着けるようにリンクを張っておけば良い。
469 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 23:20:45.79 ID:waTp+O7j.net] 結局のところコメントが残るかどうかの挙動自体は、 昔から変わってないと思うんだけど、それはそれとして MR自体が見やすくなっているので、バージョンをあげるのはありだと思う。 例えばgit push --forceした時とかにpushしたコミット番号が MRに記録されるようになったのは最近の機能。 できれば最初のコミット番号もMRに記録されて欲しいんだが。 Dashboardとかから調べられるけどさ。 gitlabは昔(と言っても一年前程度)はいかにもgithubの クローンってUIだったけど、UIが変わってgithubとは別の 同種のソフトって感じで良くなったと思うよ。 機能的にもgithubに全然劣ってないしね。 もちろんオープンソースでコミュニティ重視ならgithubになるんだけど、 クローズドならgitlabで十二分に使えると思う。
470 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:28:04.61 ID:ImkX2Hg5.net] ↑新しい 1 2 3 4 ↓古い 1のコミットを3のコミットに含める事について。 これってコンフリクトを起こす可能性があるのであんまりやらないほうがいいと思うんです。 合体させるならコミットを飛ばさなず1,2,3を合体したほうがいい気がするんです。 ここの先輩方はよくやりますか?
471 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 02:18:29.93 ID:/pjdhzEd.net] 好きにしろよ。 お前には無理なら止めといた方がいいが。
472 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:12:32.67 ID:ezOKhhiH.net] >>466 「あまりやらないほうがいいと思う」のは前提として 「コンフリクトを起こす可能性がある」からだよね? まず一つ。コンフリクトは起きても問題ない。直せばいいだけ もう一つ。コミットが小さく分かれていれば、コンフリクトが起きる可能性は少なくなる。 この2点がある。 どうもコンフリクトを怖いもの。起きたら世界の破滅みたいに思っている人がいるみたいだけど ぜんぜん違う。起きるのは当たり前のことだし、他人が作ったものならまだしも 自分が作っているものなら、どうすればいいかなんてすぐにわかる。 そしてコンフリクトが起きるのはなぜかという話。それはコードが単一責任原則を 満たしていないから簡単にいえば、修正すべきコードがあちこちに分散しており ようするにコードが汚いから。 コンフリクトは起きたら直せばいいだけだが、 面倒くさいから、起きないほうが楽というのは確か 各コミット(そこでいう1, 2, 3, 4)がそれぞれ小さい修正になっており、 それぞれがちゃんと意味がある単位で分かれていれば、そうそうコンフリクトは起きない。
473 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:28:44.00 ID:ezOKhhiH.net] >>466 の1のコミットを3のコミットに含めるか? という質問の答は、含めるべきことであれば含める。 そうしないと逆にコンフリクトが多くなるから。 何故かと言うと、1と3をまとめたい=意味がある単位で考えてまとめるべきこと。 単一責任の原則を満たしており、意味がある単位で小さいコミットというものは、 多くの場合同じ箇所の修正になる。「1と3は同じ箇所の修正」っていうことを覚えておいてね。 そして例えば新しくコードを書いている途中で、既存のバグが見つかったとする。 新しいコードはバグを直さなければ正しく動かない。 だから先にバグを修正するために、5というコミットが必要になったとする。 (どうでもいいが1〜4数値は新しい方を大きくしてくれw) そうすると5のコミットの続きからに、1〜4をrebaseしなければならない。 その時に3でコンフリクトが発生すると3を直したあと1でもコンフリクトが起きるだろう。 なぜなら、同じ箇所を修正しているから。 さらにむずかしいのは、最終的には1が終わった形にしないといけないわけだけど 3のコンフリクトをどう解決するか?って問題がある。 3の時点で1が終わった形にするわけには行かないんだよ。 3で発生したコンフリクトを直したあとに、1の修正を行うわけだから。 どう直せばいいかわからないものが多数発生する。 これがコンフリクト怖い病になる原因だねw だからコンフリクトが起きる頻度を少なくするためにも、 1. 各コミットは小さい修正にしておく 2. 意味的にまとめるべきコミットはまとめておく これを徹底することで、最終的にコンフリクトが起きにくくなる。
474 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 09:10:31.18 ID:ezOKhhiH.net] 時間がかかる暗号化キーの生成待ちで暇だから書き込みw コンフリクトっていうのは同じ場所の修正がかぶると 発生するっていうのを意識しておいた方がいい。 あたりまえだと思うけど、じゃあどうすればいいかまで考えているだろうか? 他人とのコンフリクトは、単純に同じ箇所を修正したときだが、 自分自身とのコンフリクト、rebaseでよく起きるね。(下手だと) こっちもコンフリクトが起きる原因は同じ箇所の修正だからなんだ。 もし同じ箇所の修正がなければ、rebaseしてコミットの順番を 入れ替えたりしてもコンフリクトは発生しない。 じゃあ同じ箇所の修正はいつ発生するか? それはこういうの * Aという修正をコミットした * Bという修正をした * Aという修正にバグが見つかったので修正した * Aに機能が足りなかったから追加した * Aの変数名でタイポしていた こういうのを放置したまま、作業し続けていざmasterにマージする段階で コンフリクトが起きてrebaseしなきゃならないってなった場合に 多くのコンフリクトが発生して、大変なことになる。 こういうのは随時rebaseしておくことが重要。 バグとかタイポとかさっさとまとめておく。 * Aとい修正をコミットした * Bという修正をコミットした こういうふうコミットを意味がある単位で小さくまとめておけば、 コンフリクトの回数は減るし、直すのも単純になる。
475 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 08:43:08.91 ID:ETXaESJa.net] >>466 自分なら、普通は避けるな。 でも理由は、ソースの修正箇所がコンフリクトするからじゃないよ。 1->2->3の順にコミットして、1と3をまとめたら、2->1+3になるわけだよね? このとき、2が1無しでも正しく動作するか分からないからね。 もし、2と1+3を別々のコミットとして履歴に残すなら、どっちのコミットでも 正しく動作することを担保したい。 でも、コミットをまとめるためだけに、(自動テスト環境があったとしても) 2だけのテストをまたやり直すのを避けたい。 だけどそれも、プロジェクトごとのgitの運用ルールによるかもしれない。 コンパイルエラーになるコミットがリモートリポジトリにあるのは構わないとか、 過去のコミットが動かなくなるのは構わないとかのルールになってるなら、 好きなようにまとめるかもしれない。
476 名前:デフォルトの名無しさん [2015/05/19(火) 10:17:56.67 ID:S02ugk9h.net] すいませんこの流れに出ているコミットのやり方ってどうやるんですか?
477 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 11:07:38.39 ID:0hZF5IeJ.net] >>471 > このとき、2が1無しでも正しく動作するか分からないからね。 1+3のテストだけやればよくね? 2がテストに通らなくても、 自動テストがあるならすぐにわかるし、最悪テストに通らないときだけやらなければいい。 もし自動テストがなければ、2がテストに通らなくても 「調べようがないので、通らないことがわからない=通っているのと一緒。」 ←重要 それにさ、コミットが多かったら、正しく動くことを担保するのは大変だよ。 * Aが正しく動くことを確認 * Bが正しく動くことを確認 * Cが正しく動くことを確認 * Dが正しく動くことを確認 というつもりだったが、たいていバグはあとから見つかるんで、 あとからAが正しく動いていなかった!と判明したらどうする? * Aが正しく動かない * Bが正しく動かない * Cが正しく動かない * Dが正しく動かない * Eで修正 君は、どのコミットでも、正しく動くことを担保したいといったが A〜Dは全部正しく動かないことが担保されたわけだw EをAに混ぜ込めば直すことができるが、それをしないならば、A〜Dのコミットは正しく動かないままだよ。 A〜Dは正しく動かないが、でもその時はテストコードがなかったから分からないわけだよね。 それって、つまり「重要」って書いた所と同じ状態なんだが。 過去のコミットが動かないのは構わないというルールなら、そのまま放置でいいかもしれんが(笑)
478 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:47:36.82 ID:0hZF5IeJ.net] >>472 コミットのやり方? 普通にgit addでコミット対象を選んで git commitでコミットするだけだけど? コミットの順番を入れ替える話? それならgit rebase -iだよ。
479 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 14:21:12.63 ID:oDPa6Z2V.net] >>473 バグの話じゃないでしょ
480 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 17:37:58.03 ID:0hZF5IeJ.net] >>475 バグの話ではこうなるよね? つまりこれは「正しく動かないがテストコードがないから自動テストには通る」 という状態をどう考えてるかって話なんだよ。 俺はそれは自動テストに通るってことでいいじゃないかって言っている。 これがいやなら、前のコミットに混ぜて修正するしか無いわけだよ。 で、俺は 前のコミットに混ぜても自動テストに通るなら それでいいじゃないかとも言ってる。 ちなみに俺は特に大きな理由がない限り、テストケースも含めて 前のコミットに混ぜて、全てのコミットを正しく動くようにしている。 皮肉なことに>>471 が言ってる > どっちのコミットでも正しく動作することを担保したい。 を実践出来てるのはこのやり方なんだ。
481 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 17:38:54.11 ID:0hZF5IeJ.net] ×テストケースも含めて ○(自動)テストコードも含めて
482 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:49:21.81 ID:ez1Du3hq.net] 言ってるところのポイントは、1無しで2だけになったコミットが、 コンパイルと自動テストに通るかどうか、わざわざ確認するか? ってことだな。 確認するなら、影響する各コミットでわざわざそれを確認するのは 面倒くさい、というデメリットが発生する。 確認しないなら、古いコミットは(コミットした当時は通ってたであろう) コンパイルと自動テストはもう通らないかもしれない、というデメリットが 発生する。 そのデメリットを避けるために、「間をとばしたコミットまとめはしない」 のが>>471 だね。 >>476 が結局どうしたいのかについては知らない。
483 名前:デフォルトの名無しさん [2015/05/19(火) 23:00:23.53 ID:aRRI5SvP.net] >>373 git init touch a; git add a; git commit -m "add a" touch b; git add b; git commit -m "add b" touch c; git add c; git commit -m "add c" "add c"のログを"add a"に加えたいんですがgit rebase -iでどうやるんでしょうか? pick 07d5e6a a pick f550031 b pick 5d295c0 c このpickをどう書き換えたらbを飛ばしてaにまとめられるのかわかりません pick 07d5e6a a pick f550031 b fixup 5d295c0 c これだとbにまとまってしまいました どうやるのか教えてください
484 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:37:31.29 ID:NtQ54Cc0.net] 過去から現在までの全コミット情報がローカルに蓄えられるの? そんな全部なんていらんし、途中からでいいんだけど どうしたらいいの?
485 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 01:04:01.37 ID:jSvt41UG.net] >>479 pick 07d5e6a a fixup 5d295c0 c pick f550031 b エディタで順番を入れ替える。
486 名前:デフォルトの名無しさん [2015/05/20(水) 01:50:27.49 ID:TO++lAfh.net] >>481 できました これは便利ですね これでログを今よりも綺麗に出来ました
487 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 09:25:54.36 ID:v+0+7waM.net] >>480 >>143
488 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 12:05:48.01 ID:qzEPJuIN.net] >>478 あー、なんかわかってきた。なんでコンパイルも自動テストの実行も何も考えずに出来る作業なのにそれが面倒なんだ? たかだか数回だろう?と思ったが、なるほど、あんたブランチに含まれるコミット数が多いんだわ。 コミットが何十個にもなってるでしょ?それはコミットをまとめないからだよ。 それから一度に変更(マージ)する内容が多すぎだろうね。 これはもう仕事のやりかた、作業の進め方のレベルの話だね。 まともなレビューが行われているかどうか不安になるな。 まず自動テストをしているならば、その内容をテストしたのは明らかなわけで、 何をレビューするかというと書いてあるテストとコードが正しいか漏れがないかだよ。 人力テストをしてもらうんわけじゃない。 つまりコード見て理解できる程度の量でないといけない。それも短い時間でね。 修正内容がバラバラで、順番も修正箇所もごちゃまぜな大量のコミットを一個ずつ見るのは不可能だし 全部まとめて見ると一度に大量のコードを見ないといけなくなるから大変。 レビューアに負担をかけるようなコードはだめだよ。 あと一連の機能を全部まとめてレビューしてもらってるでしょ? 細かい機能毎にわけないとだめだよ。リファクタリングならリファクタリングだけでマージ モジュールの追加なら(テストコードも含めて)モジュールだけのマージ それらをいっぺんにレビューするよりも、分けたほうがレビューアの負担は減るのはわかるよね? 君はいっぺんに全部やろうとするから、コミットまとめたり入れ替えた時の時の再テストが 大変とかいう話になってるが、俺の場合は、細かく分けてマージ可能な最小単位に分割するから、 一つの作業ブランチに含まれるコミットは数個しかない。 君、悪循環に陥ってるよ。コミットをまとめないから、マージできる単位に分割できない。 分割できないから一つのブランチの内容が多くのコミットになる。コミットが多いから並び替えたら コンパイル・テストが通るか不安になる。面倒くさい。だからコミットをまとめないって。
489 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 12:10:17.30 ID:qzEPJuIN.net] 長々と書いてしまったが、疑問点としてまとめるわ。 一連の機能を作っている時にリファクタリングやモジュールの追加は 絶対に発生する。ミスも発生する。 一連の機能をいっぺんに全部レビューするのはすごく大変だから 小さく分けた方がいい。 ならば一連の機能をリファクタリングだけのブランチ 機能追加だけのブランチ等にわけて、出来た所からマージした方がいいが、 コミットを入れ替えたりまとめたりしないで、どうやってそれを実現するの?
490 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 16:22:35.29 ID:NtQ54Cc0.net] ちょっと書いてテスト、コミット を繰り返すならコミット量は自然に増えるよね
491 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 16:38:52.05 ID:qzEPJuIN.net] >>486 こんな感じにすればいいよ。別にコミットは実際の作業順に合わせる要はない。 * ちょっと書く * テスト * ちょっと書く * テスト ↓ 並び替え(これが失敗することはまずない) * ちょっと書く * ちょっと書く * テスト * テスト ↓ まとめる(これが失敗することもまずない) * ちょっと書く * テスト この作業を随時やっていく。 ・・・つづく
492 名前:483のつづき mailto:sage [2015/05/20(水) 16:47:02.59 ID:qzEPJuIN.net] ところで「ちょっと書く」と「テスト」を一つにするか? それは内容によって変わる。 コミットを(まとめるべき内容なら)まとめながら作業するのは一緒だが リファクタリングの時は「ちょっと書く」と「テスト」はまとめない。 * テスト * ちょっと書く(リファクタリング) 最終的にこうなる。なぜならリファクタリングしても動作は変わらないはずなので、 コードを書いた前と後で全く同じテストが通るから。 それを確認するためにも、リファクタリング前に(テストが不足している場合は) テストを書いておき、そしてリファクタリングを行う。 またコミットを入れ替えることを前提にすると「後からテスト駆動」が実現できる。 理想としてはテストを先にやるのがテスト駆動なのだが、現実には後からミスが見つかったりして コードを書いてからテストを追加することが多い。 実際の作業ではコードを書いてからテストを書いたとしても、そしてそれらが コード書いてテスト、コード書いてテストって繰り返していたとしても、 テストだけまとめて1つ目のコミット。リファクタリングして2つ目のコミットの形にできる。 これでレビューする人は、問題なくリファクタリングできたことを確認できるわけ。 もちろん仕様変更や機能追加などであれば、テストコードと修正を 分ける意味が無いし、一つにするべきなのでまとめる。
493 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 16:59:43.68 ID:NtQ54Cc0.net] >>487 ローカルでのコミットはどんどん細かく、プッシュの粒度はテスト通ってから という方針でやってたんだけど、gitはそういうのに向かないんですね
494 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:01:43.80 ID:NtQ54Cc0.net] そうかこれがあれか、使い捨てブランチ使えってみんな言ってたやつか じゃあ俺のgitの使い方は間違っているのか
495 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:03:34.98 ID:NtQ54Cc0.net] そうすると、メインのコミットは綺麗な間隔で最小限に抑えられて かつ テスト用ブランチでどんどこ適当なコードを書きなぐれるのか? みんなそこまでやってたの? すげーな
496 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:07:28.79 ID:qzEPJuIN.net] >>489 なんで? 意味がある単位で小さくすればいいよ。 でも意味がないのに分割する必要はない。 (ローカルでの作業中に) 例えば、関数名これでいいかな・・・コミット やっぱり、関数名こっちにしよう・・・コミット いやいや、やっぱり戻そう・・・コミット ってタイポしてたよ修正・・・コミット これってコミットを細かく分けたかったわけじゃない。 作業上の都合でコミットがわかれてしまっただけ。 こういう意味が無いコミットはまとめるべき。もちろん 別々の修正であれば、どんどん細かく分けた方がいい。 細かく分けておくと並び替えや分離がしやすくなるよ。 修正しているうちにコミットがたくさんになって、これ一度に レビューするの無理だろと思ったら、抜き出して別のブランチにするとかね。 でももし意味が無いコミットに分かれていたら、逆に抜き出すの難しくなるからね。 重要なのは、意味がある単位で小さいコミットに分けておくこと。分ける意味が無いものはまとめること。 これがコミットをうまく管理するコツだよ。
497 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:15:41.65 ID:qzEPJuIN.net] >>491 > みんなそこまでやってたの? すげーな git歴は2年ぐらいかな? 最初は当然できなかったよw ただレビュー可能なコードの重要性はわかっていたから、 subversion使っている時、こんな行き当たりばったりの修正履歴じゃ レビューできないだろっていう認識はあった。 (計画的にやれって思うかもしれないが、ミスや漏れどうしても発生する) gitを使ってからはどうすればレビューしやすくなるか?を 考えてコミットを作るようにしていたよ。 (ちなみにどちらかと言うと俺はレビュー依頼する側じゃなてレビューする方だけどね)
498 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 17:18:24.50 ID:zo5n24wv.net] >>466 そのケースで実際にコンフリクトが発生する場合は 2 の粒度がでかすぎるってのがよくあるパターンなので、 2 を分割して 4←3+2a+1←2b という形になるようにしている
499 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 21:06:38.40 ID:vVwXnjIW.net] >>484 >あー、なんかわかってきた。なんでコンパイルも自動テストの実行も何も考えずに出来る作業なのにそれが面倒なんだ? >たかだか数回だろう?と思ったが、なるほど、あんたブランチに含まれるコミット数が多いんだわ。 コンパイルと自動テストが数秒で終わるなら、この理論が成り立つな。 たぶん>>484 の場合は、例えば分野が小さなWebサイトの開発とかで、 そもそもの開発規模や自動テストの規模が少ないとか、昔のコミットや 昔の挙動を残しておいても問題調査の役に立つことが少ないとか、そういう 特徴があるんだろう。
500 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:00:00.11 ID:qzEPJuIN.net] > コンパイルと自動テストが数秒で終わるなら、この理論が成り立つな。 数秒で終わらないのが困るのなら、大量にあるコミットが ある状態で、rebaseとかどうするのさ? 数秒で終わらないなら、逆にコミット減らすべきだろ。 矛盾してるぞw あと中間ファイルが残ってるはずだから、 適切にソースコードが分割されて依存関係が少ないなら 一つ一つのコミットの修正が僅かなはずなので コンパイルにそんなに時間がかかるはずがない。
501 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:05:10.63 ID:qzEPJuIN.net] > 昔のコミットや昔の挙動を残しておいても > 問題調査の役に立つことが少ないとか これも逆に不要なコミットは消すべきだよね。 何か勘違いしてる(他の人にされそう)だから 念の為に言っておくけど、俺が言ってるのは、 本来一つであるべきコミットは一つにするって話で 何でもかんでもまとめろって話じゃない。 だから当然、昔のコミットは残ってる。 調査に使うよ。git bisectで二分探索で。 でだ、この時大量にコミットがあるとその分探索の回数増えるわけで、 コンパイルと自動テストが数秒で終わらないとしたら大変だよなぁ? 問題調査のためにも無駄なコミット減らしたほうがいいって結論になるぜ?
502 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:19:59.27 ID:MjY1jVeQ.net] >>486 >数秒で終わらないのが困るのなら、大量にあるコミットが >ある状態で、rebaseとかどうするのさ? だから、「間を飛ばしたコミットまとめをしない」って言ってるんじゃないのか? A→B→C→Dの順にコミットされてるなら、連続したBCやBCDをまとめるのは コンパイルや自動テストに問題ないから。
503 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:30:23.27 ID:qzEPJuIN.net] >>498 rebaseって二つの複数の意味があるから気をつけないといけないなw master(1) \A→B→C→D で開発をはじめてさ、他の人のマージが先に加わった時、 master(1) → master(2) \A→B→C→D master(2)からの開発にrebaseするという話。 master(1) → master(2) \A→B→C→D この時、A〜Dまですべてが書き換わるわけだから、 コンパイルと自動テストをするわけでしょ? 時間がかかるのならなおのこと、まとめておいたほうがいいでしょ。 master(1) → master(2) \AC→B→D もしかしてこのタイプのrebaseも禁止してるのかな? なんか下手なコミットのせいで、時間が掛かるから便利なものを 封印せざるを得ない状態を作っているようにしか見えない。
504 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:49:40.28 ID:MjY1jVeQ.net] その場合、[A→B→C→D]をまとめたものをmaster(3)にすればいいと思うのだが なんでfeatureブランチの各コミットを直接masterにつなごうとするのかがよく分からない このケースだと、AC、B、Dがそれぞれ別ブランチになってないのが問題なのでは?
505 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:50:55.88 ID:qzEPJuIN.net] もう一つ「もしかしてこのタイプのrebaseも禁止してるのかな?」 と思った理由もかいておく。 A, B, C, D が同じ箇所の修正(前のコミットのやり直し)をして 本来一つであるべきものが分かれていたとする。 そしてmaster(2)にrebaesしたときにAでコンフリクトが発生したとする master(1) → master(2) \A→B→C→D そうすると、B, C, D も同じ箇所の修正だから 必然的に、BでもCでもDでもコンフリクトが発生するわけよ。 わー、大変だ。コンフリクトだ。しかもこれさっき直したじゃないか? コンフリクトわけわからん。わー。ってなってるはず。 同じ箇所の修正を一つにまとめておけば、コンフリクトの修正も一回だけだよ。 関連あるコミットをまとめておかないから、コンフリクトが沢山発生する。 時間かかるし正しく修正できたわからんからrebaseしない方がいい!ってなってると思う。 コミットが沢山にわかれている → コンフリクトが沢山発生する → そうなるからrebase禁止 と 考えているのだろうが、本当の原因はコミットが沢山にわかれていて、それが意味もない順番でごちゃごちゃ並んでることだから。 関連あるコミットは随時まとめておく。順番も適切な順番になおしておく。そうしておけばコンフリクトの発生は少ない。 コミットの数も少なくなるし、だからrebaseしてもコンパイルにも自動テストに時間はかからなくなる。 コミットは意味がある形で最小限に抑えられているから、レビューも楽になる。 後から問題の調査をするときも、存在理由がわからない大量の謎コミットを見る必要もなくなる。 gitの機能を最大限使うことが出来るわけよ。 ってもう何回も言ってるねw 毎回長文でw
506 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:54:58.15 ID:qzEPJuIN.net] >>500 > その場合、[A→B→C→D]をまとめたものをmaster(3)にすればいいと思うのだが その場合ってどの場合? 一人で開発してるんじゃないんだよ。 自分が開発をし始めた時からコードは変わっているから これをmaster(3)になんか出来ない。 他人の仕事を消してしまうじゃないか。 他人の仕事と自分の仕事を合わせてないと行けないんだよ。 コンフリクトが起きようと起きまいとね。 コミットが沢山あればあるだけ、全てのコミットが 正しく動くか再テストをする必要がある。
507 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:58:20.56 ID:MjY1jVeQ.net] 何となくだが、 >master(1) → master(2) > \AC→B→D これを許してるってことは、rebase後にACとBのコンパイル確認と自動テストをチームの義務としてない、 最新のDが自動テストに通ればよい、と暗黙のうちに言っているような気がするのだが…。 これが許されるチームなら、各メンバーが自由にコミットをまとめても、たしかに問題ないな。
508 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:01:15.60 ID:qzEPJuIN.net] >>500 > このケースだと、AC、B、Dがそれぞれ別ブランチになってないのが問題なのでは? 別ブランチにできるかどうかは内容次第だね。 コミットとしては一つ一つ取り込めたとしても 機能としては一つ一つでは完成しないこともある。 で、俺は一連の作業中に、先にマージ可能なものができたら、 別ブランチに抜き取って先にマージした方がいいとも書いた。 そのためにも、コミットをそのまま放置するのではなく 関連があるものはまとめていくようにって言ってるんだよ。 関連あるコミットがバラバラだったら、別のブランチに抜き出すのは大変だからね。 それもあって、そのケースでAとCをまとめたんだよ。 つまり最初のAとCが関係ある内容ならまとめますか?の質問の 答えはまとめた方がいいってこと。 で、これやるとコンフリクトが〜とかいって、まとめない方がいい 並び替えないほうがいいって言ってる人がいるわけよ。
509 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:05:27.02 ID:qzEPJuIN.net] >>503 > これを許してるってことは、rebase後にACとBのコンパイル確認と自動テストをチームの義務としてない、 > 最新のDが自動テストに通ればよい、と暗黙のうちに言っているような気がするのだが…。 話がループしているがw rebase後にACとBのコンパイルと自動テストをスレばいいだけだろう? そんなのすぐに終わる。たった2回(ACとB)じゃないか? すぐに終わらないのは、コミットがたくさんあるからだよ。 そりゃコミットが10個も20個もあれば、10回20回もコンパイルと自動テストをしなきゃならんだろうさ。 コミットがたくさんあるために、rebaseを許さない状況になってしまっている。 rebaseってさ、gitの基本じゃん? チュートリアルの最初のほうで出てくる作業だよ。 許されるも何もこれは普通にやるべきことだよ。 ね? 下手なコミットのせいで普通にやることがやれない状況になってしまっている。 コミットがたくさんあるために、rebase(master(2)への付け替え)を 封印してしまってるでしょ?
510 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:19:51.82 ID:MjY1jVeQ.net] >>504 AとCをまとめますか?の回答には「そう思う」だが、 AとBとDをまとめて一つのブランチにして、その一本のブランチの上でAとBとDの開発作業をしますか?の回答には「そう思わない」だな。 AとBとDはブランチを分けるな。 もしブランチを分けとけば、レビュー前?Push前?にAのバグに気付いても、AとCのコミットは連続してるだろうからな。 逆に、レビュー後?Push後?に問題に気付いたなら、自分の負けを認めてバグ修正のコミットを残す。 一方、後になって「コミットが連続しない、AとBとDをブランチに分けておけば良かった〜」なんてなるようなら、自分の腕のなさを呪ってブランチを切りなおす???かな。
511 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:21:45.30 ID:MjY1jVeQ.net] >>505 >そんなのすぐに終わる。たった2回(ACとB)じゃないか? 「そんなのすぐに終わる」って前提があるから、話がかみ合わないんだと思うが…w
512 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:28:53.73 ID:qzEPJuIN.net] > AとBとDをまとめて一つのブランチにして、その一本のブランチの上でAとBとDの開発作業をしますか?の回答には「そう思わない」だな。 > AとBとDはブランチを分けるな。 分けたいなら後で分ければよくね? 作業用ブランチなんだからそれはどっちでもいい話だと思うが。 AとBとDがお互い前のコミットに依存している場合、 最初にブランチを分けておくと、ごちゃごちゃしてくると思うが。 Aを作ったはいいけれど本当にこれでいいかは、そのAを使う Bを作らないとはっきりしないことだってあるしさ。 残念ながら人間はミスを犯すんで、どうしても後からバグを発見する。 後から修正をするものだよ。 一つのブランチで作業しておいて、ある程度納得がいったら別ブランチに 抜き出せばいいと思うけど。コミットが整理されていれば簡単な作業だし。 それとレビューは間違いを見つけるものだから、修正が入るのはあたりまえだよ。 レビュー中はまだ作業中段階。作業中のごみコミットを残したままマージする必要はないよ。 一連のレビューが終わったら整理すればいいだけの話。整理し終わってそこで完成。
513 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:30:22.13 ID:qzEPJuIN.net] >>507 > 「そんなのすぐに終わる」って前提があるから、話がかみ合わないんだと思うが…w そんなのすぐに終わらないって前提がおかしいんだよ。 だって開発中に何度もコミットしてるじゃん? その段階でコンパイルと自動テストしてるじゃん? コミットがたくさんあるのなら、その分だけやってるわけじゃん 開発中にすぐに終わらない作業を何回もやってるのか? まずそれを解決した方がいいぞw
514 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:35:21.24 ID:qzEPJuIN.net] 補足すると、コンパイルがすぐに終わらないってのはおかしい。 なぜなら、コミットの前後で修正されるファイルは少しだから 該当ファイル以外のオブジェクトファイルはそのまま使えるわけで 差分のみのコンパイルしかしないはずだから。 そして自動テストは作業中は関連のあるところだけテストすれば良い。 で、最終段階(もう変更がないと思った時点)で全部やればいいんだよ。 最後にブランチ内の全コミットをテストするのか!という疑問に対しては だからぁ、コミット数が多いから大変なんじゃねぇかそれ。という話。 関連あるものはまとめろ。先にマージできるのは別ブランチに分けろ。 コミットは小さく分けろ。だが無駄なコミットはまとめろ。
515 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:39:45.06 ID:MjY1jVeQ.net] 例えばC言語だったらヘッダファイルを書き換えれば多くのソースファイルに影響するし、 自動テストのテストケースの中には「アプリケーションの再起動」が含まれていることもあるかもしれない。 例えばWebサイトの開発とかでは、そういうのほとんどないだろうし、ぶっちゃけ過去より今が大事なのかもしれない。 (過去の状態が「Webサイトの純然たる作りかけ」とかだったら、そのスナップショットを完全に残すことに価値はないだろうし) だから、全部のケースで使えるやり方ではないと思うが、否定する気はないよ。 その方が、短期的な効率は出るだろうしさ。
516 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 23:56:43.98 ID:/feEo/hs.net] ブランチってほんとにみんな使ってる? gitのブランチって使いづらくね?
517 名前:デフォルトの名無しさん [2015/05/21(木) 00:28:17.62 ID:0lqSGmSk.net] プルリクエストを送るときにmasterブランチ以外のブランチで作るのが定番ということで fix_numberブランチを作って"fix number value"ってログを書いてコミットしました その後はプッシュする前に最新の情報を取得するべきって聞いたのでgit pullしました そしたら There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details git pull <remote> <branch> If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/<branch> fix_number_value ってでました これってリポート上のmasterブランチを指定したらいいんでしょうか? 実践で誰かと一緒に開発したことがないので怖くてどうしたらいいのかわかりません ご教示おねぎあします
518 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 00:41:14.37 ID:/NlBmKMh.net] >>512 俺もそう思ってた でもわかった、gitのブランチにはブランチモデルが必要なんだ 自由になんでも出来すぎるからブランチモデルで制約を付ける 「A successful Git branching model」てのを見つけて、 git-flowを使うようになってからだいぶまとまりが出来てきた その後で他にもいくつかブランチモデルがあることも知った 今はブロジェクトの初めに git-flowを使って「A successful Git branching model」をベースにやります。変更点はこれこれ。 みたいに宣言することにしてる。 だからお願い。VisualStudioにもgit-flow付けて、Microsoftさん。
519 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 11:22:31.08 ID:PvdFF4ay.net] >>511 なんか引っかかるねw 短期的じゃなくて長期的な効率が出てる。 ヘッダを書き換えれば多くのソースファイルに影響する話なら知ってる。 そうならないためのやり方があるのは知ってるかい? ビルド依存を回避するような作り方をするんだよ。 あんたのやり方だと普段の開発から時間かかってしょうがないでしょ? ちょっと修正するたびにビルドに多く時間がかかってるはずだよね。 それはもはやgitとは関係ない話だよ。 それからウェブの開発ではないって思ってるかもしれないけど、 今はウェブの開発でもビルド行う。 > だから、全部のケースで使えるやり方ではないと思うが、否定する気はないよ。 > その方が、短期的な効率は出るだろうしさ。 なんか、俺が知らないと思ってそういうこと言っているような雰囲気だが 俺知ってるからね? ウェブだけじゃなくてビルドが必要な開発も。
520 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 11:33:41.78 ID:PvdFF4ay.net] 何が引っかかるかわかったわ。 最近の若いもんは〜みたいな発言になってるからだ。 言葉の節々に、ウェブ開発をしてるもんは〜とか テストしてるわけがないはずだ〜とか 過去はどうでもいいと思ってるはずだ〜とか まともな自分の想像ばかり言ってる。
521 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 11:34:23.74 ID:PvdFF4ay.net] なぜか書き間違えたw × まともな自分の想像ばかり言ってる。 ○ 的はずれな自分の想像ばかり言ってる。
522 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 11:55:03.21 ID:PvdFF4ay.net] > 自動テストのテストケースの中には「アプリケーションの再起動」が含まれていることもあるかもしれない。 これに関してはだから何なんだ?といいたい。 (ごみ)コミットがたくさんあって、コミット毎に全部 アプリケーションの再起動を行っているのか? だとしたら、テスト効率が極めて悪い。 10個のコミットがあって、それぞれのテストに 1時間かかるとしたら10時間じゃないか? 俺ならまずおおむね十分だと思われるテストだけを行って コミットを減らしてからテストするね。5個に減らせば5時間で済む。 コミットしてテストした後で、さっきのコミットに混ぜるべきコードをコミットしてテストしたら さっきテストした時間は無駄になるじゃないか。 後から修正が入るかもしれないような不安定な所のテストに時間はかけない。もう修正は入らないなって 思った時にちゃんとテストをする。コミットを減らしてテストしたらテスト時間も減る。 git以前にテストのやり方そのものを見なおしたほうがいいよ。 効率を考えないで流れ作業をこなしているかのような開発になってる。
523 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 12:05:21.48 ID:PvdFF4ay.net] >>512 > ブランチってほんとにみんな使ってる? > gitのブランチって使いづらくね? 一人で開発してるとか? 使いづらいかどうかは置いといて 使わないと、複数人で並行して開発できないよ。 使いづらいと思ったことはないな。 最初の頃は苦労したけど、それはgitのブランチのせいではなくて 自分の技術力不足だってわかっていたし。 作者のリーナスがどうしても必要だって思って作った道具であり gitの機能も必要だと思っているからこそ作ってるわけだしさ。 もっといい案があるというなら別だけど、わかってないのに リーナスが作ったものに、ケチつけるなんてだいそれたことなんか出来んってw わかった今ならよく出来てるって思うよ。
524 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 22:28:03.52 ID:fr6zPWaF.net] Windowsでウィルススキャンソフトが入ってる状態でgit checkoutは時間がかかり過ぎるから、使いづらく感じるかもな
525 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 00:01:21.71 ID:6DaqA/5u.net] >>519 リーナスだろうと関係ないよ リーナスには使いやすいものでも 俺には使いにくいってのは普通にあるよ
526 名前:デフォルトの名無しさん [2015/05/22(金) 22:43:05.39 ID:SSdLqWaE.net] >>512 ブランチってほんとにみんな使ってる? 俺は一人開発だけど、master と daily の二つの branch を使っているよ。git 使い始 めの一年ぐらいは master だけだったけど。 master の commit/merge は version 番号より少し細かい粒度で行っている。daily branch は bug/issue tracking の粒度より少し細かいぐらいで commit している。とい うより、daily branch の commit message の殆どは bug/issue 番号に紐付けている。 Version 番号の粒度の履歴に bug tracking 粒度の履歴を残したくない。 ちなみに bug/issue tracking はソースとは別ディレクトリのテキスト・ファイルで git 管理している。 >>512 gitのブランチって使いづらくね? Time stamp が checkout 時刻に強制変更されてしまうのが使いにくいと感ずる。make compile 時の便利さは分かるが、ファイルの time stamp 自体は重要な属性だから。俺 が git を作ったならば、time stamp を commit 時の時刻にするオプションを絶対設け ていた。 実際には commit 時刻に変更する script を書いてあるけれど、殆ど使っていないの実 情だ。その script が必要になるのは master 側だけだから。そして その master 側で push するときには、time stamp など構っていれらない状態が殆どだという実情なのが 情けない。
527 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 16:05:57.79 ID:4OfmjrZC.net] プロジェクトがすごく小さい場合には、 途中経過の整合性が合わなくなるのが許されたり、 途中経過の整合性を合わせるためのテストやり直しが許されることがあるんだな pushした修正がバグってたからって、pushしたもんをリベースで打ち消すのはご法度と思っていたが プロジェクトの大きさによってはそれもあり得るということか
528 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 17:21:41.69 ID:x743ZDZ3.net] pushした先がリベースが許されるブランチかそうでないブランチかって違いであってプロジェクトの大きさは関係ないんじゃないの?
529 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 17:24:16.06 ID:x743ZDZ3.net] いや逆か。 push後のリベースが許されるブランチを運用出来るように、プロジェクトをサブプロジェクトに分割したほうがgitを有用に使えるってことなのかもね。
530 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 00:38:55.87 ID:NuukhrjT.net] push後のリベースが許されるブランチ=他の誰も見ていないブランチ? サブプロジェクトどころか、一人プロジェクトだな
531 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 10:38:28.38 ID:GI5iGoR+.net] 話題がループしてるな。もうすこし世の流れを学んだ方がいいよ。 gitだと特に、ブランチの運用によって前提が大きく変わる。 GitHub flowならチケット1つにつき1つ(1バグにつき1つ)ブランチができるから、 それぞれのブランチの寿命は数分〜長くとも数日程度であって、その間はブランチ上では基本1人でしか変更しない。 だからpushしたブランチをrebaseしてもまったく問題ない。 むしろレビューで指摘されたようなtypoや微修正が残ってると後で見にくい。積極的にrebaseを使ってほしい
532 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 11:16:37.86 ID:VWanxcqX.net] >>526 ん〜と、前提が大ブランチになってるとそうかもしれないけど Gitの得意技は作業単位で小さなブランチを山ほど作れる所にあるから 得意技を積極的に使った方がお得な気がするな うちのチームは去年強制的にsvnからgitに移行してからコミット数もブランチ数も20倍くらいに増えた その代わり、細かくコミットしろ、作業単位でブランチを分けろ って、半年くらいは口うるさく言い続ける必要があったけどね レビューの時にコミットツリー図を見ながら ここはこういう意図で、こういう風にブランチを分けて欲しかった、とか ややこしいコンフリクトが生じた時に どういう手順ならマージが簡単だったかとか 具体的に教えたり、みんなで考えたりした 新しい文化を根付かせるのは大変だよ、いつでもさ
533 名前:デフォルトの名無しさん [2015/05/24(日) 14:14:44.04 ID:J9ZjzLe3.net] >>527 だからpushしたブランチをrebaseしてもまったく問題ない。 branch を push する意味が理解できん。数分から数日しか存在しないブランチを何処 に push するの? レビューアーの git に同じブランチを設けてリモート・ブランチにしているの?
534 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 15:41:15.45 ID:1k2HbjOC.net] ブランチを公開する際に中央リポジトリにpushする形式が考えられる
535 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 19:35:16.30 ID:LHzJ6dIN.net] 今コミットした後にgit pullしたらリモートの最新のログ(1個だけ)が追加されてしまいまして 今コミットしたログの後にそのリモートのログが来てしまいました git rebase -iで今コミットしたログを最新にしたいので順番を書き換えたいんですがリモートのログが表示されません。ローカルのログしか表示されません git rebase -i HEAD^^^^^^みたいに^を増やしても出てきません これってどうしたらいいんでしょうか?
536 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 19:41:30.07 ID:Ewhf1zLw.net] >>528 となると、やはり 本体はSVNで、ローカルはgitで 別に管理したほうが全体が幸せになりそうだな
537 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 19:50:34.06 ID:Jl9gFOkM.net] レビューが終わって共有ブランチにpushしてからバグが見つかった場合に 共有ブランチ上でrebaseするんだったら、ブランチの生存期間を超えて共有ブランチ上で修正を続けているように見えるな
538 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 20:03:35.12 ID:Jl9gFOkM.net] >>532 この人の場合、バグを修正したというコミットをmastarに残したくないのに、SVNだとコミットを後から修正できないのが不満だ (それがレビューの邪魔?)というのが、gitを使っている一番の理由だろう
539 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 21:34:38.73 ID:VWanxcqX.net] >>532 それはいい解の一つだと思う。特に移行期には。 うちも、svnから一気にgitに移行するか、git-svnを使うか結構悩んだ。 でも最後は俺がsvnとgitの両方を使うのが面倒くさいという判断で一気にgitに移行する方を選んだ。 当時の対象プロジェクトがちょうど区切り良く、 過去ログを捨てて一気に乗り換えることができるタイミンングだったのと、 フロアをまたがっているとはいえ、同じビルの中にチームの全員がいるので、なんかあったら顔を合わせて相談できる状態だったから決断できた。 最初はトラブル続出で、「判断間違えたかな?」と内心悩んでいたけど 結局馴染んでくればgitの方が扱いやすくなってきたよ。 しばらくして、VisualStudioがgit標準対応した時は「よっしゃ!」ってなった。 (でも日本語変だよマイクロソフトのgit)
540 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 22:05:23.23 ID:VWanxcqX.net] >>534 おれ>>528 な 「この人の場合」が俺のことなのか、ほかの人なのか読み取れなかったんだけど、 俺がgit使ってる(使わせてる)理由の一番大きい所は 「間違えてリポジトリ壊しても俺が直してやる。安心してどんどんブランチ作れ!細かくコミットしまくれ!」って言える所だな。 俺の場合、バグとか間違ったコミットとかも積極的に残しておくことを推奨している。 レビューもそのままで特に問題は無かったな。 でも、「間違えても大丈夫」という安心感がないとみんなブランチ活用してくれないんだよ。 特に問題だったのは(svn使っていた頃の話ね) 何ヶ月もたってから、コードのここの部分て、修正入っているんだけど、意図がわからない、当時の担当者はもう居ない。何て事がよくあった。 svnだと、ブランチ&マージとかコミットとかは結構大事(おおごと)で みんな、自分の手元で完全に書き終わってからしかコミットしてくれなかった。 ブランチ&マージはリーダーだけがやる仕事みたいな感じだったし。 そうなると、ログ上いっぺんにあっちこっち修正が入っている中で、特定個所の意図を読み取るのがものすごく難しくて困ったんだ。 今は「マージ操作間違えても俺が直してやる。 安心して、”変数名を書き換える”様な小さな修正でも各自でブランチ作って作業してくれ。」って言える。 これだけでも後から意図を読み取るのは随分楽になったよ。
541 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 22:19:55.92 ID:mdHWC0Am.net] 状況によるけどコミット分けたほうが見やすいというのは複数の作業単位(ブランチ)に分けるものを 一つのブランチに押しこんでるからじゃないの 機能まるまる追加とかなら経過をコミットで分けたほうがわかりやすいというのはわからんし >>533 閉じたブランチ使わないでバグフィクス用のブランチで修正するのが筋だろう >>531 リセットでヘッド戻して新しくブランチ切ってそっちにコミットして元のブランチに更新取り込んで新しいブランチをマージ 次から最初からブランチ切っとけばこんなことで困らん
542 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 03:10:39.76 ID:WhsXE+Ib.net] >>536 個人でブランチ作ってコミットしたあと、どうすればいいの? そのブランチを本家に取り込ませるの?
543 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 05:59:36.31 ID:/VFybrtg.net] > でも、「間違えても大丈夫」という安心感がないとみんなブランチ活用してくれないんだよ。 これ大事よね master に
544 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 06:01:10.35 ID:/VFybrtg.net] 途中で書きこんでしまった > でも、「間違えても大丈夫」という安心感がないとみんなブランチ活用してくれないんだよ。 これ大事よね master に wip と fix typo が積み重なってた時は流石に萎えたけど
545 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 08:14:58.07 ID:y6DNlXTS.net] >>540 >master に wip と fix typo が積み重なってた時は流石に萎えたけど そういうのを、それがmasterにあろうと自分でリベースして消すのがその人のやり方なんだろう
546 名前:523 mailto:sage [2015/05/25(月) 09:19:23.83 ID:E69UDjHE.net] >>529 > >>527 だからpushしたブランチをrebaseしてもまったく問題ない。 > > branch を push する意味が理解できん。数分から数日しか存在しないブランチを何処 > に push するの? > > レビューアーの git に同じブランチを設けてリモート・ブランチにしているの? 自分が作成・変更したブランチをpushする先はclone元のリポジトリの同名ブランチ。 典型的にはGitHub(GitLab)上には共有リポジトリがひとつしか存在しない。そのリポジトリはForkしない。ひとつのリポジトリのなかでブランチを使ってPull Request(Merge Request)する
547 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:36:42.28 ID:XuKAmWn9.net] 中央リポジトリにみんながpushしまくる方式で運用してるのか、Pull Request方式で運用してるのか、 まずその辺から説明してくれないとgitの運用方式に自由度が有り過ぎて話が噛み合わん
548 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:49:29.09 ID:XuKAmWn9.net] >>531 あんたがやりたいことはrebase本来の一番基本的な使い方で、rebase -iで自分で直接順番操作する必要は無い 検索すりゃ方法わかると思うので調べてみてくれ
549 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 22:51:38.00 ID:o/eCAQPj.net] 共有ブランチ上のバグを直すために共有ブランチ上のコミットを書き換えるんだとしたら、 書き換え前のコミットををベースにしている人への配慮が必要そうだな 各作業者に「共有ブランチ上のコミットを書き換えたいから、各自のブランチをリベース してください」って頼んで回れる環境が必要だ
550 名前:212 mailto:sage [2015/05/25(月) 23:42:12.33 ID:fVXVPz7E.net] gitってなんでMakeFileにuninstallが用意されてないんですか? アンインストール作業が苦痛なんですよ makeだけでアンインストールさせてくださいよ
551 名前:538 mailto:sage [2015/05/26(火) 00:30:58.55 ID:VHuDuKFu.net] >>543 > 中央リポジトリにみんながpushしまくる方式で運用してるのか、Pull Request方式で運用してるのか、 > まずその辺から説明してくれないとgitの運用方式に自由度が有り過ぎて話が噛み合わん 中央リポジトリにみんながpushしまくって、中央リポジトリのTopicブランチ(各人がpushしたブランチ)から同じ中央リポジトリのmasterに向けてPull Requestする。 これが GitHub flow な。 元が「 >>526 Pushしたブランチは書き換えてはならん」への反論だから、 そうでない運用もごく一般的、という主張をしたということ。
552 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 08:35:26.55 ID:n+9g7Zgu.net] 「各メンバーが、個人用ブランチをリモートリポジトリ上に持っている」 これじゃ>>526 への反論になってないっていうか、>>526 が言ってることそのままだな
553 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 17:27:09.33 ID:sKFLbSMM.net] >>545 そうだよ。だから、それができる範囲なら共有ブランチでもリベースして良いんだよ。
554 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 17:39:03.82 ID:sKFLbSMM.net] >>548 個人用ブランチは作成者だけが見るわけじゃないから>>526 とは違うな。 >>526 は、ブランチを公開することと、一部の人間がそのブランチに依存することと、不特定多数の人間が依存することの区別がついてないんじゃないか? 単に極論言って煽ってるだけかもしれないけどね。
555 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 18:06:24.50 ID:2IsijlAj.net] ところでそれだけ熱心なブランチ管理のpush,rebase制限はどうやってる? 規約任せかツールかスクリプトか
556 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 18:23:29.30 ID:O0gIeBts.net] うちは原則push -f禁止でやってるんで、みんながpushするサーバーにはreceive.denyNonFastforwardsとreceive.denyDeletesを設定してる
557 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 20:10:30.68 ID:qT5tL8rR.net] 横だがどうやって禁止するのかと思ったらちゃんとそういうコンフィグが用意されてるのか 一回オプション総ざらいしてみよう
558 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 22:07:42.46 ID:1ouiCH4F.net] >>549 で、>>523 が言ってる「プロジェクトの規模が小さい場合には それができる」って話につながってくるのか…。
559 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 23:55:53.54 ID:2IsijlAj.net] >>553 それブランチごとじゃなくて一律だからアクセス制限にはならないぞ
560 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 12:17:18.05 ID:98FdFg1V.net] Git 2.4.2 https://github.com/git/git/releases/tag/v2.4.2
561 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 20:55:03.14 ID:2hiQrePQ.net] 特定のファイルを特定の履歴に戻すのはどうやるんでしょうか? a.txtをHEAD@{12}のa.txtの内容にしたいんです git reset HEAD@{12} a.txtじゃ戻りませんでした
562 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 21:23:55.63 ID:q0XD6tk+.net] checkoutせよ
563 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 22:34:02.79 ID:6w2KJtLO.net] git init git add -A このaddを取り消したいんですがgit reset HEADをやると fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. ってでます git add -Aで変更をインデックスに追加されているわけだからHEADを指定したらリセットできると思ったんですが何で出来ないんですか?
564 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 22:37:39.31 ID:wXX1PCBE.net] まだHEADに相当するコミットが存在しないから
565 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 22:37:41.39 ID:60FC1uF1.net] 1回もコミットしてないとか?
566 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 22:43:38.24 ID:wXX1PCBE.net] おれはそんなとき.gitをざっくり消したりしてたが、 ぐぐると git rm --cached が使えるみたいだな
567 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 10:41:16.23 ID:2Bq+WaXR.net] git rebaseでどこまでまとめるべきなのかわかりません 例えばデータベースの文字コードの設定の修正と、スタイルシートを変更した2点の場合 一緒にまとめたほうがいいんでしょうか?
568 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 22:36:32.71 ID:ENh0ws/u.net] Windows版のバージョンは上がらんのかえ
569 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 22:37:29.49 ID:dwjHRJAm.net] 自分でコンパイルしろよ
570 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 22:37:35.29 ID:H1H2VilB.net] >>563 その二つならまとめない。 もし、データベースの文字コードを変更したことによりスタイルシートの変更が必要になったのであればぎりぎりまとめてもいい。
571 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 01:22:55.03 ID:knJmPdD6.net] >>563 そういうgit運用の話は、「管理者の意見に従うべき」 個人用or自分が管理者なら、好きなようにやっていい。
572 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 01:42:10.75 ID:3kJPkUc2.net] >>567 少しは助言してやれよ
573 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 03:55:40.59 ID:cOL0IOxC.net] どのやり方が良いかなんて決まっているわけじゃない 色々試して自分が一番しっくりする形を探すか 最も採用されていると思えるやり方というのを見出してそれを選択するか 有名どころのオープンソースプロジェクトの方針を色々と見てくるといい
574 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 05:32:16.44 ID:5OGKD7dq.net] 俺がまとめる基準はそのまとめたコミットに判り易いひとつのタイトルをつけられるかどうかあたり でも優先されるべきはそのリポジトリの管理方針なのは間違いない
575 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 10:17:17.28 ID:qaWpPbOF.net] ところでpost commit mail送るのに何使ってる? うちはmultimail使ってるがなんかしっくり来ない
576 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:27:40.14 ID:FZpfA7xp.net] >>569 お前はどうやってるんだよ
577 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:38:54.51 ID:ixdJmRIH.net] 俺は初心者の頃にここでコミットをまとめるなって言ってこのスレを炎上させた初心者+だけどさ その時はコミットをまとめろって言われたからソースコードのバージョン毎にコミットを全部まとめたよ 一体まとめろ!まとめるな!のこのスレの意見を統一してもらわないと俺みたいな初心者が無駄な道を通ることになる 1. initial commit ---- ここから ----- 2. save 3. type 4. ○○実装 5.save 6.○○実装 7.typo 8.ファイル追加 ----- ここまでまとめる ------- tagで1.0って付ける
578 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:43:29.77 ID:lUVfOohh.net] バージョン毎にまとめろとか誰も言ってないだろ 具体的にそのやりとは何スレ目だよ
579 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:47:48.34 ID:w41Ky1ux.net] >>573 「まとめろ」「まとめるな」で意見を統一するのは難しいと思うけど(そもそも状況によってどっちが良いかかわるだろうから)、 どういうときはまとめたほうがよい どういうときはまとめないほうがよい というガイドラインのようなものならある程度意見はまとまってきそうだね
580 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 13:46:30.21 ID:7Y8AXPNC.net] 後から分離したくならないものはまとめる 要するに、二つのコミットがあった時に、これが二つに分かれてる必要はあるだろうか?と考えればいい
581 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 13:49:14.71 ID:5FZxl5co.net] そうして全てのコミットはひとつになった
582 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:11:36.89 ID:a/IZmogk.net] コミットを入れ替えるときにコンフリクトって起きないんですか? git init touch README.md git add README.md git commit -m "Initial commit" echo 1 > a.txt git add a.txt git commit -m "add a.txt" echo b1 > b.txt git add b.txt git commit -m "add b.txt" echo a1 > a.txt git add a.txt git commit -m "modified a.txt" git rebase -i HEAD^^^ 以下のように並べ替え pick 06da9a6 add a pick 2c80b8f modified a pick 7a6a277 add b git checkout HEAD^ lsするとbファイルがありません "modified a"のコミットにはbはないことになるんですか?gitが自動的に面倒見てくれてるんですか?
583 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 20:10:10.65 ID:lUVfOohh.net] Gitでは各コミットがその時点での全ファイルの状態を持ってるけど、 rebaseで並び替えるのはコミットの変更差分(自分の前のコミットとの差分)ってことかな >>578 のrebaseによって、"modified a"コミットのa.txtを変更したという差分だけが"add b.txt"コミットより前の歴史へ移動するので、 "modified a"コミットにbは存在しなくなる rebase -iでコンフリクトは起こる 例えば>>578 の"add a"と"modified a"コミットの順番を逆にしたりすれば
584 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 20:23:21.52 ID:69dFu2L0.net] >>573 正直「そこの管理者の意見に従ってまとめろ」「同僚たちと同じようにまとめろ」って回答しかないな
585 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 20:46:29.00 ID:b+4KVUcq.net] 少なくともどの時点でもコンパイル通るようにコミットまとめる 大きくても機能ごとにはコミット分ける でその間はプロジェクトごとに方針あれば何でも
586 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:34:59.14 ID:4eOWDqlW.net] 問題は俺自身に経験がないのに 俺がルールを決めなきゃいけない時だな
587 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:35:56.50 ID:yk/a
] [ここ壊れてます]
588 名前:5xMg.net mailto: >>573 お前、マージ使ってないだろ? まず前提として「一つのプロジェクトを複数の人が平行で開発している」という 個人プロジェクト以外のごく普通のプロジェクトの話なんだよ。 よくある間違いが、小さい規模の例だけで考えて、 それがそのまま大きな開発にも適用できちゃうって考えること。 君はその間違いはまってる。 (俺が知ってる)小さい規模ではこれでうまくいくんだ。ではなくて 大きな規模になった時それでうまくいくのか?を考えた方がいい。 適切なやり方というのは、規模によって変わるんだから。 [] [ここ壊れてます]
589 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:41:32.51 ID:yk/a5xMg.net] >>581 問題は1コミットを後から見直すかどうかだよな。 後から見なおさないのであれば、どんなに意味不明な修正でも 同じ所を試行錯誤したコミットでも、何百行あるコミットでも 何十個もあるコミットでも、そのコミットを見ないのであればどうでもいい でもあとからそのコミットを見るのであれば 修正内容が明確にわかるコミットが必要最低限あった方がいい。 あとからそのコミットを見るかどうかだよ。 もちろん俺はよく見る。 仕事でもその修正が適切であるかを見たり、 オープンソースとかでもある修正内容を見たり だからコミットは分かりやすくなっていたほうがいいと考える。
590 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:46:03.75 ID:yk/a5xMg.net] >>575 > というガイドラインのようなものならある程度意見はまとまってきそうだね コミットをまとめる or まとめないのが目的じゃないからね。 コミットを綺麗にするのが目的。 当然の話だけどガイドラインには理由が必要だろうね。 まとめる理由が。(もしまとめないのであれば、まとめない理由も) コミットをまとめたりまとめなかったりして、綺麗にする理由は 簡単にいえば、後からコミットを見た時にわかりやすいように するためなんだが、もっと細かい理由って必要だろうか?
591 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:54:18.21 ID:yk/a5xMg.net] 少しだけガイドライン考えてみた ・一つのコミットで複数の修正を行わない 理由 後からそのコミットを見た時何を修正したのかがわからなくなるから ・一つの修正を複数のコミットにわけない(分かれていればまとめる) 理由 後からそのコミットを見た時何を修正したのかがわからなくなるから 例外 リリースしてしまったコミットはまとめることは出来ない。 いま気づいたが、この「リリース」っていう概念が重要だな。 どの時点でリリースになるのかはそれぞれだろうが master、もしくは共有ブランチににマージされた時点がリリースだと考える。 と考えると、やはり>>573 の例ははマージ機能を使ってない時点で 一人で開発している場合にのみ通じる例だから、例としてふさわしくないんだよ。
592 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:00:59.08 ID:OBriYrAJ.net] 3行で
593 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 00:12:36.70 ID:5CuOmznL.net] あとから見てわかるようにコミットを綺麗にしておけ まとめる とか まとめない とかどちらか一方じゃない どちらもやって、綺麗にしておけ。
594 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 02:04:34.40 ID:VSY66R2E.net] 一つのコミットに入れる一つor複数の修正って、何単位で一つと呼ぶのかって話もあるし、 >>545 と>>549 のやりとりにあるように、「共有ブランチにpushしたコミットすら編集してよい」 って運用ルールでgitを使っている人がいたりするので、抽象的なガイドラインは決めるだけ 無駄ではないか それを議論したって、自分がブチ上げたガイドラインを弁護し、他人がブチ上げたガイド ラインの言葉尻を捕まえてロンパするだけの、言葉遊びの世界に入っていってしまう
595 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 02:08:39.07 ID:VSY66R2E.net] >>582 そういう時は、「なんでgitなんか使わなきゃならないのか」に立ち戻るべきだと思う
596 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 02:48:23.33 ID:5CuOmznL.net] >>589 > >>545 と>>549 のやりとりにあるように、「共有ブランチにpushしたコミットすら編集してよい」 いないだろw あぁ、なんで共有ブランチにpushしたコミットは 編集したらだめなのかを書いていなかったね。 物事は単純で、他人の役に立つことをしましょう、 他人の迷惑になることはうやめましょう。これだけだよ。 コミットは他人が見ることを考えれば、そして他人は何故見るのかを考えれば コミットを綺麗にしておけば可読性が高くなって読む人の負担が減る。 これは他人の役に立つこと。 そして共有ブランチを修正したらだめというのは、他の人も その共有ブランチから派生して修正しているので、その派生元が変わると 今まで参照していたものが履歴を残さずに変わるわけで何が起こったのかわからなくなるから。 これは他人の迷惑になること。 このように俺のガイドラインにはちゃんと理由がある。 反対のガイドラインを作りたいなら、その理由をいうことだけ。 でないと俺の意見に対抗できない
597 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 02:52:10.94 ID:5CuOmznL.net] 念の為に俺が言ってる「共有ブランチ」の定義を書いておくわ。 俺が言ってる共有ブランチっていうのは、 他の人がそのブランチから作業をする、 または他の人がそのブランチにマージすると という目的で作られたブランチのこと。 つまり他の人が参照しているだけならば 共有ブランチとは言わない。 参照しているだけならば、そのブランチが変わっても 他の人の作業のじゃまにはならないからね
598 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 02:54:19.37 ID:5CuOmznL.net] ということで、何故そうするのか、どんなメリットがあるのかを しっかりと書いたガイドラインを、俺以外に出すのまってま〜すw
599 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 10:11:47.35 ID:V49LqTdE.net] >>591 >いないだろw いや、>>545 が「共有ブランチ上のコミットを書き換えるんだとしたら」と言ったのに対して >>549 が「そうだよ」と返しているので、いること自体は確かなようだ 545に対して、あなたがどうロンパするかは別に知らないが
600 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 10:31:51.05 ID:V49LqTdE.net] >>583-584 全部のコミットをひとつにまとめて周りから怒られなかったなら、 それは正しいまとめ方だったと思うんだけどね
601 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 12:19:13.74 ID:5CuOmznL.net] >>594 > 545に対して、あなたがどうロンパするかは別に知らないが 論破? 何故そうするかの理由がないのだから、 まずその理由を言うのが先だろうw
602 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 12:20:45.23 ID:5CuOmznL.net] >>595 > 全部のコミットをひとつにまとめて周りから怒られなかったなら、 周りの人間がコードを見るということを知らないだけかもしれない。 スキルが低くてソースコード管理ツールすら知らない人もいるのだから。 だからそれは全く参考にならないな。 理由だよ理由。 俺は何故そうするかの理由を書いた。 この俺を論破する理由をかける奴はいないのか?w
603 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 12:21:31.63 ID:yxti539q.net] 誰か運用スレ立ててくれない
604 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 12:52:14.95 ID:V49LqTdE.net] 結局は>>589 の言ったとおりになるという、悲しい現実 >>598 運用スレを建てても、荒らしがそこに移動するかどうかは別問題だと思う
605 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:04:07.08 ID:yxti539q.net] 運用スレ行けと言えるようになるだけ幾分マシかと
606 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:08:53.36 ID:V49LqTdE.net] >>600 なるほどそうかもしれないね そういう意味だと、既存だとここあたりが適切なのかな バージョン管理システムについて語るスレ10 peace.2ch.net/test/read.cgi/tech/1393147031/
607 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:12:32.75 ID:5CuOmznL.net] >>599 > 結局は>>589 の言ったとおりになるという、悲しい現実 大丈夫。 俺が言った「ガイドラインを言う時は理由も明確書くこと」 のおかげで、今のところガイドラインは俺が言った一つしかでてない。
608 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:17:04.64 ID:yxti539q.net] >>601 ここでされてるの横断的でない個別的な内容だからスレチ
609 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:18:47.22 ID:V49LqTdE.net] >>603 そっか、じゃあ新スレがいるか・・・
610 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:23:17.32 ID:V49LqTdE.net] >>602 >今のところガイドラインは俺が言った一つしかでてない。 そりゃ出ないでしょ 誰も関わりたくないんだから
611 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:26:15.60 ID:5CuOmznL.net] >>604 スレ立てておいたよ。 Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/ >>605 > 誰も関わりたくないんだから 関わりたくないのが理由っていうのはおかしな話だな(笑) 言い返せない時に汎用的に使えそうな言い訳だ。
612 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:31:19.54 ID:V49LqTdE.net] >>606 ありがとう じゃあここから先は、ここで運用系の話をするのはスレ違いってことで、 あとはそっちでやってもらおう
613 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 13:42:31.68 ID:yxti539q.net] >>606 タイトルを単にGit運用スレにできないあたり自己顕示欲あふれるスレタイですね
614 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 15:41:57.12 ID:D5MO+jlJ.net] 立てたら立てたで文句言う奴 w
615 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 16:06:00.04 ID:D+Qsqenv6] はじめまして。 質問させてください。 とあるリポジトリに以下のようなブランチがあります。 ・master 特に進んでない ・masterから作成したブランチA 最初のほうだけ開発 ・ブランチAから作成したブランチB あらかた開発 ・ブランチBから作成したブランチC テストコード開発 masterとAは他人が作ったもので、 私はそれを引き継ぐ形でBで開発していました。 そこからCでテストコードを作ることになり、 一応終わったのでBにプルリクを出したところ少しのやり取りののちマージされました。 そのあとで不具合に気がついたのでまたコミットをしたいのですが、 この時`git checkout`でBに移動してから行うべきでしょうか? それともそのまま行ってもよいのでしょうか? CがマージされたBに続く形にしたいのですが、 Bで`git status`すると"Aより104コミット進んでいるから`git push`使って公開して"というような英文があり、 同様にCで行うと"Bより16コミット進んでいるから`git push`使って公開して"というような英文があるので、 言われたとおりにpushしたらコミットはどうなるのでしょう? Cを作るときにpush漏れはないですし、Cがマージされた時も同様にないのですが。
616 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 18:26:22.23 ID:5CuOmznL.net] いるいるw
617 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 18:53:47.38 ID:V49LqTdE.net] >>608 荒らしが自分で建てたスレなんだから、そうなるのはしょうがない 運用の話はそっちでやってもらいましょう
618 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 19:53:48.87 ID:yxti539q.net] 自分で立てたスレなんだからもちろん自分は引っ越して誘導もするんですよね 期待してますよ
619 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 20:06:44.60 ID:5CuOmznL.net] >>613 はい当然です。 Gitの運用方法に関するレスは全部向こうに移動します。 みなさんも協力してくださいね。 逆に運用以外の雑多な内容はこっちに移動しますよ。
620 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 21:10:56.78 ID:V49LqTdE.net] >>613 おみごと
621 名前:連続書込しすぎなのでID変えます mailto:sage [2015/06/07(日) 21:22:11.43 ID:rs3gN1uE.net] このスレから運用に関することをなくしたら どれだけのレスが残るか期待ですw ぜーんぶかっさらっていきますよーw
622 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 21:49:02.86 ID:HSoSL4U1.net] git とうまく組み合わせられるような バグトラッキングツールでおすすめのはある? mantisってもう人気無い?
623 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 21:52:12.28 ID:V49LqTdE.net] これでツールの質問ができるようになるのか、 または、ツールの質問に答えられる人なんて初めからいなかったのかがハッキリするな どっちにしても平和になってよかった
624 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 21:57:36.23 ID:/P0faz6I.net] Egitで、amendじゃなくてもっと過去のコミットを編集するには 画面上でどういう操作をすればいいんでしょうか?
625 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:03:03.72 ID:rs3gN1uE.net] githubの使い方を教えて下さい。
626 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:13:31.59 ID:rs3gN1uE.net] >>619 よめ ◆関連サイト Pro Git - Table of Contents git-scm.com/book/ja
627 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:14:24.04 ID:rs3gN1uE.net] WindowsでGUIでgitを使いたいです。 なんか良いツール無いですか?
628 名前:616 mailto:sage [2015/06/07(日) 22:16:23.46 ID:rs3gN1uE.net] >>619 すまんすまん。EGitっていう名前のツールがあるのか。 ならこのスレだ。
629 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:16:39.42 ID:UKZkpptu.net] >>619 そんなのIDEの機能に頼るより、そのコミットを修正するコミットを作った後に コマンドラインからrebase -iで順番入れ替えてsquashしたほうが簡単じゃないか?
630 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:17:04.27 ID:/P0faz6I.net] >>621 目次にどこにもEgitの話が出てないんですけど、どこに載ってるんですか?
631 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:18:17.74 ID:/P0faz6I.net] >>624 Eclipse上で開発してるので、自分はEgitの方が楽です
632 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:41:10.16 ID:UKZkpptu.net] >>626 おれが使ってるのはIntelliJ IDEAだけど、Git関連は全部GUIでやるよりコマンドラインも併用したほうがいろいろ楽 ちなみにIntelliJ IDEAではrebase -iもGUIで出来るんで試しにやってみたけど、 思ったほどじゃないけどちょっと面倒 EGitもEGit rebaseでぐぐれば手順説明がいろいろ見つかるな 一応できるみたいだよ Rebase Interactiveとかあるらしい
633 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:44:07.71 ID:/P0faz6I.net] >>627 で、そのやり方を知りたいわけです
634 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:44:51.36 ID:rs3gN1uE.net] >>626 いやいや違う。Egitの方が楽というのは言い訳だ。 楽というのは事実だろう。だがそれはCLIで gitを使えないことの理由にはなっていない。 はっきり言おう。君はCLIでgitを使えないだけだ。 それはEgitが楽という事実とは無関係だ。 CLIでgitを使えるようになったほうがいいよ。 そうすればEgit+CLIのコマンドで検索すれば簡単に見つかる。 >>623 で訂正したが、やっぱり君が読むべきものはPro Gitだ。 GUIツールの機能はCLIを使える知識がなければ理解できないだろう。 いくつか使ってみたが、どれもいきなりCLIのコマンド相当のものがメニューにあるから 初めて使う人は「この機能なにをするものなんだ?」ってなるだろう。 で、CLIのコマンドを知らない人でも簡単に理解できるGUIツール無い? プログラマーではないウェブデザイナー(HTMLとかCSSを書く人)にも 使ってほしいと考えてるんだけど。
635 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:46:34.98 ID:UKZkpptu.net] >>628 だからEclipseで普通にコミットを作ってRebase Interactiveしろよ amendは知ってるんだから普通にコミットを作るのはできるんだろ?
636 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:49:18.28 ID:/P0faz6I.net] >>630 コミットは作れるんですが、Egit上での対話的リベースの使い方が分からないんですよね・・・
637 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:51:21.60 ID:UKZkpptu.net] >>631 ヒストリーのコミットで右クリックすりゃRebase interactiveがあるらしいぞ
638 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 22:52:20.19 ID:/P0faz6I.net] >>632 そこまでは分かるんですが、そのあとの操作の仕方が・・・
639 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:03:17.96 ID:rs3gN1uE.net] たいていのツールはGUIはCLIの使い方を知らなくても使えるものなんだが、 バージョン管理ツールをGUIにしても使いにくいのは ソースコードを管理するということの意味がわからないからだろうな。 例えばペイントソフトは、そのツールを使う前から 絵を書いたことがある。それと同じことをツールを使ってやるだけ でもソースコードを管理ツールは、そのツールを使う前にそのツールと同じことをやっていない。 ソースコードを修正している人であっても、ソースコードを管理していない。 (※バックアップはソースコードの管理じゃない) だからそれをGUIにしたところで、何をするのかわけがわからない機能ばかりで 使い方がわからない。(もしくはバックアップという間違った用途に使うだけ) ふぅ。そういうことを知らないし、知る必要が少ないウェブデザイナーに どうやって使いやすい環境を提示できるだろうか。
640 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:03:38.86 ID:UKZkpptu.net] >>633 その様子だと直前じゃないコミットを修正するって行為がどういう意味を持つか理解できてないだろ? Gitに慣れるまではおとなしく新しいコミットで修正しとけ
641 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:07:11.82 ID:/P0faz6I.net] >>635 そうじゃなくて、それをしたくないから、Egitでのやり方を知りたいわけです
642 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:10:20.71 ID:UKZkpptu.net] >>636 EGit使おうがコマンドラインでやろうが、途中のコミットを修正するってことは単純な行為じゃないんだよ コンフリクトが発生する可能性があるの理解してる?
643 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:15:59.04 ID:rs3gN1uE.net] >>636 当たり前のことを言うけどさ、プログラマっていうのは技術者だよ? 技術者と何故呼ばれるかというと、それは技術がなければできないことが できるから技術者なんだよ。 今君が言っていることは「技術者になりたくない」って言っているのと 同じことだってわかってる? 楽とか大変とかじゃない。 技術をつけること事拒否することは、技術者になりたくないと言ってるのと同じ。 CLIでgitの使い方を学ぶのが技術をつけるのに一番の近道なんだよ。 別にGUIが楽なら普段はGUIを使っていい。でも技術自体はちゃんとつけておけ。
644 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:16:28.99 ID:/P0faz6I.net] 個人的には、分からないなら「分からない」で全然かまいません できるなら、ここ以外でツールの話を分かりそうな人がいる場所を教えてくれるとうれしいですが
645 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:17:36.07 ID:rs3gN1uE.net] >>639 なんならまたスレ立てようか? 「git関連のGUIツールの使い方を教えて下さい」っていうスレ
646 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:18:36.91 ID:/P0faz6I.net] もちろん、2chである必要は全然ないです (・・・っていうか、むしろこの状況ならそっちの方が知りたいです)
647 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:21:41.41 ID:rs3gN1uE.net] あ、もう一つgitのGUIツールがなぜCLI使えない人にとって 難しいのかがわかった。 普通CLIが難しい理由は「コマンドを覚えないといけないから」で その「コマンドを覚える必要がないから」GUIは簡単なんだ。 でもソースコードの管理ツールの場合、コマンドを覚えることよりも そのコマンドで何が出来るか、何をするかがわからないから難しい。 ボタンひとつでコマンドを呼び出せても、そこから何をすればいいか わからないんだよね。この人のように。
648 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:23:55.02 ID:/P0faz6I.net] >>640 っていうか、ここがgit関連のツールの使い方を聞ける場所になったんじゃないんですか? >>617 さんのように、CUIじゃない質問をしてる人もいますし、ここでGUIだけ絞る必要もない気がしますが・・・
649 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:31:22.51 ID:1F5PzSNl.net] >>641 最低限英語できるならstackoverflow.com、機械翻訳でも多分他の人が適当に質問自体修正してくれる ja.stackoverflowでもいいけど回答くる確率は落ちる
650 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:34:31.78 ID:rs3gN1uE.net] >>643 聞くのは構わないが答えるとは限らないw 質問したところで>>617 さんのように放置される。 このスレからgitフローのような運用に関する話が 分離しただけで、ここがなにかに変わったわけじゃない。
651 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:37:00.95 ID:/P0faz6I.net] >>642 自分の場合は、GUIが簡単でCLIが難しいからじゃなくて、 Eclipse上でそのまま操作できるのが楽だから、なんですよね あなたがEgitを知らなくて、自分はEgitのことを知りたいので、 分からないなら「分からない」って言ってくれて全然かまいません >>644 なるほど、そっちの方が良い人がそろってそうですね 英語にはさほど抵抗ないですし、そっちで質問してみます ありがとうございました
652 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:39:46.62 ID:rs3gN1uE.net] よし、これでこのスレでツールの話をする奴が消えたw こんな感じでどんどん減らしていくので、4649!
653 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 23:43:59.53 ID:UKZkpptu.net] >>646 ほらよ another.maple4ever.net/archives/2060/ このブログの後半の「コミットを改変する場合」な
654 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 08:05:44.37 ID:USedaFhj.net] なにこの CLI で git 使える俺スゲー君 w
655 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 08:53:59.64 ID:Q2pvFPhj.net] CLIじゃないと、まともに使えないという方が多いんじゃないか。
656 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 11:32:29.03 ID:AXPER4TO.net] GUIで全部やるのは難し過ぎる 併用が無難だよ
657 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 11:48:08.05 ID:I6Rw7h/u.net] gitと親和性の高いBTSでお勧めを教えて
658 名前:デフォルトの名無しさん [2015/06/08(月) 12:15:16.89 ID:obzwvKms.net] もうgithub for windowsで満足 プルダウンメニューでブランチを替えて、 ファイルを編集したら未コミットのリストがリアルタイムで追随、 マージはブランチのドラッグアンドドロップで一発、 プッシュはsyncボタンで一発。 でもたまによくあるCLIの作業からは逃れられないけど
659 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 13:31:33.83 ID:AXPER4TO.net] ファイル編集、HEADとの差分確認、コミットの流れはIDEやエディタに統合されたのを使う ブランチのブラウズもGUIのを使う ここらへんは非CLIでやることのメリットを感じるね
660 名前:10人に1人はカルトか外国人 [2015/06/08(月) 14:46:48.11 ID:KHrLNVN4.net] ●マインドコントロールの手法● ・沢山の人が偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト 10人に一人はカルトか外国人 「ガスライティング」で検索を!
661 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 20:44:04.47 ID:BwIK9Ub/.net] >>652 自分でサーバー立てるか、どっかのサービス利用するかで回答が変わってくるな
662 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 20:51:15.26 ID:xf2QCU7p.net] >>652 ここはgitのスレです。 gitではない話はスレ違いです。
663 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 21:50:53.55 ID:I6Rw7h/u.net] >>656 親玉のサーバをLinuxで自前で立ててあります 今は3人くらいでpushしてる
664 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 00:40:12.96 ID:LoeafuSM.net] >>658 既にホスティング環境があって、同じサーバーにbts立てられるっていうことならredmineかな。 ただ、redmineは設定に躓くとちょっとめんどい。うまくいけばbts部分はかなり高機能だし、プラグインで色々拡張もできる。 ホスティング環境も移れるなら、gitbucket (https://github.com/takezoe/gitbucket )とか手軽でいいかもしれない。 javaとtomcatが用意できれば始められるし、それでいてgitホスティングとかpullrequest、issue連携とかの機能は揃ってる。 ただ、gitbucketはbtsとしては高機能とは言えないので、凝ったことしようとすると不満が出るかもしれない。
665 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 09:04:20.23 ID:QNGnbMWJ.net] gitlabの方がいいよ。git連携というかgit統合みたいなものだから ものすごく使いやすい。設定はほぼ不要。 redmineはBTSとしてはいいが、ソースコードを 快適に修正するための機能がない。 具体的に言えば「プロジェクトをフォークして、個人用の フォークプロジェクトで行った修正をマージする」といった 極めて重要な機能がない。 あとBTSはもう古いね。今はITS。 BTSだとITSとして使えるようにカスタマイズしないといけないから 初期状態で使いにくい(そして初心者は使いにくいことに気づかないまま 使いにくいものを使い続けてしまうよ)
666 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 21:00:02.32 ID:mCgHqgj4.net] gitlabは昔に触ったときは導入が色々大変だったから勧めなかったけど、今は結構楽みたいだね。dockerにも対応してるみたいだし。 確かに高機能だし、本格的に始めたいならいいよね、gitlab。
667 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 21:14:19.30 ID:gDccibNx.net] gitlabか。 いっかいインストールしたけど 使い方がわからなくてあきらめたんだよな もう一度頑張るか
668 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 01:07:42.05 ID:7XQM9Exq.net] >>661 今は公式リポジトリが出来たよ。 普通にapt-get, yumでインストールも アップデートもできるようになった。 >>662 BTSはMantisをちょっと触っただけだけど考え方が違う。 BTSだともぐらたたきゲームのようにバグが湧いてきて それを「通報がありました」「バグを確認しました」 「誰かにアサインしました」「修正しました」「リリースしました」 のように随時状況を報告しながらバグを退治。 他の人がそのステータスを確認するっていうフローが想定されている。 そのフローが準備されているからバグ退治の流れはそれに乗っかればいいが アプリ開発(新機能追加など)はやりにくい。 gitlabだと(githubもそうだが)逐一状況を伝える事はしない。 ラベル機能とかで出来なくはないが、BTSではないのでバグ退治のフローはない。 代わりにあるのがアプリ開発のためのIssueでバグを含めた課題全般を取り扱う リリース済みでバグが次から次へと発覚して、それを急いで直さなきゃ。みたいな状況ならBTSの方がいいかもしれないね。 ITSはもう少し安定していて、マイルストーンを決めてそこまでに対応するという感じ。 もちろん急ぐ奴はすぐリリースしても良いけどね。 フローの話になったから、こっちのほうが良かったかw Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/
669 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 22:15:34.72 ID:rQ07tGpq.net] gitBREAK使ってる人、感想聞かせてください! codebreak.com/ja/
670 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 23:21:39.44 ID:19Nfo0Ba.net] どうやって利益あげてんのか気にはなるな
671 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 23:38:29.29 ID:EBTmmvru.net] codebreakか 日本の法律下にある他人の鯖にソースコードを預けたくないな
672 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 05:00:08.95 ID:QpuB/nCQ.net] わざわざ劣化コピー使う意味がわからない
673 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:29:11.47 ID:6Kqx+wy+.net] github日本版がツイキャスみたいな出会い系サイトになったら移っても良い
674 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:32:27.10 ID:6Kqx+wy+.net] >>663 >>573 ってだれかとおもった
675 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:40:44.25 ID:6Kqx+wy+.net] >>634 最後の2行について言うと それはGUIとしての完成度が低いと言う見方もあるな 馬鹿なデザイナーでも使えるようにする必要があるかどうかは知らん >>638 その通り
676 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 08:05:33.95 ID:bgrkp9n0.net] >>638 難しい手順を覚えるのは技術のうちに入らない。 それは単にプロトコルに習熟しただけ。 例えばENIACプログラミングを今更やる奴は殆ど居ない。 本質的な結果を出す為の過程を単純化した方法を作り出すのが技術。 テクノロジーの語源からも明らか。
677 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 08:12:02.69 ID:IhjRP6Ev.net] guiは履歴を俯瞰してみたり、チェリーピックしたいときに便利だと思う。 cliはシェルと組み合わせれば半自動で色々できるから好き。
678 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 19:58:54.95 ID:pGn6KOhY.net] >>664 > ソースコードや個人情報等の情報およびその投稿に関する禁止事項 > 3.ソースコードに、自己または第三者の連絡先を記載または暗示すること > その他一般的な禁止事項 > 4.本システムを通じて入手した情報を、複製、販売、出版、その他私的利用の範囲を超えて使用する行為 ライセンス文もまともに書けず仮に公開したとしても使用には強い制限がかかる 誰がこんなバカな規約書いたんだよ
679 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 20:52:13.58 ID:0L5sgKmI.net] 無料で、数人で、非公開のプライベートリポジトリを使う手段は、現時点では存在しませんか?
680 名前:デフォルトの名無しさん [2015/06/11(木) 21:10:32.77 ID:d4+JHvzb.net] Dropbox
681 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:49:51.01 ID:QpuB/nCQ.net] >>673 島国根性丸出しのジャップ猿が退化させてやんの 死ねよもう
682 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:56:58.54 ID:jxx/4OCH.net] >無料で、数人で、非公開のプライベートリポジトリを使う手段は、現時点では存在しませんか? gitlabがある https://about.gitlab.com/gitlab-com/ Unlimited repositories Unlimited private collaborators Unlimited disk space* Completely free, no credit card required
683 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 22:05:30.61 ID:0L5sgKmI.net] >>677 ありがとうございます!見てみます!
684 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:21:46.83 ID:lwbpITef.net] >>671 > 難しい手順を覚えるのは技術のうちに入らない。 なにドヤ顔で嘘ついてるのさw 手順覚えるだけでも運転技術だし 飛行機の操縦も船の操縦も手術も手順覚えるだけだから 技術じゃねーってことになるな
685 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:34:12.67 ID:YENRiAY6.net] 技術じゃないとまでは言わなくても誰がやっても同じ動きになるなら大した話じゃない 飛行機も船も手術も知識があるうえで感覚も必要なもんだから誰でも同じにはならんわな
686 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:36:23.68 ID:lwbpITef.net] > 技術じゃないとまでは言わなくても誰がやっても同じ動きになるなら大した話じゃない は? ハンドルを右に切れば 右に曲がりますが?
687 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:37:09.16 ID:MEVqNqhj.net] あいつには運転技術があるって聞いて運転の手順覚えてるだけかよって思う奴は少ないわな
688 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:37:32.79 ID:lwbpITef.net] >>680 gitも知識があるうえで感覚も必要なもんだから誰でも同じにはならんわなw コミットの内容も、コミットの順番も人それぞれ違ったものになる。
689 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:38:20.68 ID:lwbpITef.net] >>682 ワロタw うまいね あいつにはgit技術があるって聞いてgitの手順覚えてるだけかよって思う奴は少ないわな なるほど、gitの手順だけ知っていて それを技術があるって思い込んでる奴だったのか!
690 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:40:40.14 ID:VCTHLF0P.net] gitを使うっていうのは、gitのコマンドを覚えるだけじゃないからね。 どいういう風にブランチとコミットを 組み立てていくか、それがgitを使うということ。 その技術次第で、過去の修正の内容が分かりやすくなったり ごちゃごちゃで意味不明になったりする。 きれいなコミットだとrevertしたり、cherry-pickも簡単なんだが、 だめなやつがやると使えないコミットだらけになるもんな。
691 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:41:01.81 ID:OzhCdhwc.net] GitHubで公開されているものを利用してシステムを作ろうとしています。 ですが社内のプログラマが同じバージョンのものを使うようにしたいため Gitのサーバを構築して、GitHubのを社内にコピーしてプログラマは 社内のGitサーバから落してもらうようにしたいのですが、このような 使い方はできるのでしょうか? 用語が分からないので上手く説明できませんが、もしできる場合は具体的に どのようにすればばよいのでしょうか。
692 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:42:44.09 ID:VCTHLF0P.net] >>686 githubで公開されているものを使うってだけなら、 submoduleを使えばいいだけ。 特定のバージョン(コミット)を指定して参照することができる
693 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:42:53.47 ID:bgrkp9n0.net] >>679 先人が作り上げた技術に「習熟」する事と、改善等を加える事との区別ぐらい付けよう。
694 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:45:06.84 ID:VCTHLF0P.net] >>688 飛行機だってマニュアルがあって 先人が作り上げた技術を 「習熟」するだけですが? なにか言う前に矛盾しないか 少し考えてから発言しようよw
695 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:51:54.22 ID:bgrkp9n0.net] >>689 「習熟しただけ」のパイロットもどきが事故起こすんだよなあ。 まあ、プログラム言語の文法覚えた「だけ」の奴には難しかったか。
696 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:54:53.44 ID:VCTHLF0P.net] >>690 > 「習熟しただけ」のパイロットもどきが事故起こすんだよなあ。 だからなんなんでしょうか?w 「習熟しただけ」のパイロットもどきが事故起こすが 「習熟した」以上の技術をつけたのパイロットは事故を起こさない 「習熟しただけ」のgitつかいもどきが、くそきたないコミットを作るが 「習熟した」以上の技術をつけたのgitつかいはきれいなコミットを作る。 あれあれ? 同じことですねw
697 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 04:30:47.16 ID:XoMzVDAf.net] 定石をおぼえる時は 定石から外れたことをするとどうなるかまで知ってる人と 定石通りのことしか出来なくて定石から外されると負ける(前者なら普通勝てる)タイプの人が居るね
698 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 05:33:48.07 ID:KE10iP2h.net] 汚いか綺麗かを決めるのは自分だ。
699 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 07:55:39.88 ID:DpgRw3ep.net] >>691 見苦しいから、その辺にしとけ。 >飛行機だってマニュアルがあって >先人が作り上げた技術を >「習熟」するだけですが? こういう甘い発想の奴は困るんだよなあ・・・
700 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 08:28:50.68 ID:K1SJqQ2p.net] >>689 git 使うような人はそのマニュアルを作るような立場の人が多いんだが
701 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 08:41:22.54 ID:UHhWvxxE.net] >>695 わかる このスレ「管理者の方針に従えばいい」 俺「俺がその管理者なんだよ〜。どうやってルール決めればいいかわかんねーよ」
702 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 09:11:20.96 ID:uZJNyCxR.net] やはりそうか hissi.org/read.php/tech/20150611/VkNUSExGMFA.html hissi.org/read.php/tech/20150611/SUdTbEt3Wnk.html hissi.org/read.php/tech/20150612/MGtLbjJuSjU.html hissi.org/read.php/tech/20150612/dzVHdW5NWTY.html
703 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 19:21:58.70 ID:w9SfTIdr.net] 外部の刻々と変わる環境に対して、 適切な対応を選択し、実行する これは操作方法だけじゃ無理だよ
704 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 19:48:06.43 ID:OQHJwW6B.net] Git初心者で、使い方が分からない部分が多くあります。答えていただけると嬉しいです。 GitにアップロードするためのツールとしてTortoiseGitを使っているのですが、 最初にアップロードする(プッシュする)のはいいとして、 ローカルの中身を更新した際、プッシュしてもオンライン上で全く同じ状態にはならず困っています。 具体的には、オンライン上で「ファイルA・ファイルB」、ローカル上で「ファイルA・ファイルC」とあった場合、 プッシュするとオンライン上で「ファイルA・ファイルB・ファイルC」となって、ファイルBが削除されないのです。 いちいちブラウザ上で手動で削除するのが面倒なのですが、何か上手い方法はあるのでしょうか。 また、各種Gitツールを使わず、ブラウザからレポジトリに直接ファイルをアップロードすることはできるのでしょうか?
705 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 20:10:35.67 ID:AMVc4lNO.net] >>699 > ファイルBが削除されないのです TortoiseGit のメニューから削除してないんじゃない? > ブラウザからレポジトリに直接ファイルをアップロード サービスの提供者に聞いてどうぞ
706 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 01:44:19.98 ID:2XvJk2DZ.net] >>694 えとさぁ、見苦しいよ。 人のコメントを引用して、 そのことについて、何が間違ってるかを 何一つ書かないで、言い返した気になるのは。
707 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 01:47:39.52 ID:2XvJk2DZ.net] >>696 > 俺「俺がその管理者なんだよ〜。どうやってルール決めればいいかわかんねーよ」 社内に詳しい人がいないなら、社外の知識を利用すればいいのでは? 最近はオープンソースでgitでどういうコミットをしているのか 見ればすぐにわかるし、資料も多いし、2ちゃんねるでもこっちのスレで詳しくやってるよ。 Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/
708 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 01:50:44.54 ID:2XvJk2DZ.net] >>698 > 外部の刻々と変わる環境に対して、 それはわかる。単にコマンドを覚えるだけじゃなく gitの外部の環境=ソースコードに応じて 適切な順番と内容で対応を変更して実行する。 これはコマンドを覚えるだけじゃ出来ないからね。 それは他の人のコードのブランチをレビューしていて 痛いほどよくわかってる。コマンドを使うことは出来る だけどあるべき姿のものを作れない。
709 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 00:59:50.94 ID:PH3D3/9J.net] 浜野さんのミドルネームの C って、何の略かな?
710 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 11:20:49.71 ID:ZM3mWJtN.net] 濱野・チャーリー・純。 それが彼のフルネームよ!
711 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 11:37:12.53 ID:HDA/Cn6G.net] ごめんくさい〜
712 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 00:13:48.85 ID:7C1PfN58.net] >>687 ありがとうございます。 submoduleでいけました。
713 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 01:55:47.83 ID:LRuQsu+J.net] >>705 >>706 懐かしい。 チャーリー浜かよw
714 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:15:18.31 ID:AmmNKqz/.net] https://github.com/python/cpython/commit/efe0e11c78f890146375f1d4cbed4b513cdffa3c これどういうことですか? 同じ文字列が削除されて追加されているコミットってどうやって作るんですか?これ何の意味があるんですか?
715 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:16:28.66 ID:TZUCxsD3.net] foxがFoxになっとるやんけ
716 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:28:36.36 ID:dzgBqGJj.net] 改行コードが変更されただけとか 行末のスペース無くなってるだけとか TABがスペースに置き換わっただけとか たまによくある
717 名前:デフォルトの名無しさん [2015/06/16(火) 21:45:33.41 ID:gqnH2dL3.net] sourcetreeで、stashをpopする方法はある?
718 名前:704 mailto:sage [2015/06/17(水) 00:09:44.91 ID:zdNvSItr.net] 言われて気づきました大文字が小文字になってるだけだったのに今気づきました
719 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 19:22:19.83 ID:Uu1OTzaj.net] Git 2.4.4 https://github.com/git/git/releases/tag/v2.4.4
720 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 00:27:48.54 ID:7B4eGBDb.net] うまく説明できないんですが、GitHubとは別サイトで認証が必要なライブラリで そのサイトでGitHubのアカウントを登録してGitHubから引っ張ってくるんですが、 登録さえしてしまえば普通にcloneで取ってこれます。 それをsubmoduleで使いたいんですがローカルリポジトリに追加してコミット、 自分のサーバのリポジトリにプッシュしても、他の人が使えません。 自分自身も一度ローカルを消して、自分のサーバからクローンしようとしても エラーになってしまいます。 このような場合はどうすればよいでしょうか?
721 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 00:33:40.72 ID:vn28fqVf.net] >>715 まずこの意味がわからない >GitHubのアカウントを登録してGitHubから引っ張ってくる 具体的に何やってるの?
722 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 01:25:52.57 ID:X9wRJKf5.net] >>715 submoduleのリポジトリも含めて皆がcloneできる場所において、 submoduleの参照先を変えないとだめかもしれない。
723 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 19:53:58.42 ID:lbH07egD.net] >>716 .gitmodulesの示す先がローカルのパスか、その別サイトにログインできないとcloneできないとか そんなんじゃね?
724 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 20:20:22.80 ID:lbH07egD.net] ああ、>>716 の疑問はそこじゃないな・・ githubを監視するようなサイトが幾つかあるけど、そんな中にミラーを提供する奴もあったかもしれない (うろ覚えでオセロか何かそんな名前のサイトがあった気がするけど今見たら消えてるな・・・) そういうのを使ってるんだろう と、エスパーしてみた
725 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 16:52:03.91 ID:YPeQCGDm.net] pushしたコミットログをタイポしたのでrebaseで直した後に 別の最新の更新内容をpushしようとしたら pullしろっていわれたのでpullしたらコンフリクトしました こういうときってどうやってコンフリクト起こさずにログを修正したらよかったんですか?
726 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 17:00:11.07 ID:RKAD3ekV.net] >>720 あんたのレベルだとpush済みのタイポをrebaseで直してpushしようとしたらダメだ 多少歴史が汚くなるとしてもタイポも新しいコミットとしてpushすべき
727 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:17:52.76 ID:0NmNrFCo.net] >>716 >>717 >>718 >>719 どうもすいません。ちょっとてんぱり気味でした。 >>718 のおっしゃる通りです。 ただユーザー名とパスワードを書くのは引けるので調べたところ GitGubでトークンというのを作って.gitmodulesに書き込む事で うまくいきました。
728 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:55:06.03 ID:/gMpDjZs.net] pushしてからrebaseはコンフリクトする罠
729 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 02:49:01.15 ID:j9mWyPD+.net] >>720 >>721 は無視していい(笑) おそらく>>721 自体がやり方をわかっていない。 >>721 自信がが説明できるレベルにないのを「あんたのレベル」という言葉でごまかしてるw おそらく答えとしては「push時に--forceをつけろ。」だろうけど 以下、ちゃんとした解説 ------------------ どれをどこにpullしたのかよくわからんが、まず「みんなで共有しているブランチ」と 「自分専用のブランチ」と分けて考える。 「みんなで共有しているブランチ」の代表例はmasterだな。他に次バージョン用のブランチなどがある 「自分専用のブランチ」はトピックブランチと呼ばれたりする。 自分専用のブランチは、その名の通り自分専用なのだから勝手に更新されることとはない。 みんなで共有しているブランチは誰かが勝手に更新する。 みんなで共有しているブランチは、そのブランチに対して直接修正してはいけない。 必ず共有ブランチから自分専用のブランチを作って作業をする。終わったら共有ブランチにマージする。 自分専用のブランチは自分専用なのだから好きにrebaseしてよい 自分専用でも他の人が見ることはある。だけどそれは見てるだけなので何も問題ない ここまでは前提知識として 続く
730 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 02:50:06.54 ID:j9mWyPD+.net] > 別の最新の更新内容をpushしようとしたらpullしろっていわれたので pullする必要があるのは共有ブランチの場合だけ。なぜなら自分専用であれば 自分しか更新しないから、サーバー側がローカルよりも新しくなることはなく pullする必要がない。 そして共有ブランチであれば、そこを調節更新することはないのでpullが失敗することはない 失敗したら間違って共有ブランチをローカルで更新してしまったとうこと。 その場合は(他のブランチにリネームしたりしてバックアップを取ってから) 共有ブランチは適当に巻き戻したり消して取り直せばいい じゃあ何故pushした時にpullしろと言われたのか? それは単にサーバーにpushされているのと、 自分がpushした内容(の歴史)が食い違っていたからなだけ。 gitはブランチが共有ブランチなのか自分専用のブランチなのかの区別は できないから無いから食い違いをサーバー側が更新されたからだと解釈した。 でもそれが自分専用のブランチであれば、 ローカルにあるブランチが正しいので単にgit push --forceをすれば良い。 自分専用のブランチなのだから、git push --forceしたとしても 誰にも迷惑はかからない。
731 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 03:00:25.50 ID:j9mWyPD+.net] 補足 理屈上は>>725 に書いたとおりで間違いないのだけど、 人間はミスするもので、間違ってローカルでmasterを修正して それをgit push --forceしてしまうなどということが起こりかねない。 中途半端にしか理解できてない人がmasterにpushできない? あれぇ〜? --forceしてみよう。とかやってめちゃくちゃにして、 その経験(?)を悪い方向に活かして、○○は禁止 (理由:なんでそうなるのか俺には理解できんから)とか 言い出してgitを使えない・不便な道具に、変えてしまう愚か者が少なからずいる。 だから早いうちにgithubやgitlabを取り入れた方がいい。 gitlab(無料だよ)だと、masterに対してのpush --forceを禁止して ウェブ画面に限定出来たり(デフォルトでそうなってる)と便利。 「共有のブランチ」と「自分専用のブランチ」を明確に区別するために プロジェクトのリポジトリから、自分専用のリポジトリへforkを行ってから開発するから ブランチがたくさん出来て、どれがなんのブランチなのかわからなくなることもない。
732 名前:デフォルトの名無しさん [2015/06/22(月) 04:12:25.25 ID:6fsOI3Rm.net] そして>>724-726 を見た>>720 は、なんだかよくわからないけどgit push --forceでいいのかぁ〜と理解し push --forceの乱発で他人のコミットを上書きしまくってプロジェクトを混乱に陥れるのであった…
733 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 05:17:00.13 ID:mEuvJOmb.net] >>724-726 の結論 git push --force 推奨
734 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 06:18:54.34 ID:j9mWyPD+.net] なんか必死なバカが居るw
735 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 08:17:21.67 ID:Jo3Uu3lv.net] 自演乙
736 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 09:57:48.30 ID:PyoyBJGz.net] >>727 >なんだかよくわからないけどgit push --forceでいいのかぁ〜と理解し これは別にID:j9mWyPD+悪く無いだろ……
737 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:01:38.28 ID:PyoyBJGz.net] 大体、Git使う奴がアホかどうかなんてソフト側から判別できるわけ無いんだから、 どう丁寧に教えようがリスクは当然有ると考えるべき(戻せるだけマシ) だったら丁寧に教えてあげた方が後から文句言われる筋合いを無くせるという利点も……
738 名前:ID:j9mWyPD+ mailto:sage [2015/06/22(月) 10:09:04.83 ID:6W+IUVUv.net] 俺的には プロ(俺)の目の前で、アマチュアが初心者に 「お前にはまだわからんだろう
739 名前:ェな〜」と 言い出したように感じたものでw アマチュアが、pushした物の歴史改ざんしたらいけないんだぜーとか push --forceはだめなんだぜーとか言ってるのを見るとねぇ(苦笑) そういう書き込みには、決まってなぜだめなのかといった理由が書いていない。 自分がわかってないからさ。 理由を考えれば、どういう場合にはだめで、どういう場合ならいいかが わかるはずなんだが、一部の人間は何も考えたくないからか、 状況など考えずに、良いか駄目かのわかりやすいルールを求める。 そういう人間にはならないようにしような。 [] [ここ壊れてます]
740 名前:デフォルトの名無しさん [2015/06/22(月) 10:16:31.40 ID:nboh/a20.net] 間違って操作しても壊れないようにするのがフェイルセーフ(馬鹿除け)の基本なんだが
741 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:30:46.58 ID:6W+IUVUv.net] 世の中に間違って操作しても絶対に壊れないものなんてないぞw フェールセーフというのは間違って操作しても「安全」という意味だ。 英語:セーフ=安全 お前が言うべきなのは、フールプルーフな。 英語:フール=馬鹿 gitにおけるフールプルーフはreflogだろうな。 これによってコミットが消えることはない。 間違って操作してもgitなら複数の場所にコピーがあるから これもフールプルーフといえよう。 push --forceしても別に壊れるわけじゃない。混乱が発生して困るだけだ。 もちろんそういう問題が発生するのは、みんなで共有しているブランチだけであって だから自分専用であれば誰も困らないんだからやっていいという話をしてる。 >>734 お前は何がいいたいのだ?
742 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:52:29.70 ID:kJni3XZO.net] 釣られたんじゃね?
743 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 11:00:33.51 ID:Jo3Uu3lv.net] リポジトリが公開されているからと言って 勝手にforkして作業してたら 主が勝手に(自由に)pushして forkした側が混乱して困ってこれまた勝手にクレームを付ける 誰宛てのアンカも無いレスに対して >>735 がやってることはまさにそれ
744 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:16:35.13 ID:a9m1vXpg.net] そういう揉め事はこちらへどうぞ peace.2ch.net/test/read.cgi/tech/1433650988/
745 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 17:40:26.27 ID:PyoyBJGz.net] ID:6fsOI3Rm=ID:Jo3Uu3lv必死すぎワロスwww
746 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 18:04:38.52 ID:6W+IUVUv.net] >>737 落ち着こうw あんたが言っている問題(?) それはフォークなど関係なく発生することだ。 複数人で開発したら、一人が開発中に もう一人が修正した。という話をしているだけだな。
747 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:50:24.16 ID:ScRlfOQU.net] いっぱい釣れたね
748 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 20:27:08.06 ID:O6QpuzQl.net] おまえらpush --forceを甘く見すぎだな Aがトピックブランチ作成 Aがトピックブランチ上でコミットXを作成してpush Bがトピックブランチ作成 Bがトピックブランチ上でコミットYを作成してpush、トピックブランチ破棄 Aがトピックブランチ上でタイポ直したコミットX'をrebaseで作成してpush --force コミットYは上書きされてしまうわけだが、これ誰も気がつかずコミットYがGCされちゃうことあるんだよ?
749 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:41:32.22 ID:mEuvJOmb.net] x されちゃうことがある o されちゃう
750 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:47:27.01 ID:O6QpuzQl.net] GCされる前に誰か気がつけばreflogから復旧できるんで
751 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:36:10.08 ID:a9m1vXpg.net] >>742 AとBのトピックブランチが同じ名前ならBのpushのときに失敗するだろ。 その場合はトピックブランチを共有してるのだから、push -fしてはいけないのは当たり前
752 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 00:36:04.38 ID:UdZmnE2/.net] >>742 >>745 の言うとおり。共有しているブランチは push --forceしたらだめだと書いた。ちゃんと判断して使え。 ミスしたらという話をするならば masterを消すことだって出来てしまう。 だからgitlabを使えと言ってるんだよ。gitはソースコードの管理をするためのもので ユーザーの管理、つまり誰が何をやっていいかダメかっていうのは管理してない。 --forceが問題なのではなくて、gitだけでやろうとしているのが問題 ユーザーの管理がしたいのならGitサーバーを使う。それはGit Proにも書いている。 https://git-scm.com/book/ja/v1/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC 俺のおすすめはgitlab。Git Pro 2nd Editionの方に翻訳されてるな。 https://git-scm.com/book/ja/v2/Git%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-GitLab フォークして自分のプロジェクトで作業するならば、 メインのプロジェクトには共有ブランチだけ、 自分のプロジェクトには自分専用のブランチだけになる。 共有ブランチはプロテクト等をかけることで、 push --forceできなくすることもできる。
753 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 00:45:05.79 ID:4795aBmW.net] gcをしても初期設定だと直近二週間のコミットは保存されるし 他の奴の作業コピーから復元できるかもだし
754 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 01:19:15.14 ID:UdZmnE2/.net] 少なくともコードを書いた本人のマシンには 本人が書いたコードは残ってるんだよね。
755 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 16:29:38.65 ID:LQfp6JsA.net] べらんめぇ 宵越しのコードは持たねぇのが粋ってもんよ
756 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:22:25.05 ID:CqiNTuO0.net] おっ、粋だね!
757 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:57:22.50 ID:Yra6/pdr.net] >>749 てめえ、コミットする前にコード消しやがって、何が粋だよ
758 名前:デフォルトの名無しさん [2015/06/23(火) 22:28:58.60 ID:SktsG5/m.net] コードもまた別れがあるから愛おしいのよ。 いつでも逢えたらロマンチックじゃないじゃない。
759 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 08:57:50.31 ID:NHniIMjV.net] >>751 江戸っ子は気が短けーんでい
760 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:23:29.89 ID:ix5XSndE.net] コードなんてもなぁ、そう何度も何度もね、 テストしたりコミットしたりほどのもんじゃないんだよ。 オレなんか、急ぐときなんざ エディタで保存する前に 消しちまうんだ
761 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 11:47:16.43 ID:Q1kb1EVf.net] 3つのファイルを編集した1コミット分をgit pushしたときに Total 9 (delta 5), reused 0 (delta 0) って表示されたんですが9と5ってなんですか?
762 名前:デフォルトの名無しさん [2015/06/28(日) 11:33:24.51 ID:5m9gZHLm.net] 基本的には実行属性を無視しつつ、 ある特定のファイルの実行属性だけ無視しない という設定をしたいんだけど、どうすればいい!?
763 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 11:47:33.27 ID:VLu09OAr.net] >>756 Linux使えば良い。
764 名前:デフォルトの名無しさん [2015/06/28(日) 13:44:26.56 ID:5m9gZHLm.net] >>757 Linux使ってるんだけど、どうすればいい・・・
765 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:04:26.07 ID:lxz6gjyn.net] chmodぐらい勉強しろ。
766 名前:デフォルトの名無しさん [2015/06/28(日) 15:26:50.01 ID:5m9gZHLm.net] >>759 いちおうわかりやすく説明しなおすと、 chmodをすると、gitは属性の変更を検知するでしょ? それを本当に実行するファイル以外では無視したいの。 たとえば、 bin というフォルダにあるファイルの 実行属性があやまって変更されたら検知してほしいけど doc というフォルダのファイルをうっかり属性変更しても そんなのは無視してほしいんですよ
767 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:36:00.06 ID:YBvq0FDq.net] .gitignoreや.gitattributesでどう設定すれば・・・って話だろうけど 確かにもうすこし具体的に何がしたいか書かないとレスつかないだろうね
768 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 16:49:31.94 ID:uJqfu/82.net] sambaからコピってパーミッション直さないのがいると 全部のファイルに実行権ついててうざっ…とはなるな
769 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 17:03:24.02 ID:WJabjmO6.net] >>762 cygwinなら/etc/fstabで/cygdriveをnoaclに設定しとけばその手の煩わしい手間の必要はたぶん無い msysgitとかだと同じことできなかったりする?
770 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:27:03.56 ID:uJqfu/82.net] >>763 Windows->(Samba)->Linuxにコピーして Linuxでgit addした時の話ね msysgitなら実行権を無視するのでそういう事にはならないよ
771 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:39:52.16 ID:lxz6gjyn.net] だからLinux使えって言ってんだろ?
772 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:07:20.93 ID:WJabjmO6.net] >>764 それはsamba側の設定でcreate maskを0644にしちゃえばいいと思うんけど、 そういうわけには行かない使い方をしてるのかな?
773 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:25:52.15 ID:uJqfu/82.net] >>766 自分配下のものならそれでいいんだけど、 個人用のLinux PCとか、IT管理部門が許可しなかったりと なかなか統一できないのよね…。 質問の件は git config core.filemode false で 実行権限無効化するくらいしか思いつかないな gitattributesでできるんかな?
774 名前:デフォルトの名無しさん [2015/06/28(日) 20:28:07.89 ID:5m9gZHLm.net] >>767 実行権限無視の設定にしてる。 でもこれだと、ほんとに実行するファイルの実行権限が落ちていた時に 気付かないので、できればやめたい
775 名前:750 mailto:sage [2015/06/28(日) 20:31:54.95 ID:/nFQf9C+.net] どなたかおねがいします
776 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:44:04.23 ID:WJabjmO6.net] >>769 stackoverflow.com/questions/21476167/when-i-do-git-push-what-do-the-statistics-mean-total-delta-etc
777 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:55:49.53 ID:im5DcXMU.net] うーん、 プリコミットフィルターでコミットを拒絶するか ポストコミットフックで実行権を強制的に書き換えるか やりかた?知らん。
778 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 16:18:10.01 ID:rbxhDT3n.net] git diffが見づらいんですが 背景色を変更したり文字の色を指定する方法をおしえてください
779 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:14:42.93 ID:k+90EXgh.net] .git/config
780 名前:デフォルトの名無しさん [2015/06/30(火) 09:22:56.54 ID:TGfi4m1b.net] コミットした内容を破棄するんじゃなくて コミットしたことを破棄したいんだけど どうしたらいいの? ファイルの内容は戻したくない
781 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 09:39:02.37 ID:4wEdMli5.net] >>774 git reset HEAD^
782 名前:デフォルトの名無しさん [2015/07/04(土) 13:39:17.57 ID:YKtPOMLD.net] 要件とか設計書をmarkdownとかで作成してバージョンを管理するとします。 そして変更履歴を一覧として出力(差分のみ)して作業指示書のようにすることはできますか?
783 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 07:01:20.85 ID:p0+3cdhD.net] git log -p でええか?
784 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 11:19:13.00 ID:jgWjPX/O.net] SourceTree ってわかりにくくない? 編集したのを元に戻すつもりで破棄を選んだら ファイルを消されたよ 実行したgitコマンドのログも見れないし
785 名前:デフォルトの名無しさん [2015/07/06(月) 12:24:05.59 ID:IqUlle/j.net] 使ってないよ
786 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 07:05:33.80 ID:NpIL7uvL.net] >>776 人間を機械のように扱わないとあかん案件か。
787 名前:デフォルトの名無しさん [2015/07/07(火) 10:56:27.88 ID:L2fl7GI9.net] >>780 Excelでいつの間にか更新されてて、取り込まれてないよ!っつーのをなくしたいんですわ
788 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:01:07.32 ID:JwFwNWWF.net] csvにしてからテキスト比較する程度でも足りそうな
789 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:25:04.32 ID:y1gFbJO1.net] いままで要件定義とか設計書をExcelでやってたのをGit管理したmarkdownへ変更したいってことなのか?
790 名前:デフォルトの名無しさん [2015/07/08(水) 01:45:10.53 ID:uot9w4rY.net] これって他人のコード見れたりするんですか?
791 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 02:11:28.13 ID:uBhtmoLk.net] ほんとExcelの仕様書は根絶してもらいたいな バックエンドにGitを使ったWikiで何か良いものはないのかな?
792 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 04:28:24.61 ID:L2Tv4EJx.net] >>785 gitlab
793 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 19:28:18.03 ID:ribTz8l0.net] >>785 エクセルをgitで管理すると捗るよ
794 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 23:28:04.19 ID:PLuP1x0a.net] tortoiseGitのdiffでexcelの差分表示機能は秀逸 差分機能のないexcel自身を使ってなぜか差分表示を行ってしまう wordファイルはword自身の機能を使って差分表示 SourceTreeはWinMargeの呼び出しが標準たな? tortoiseGitには負けるけどそこそこ使える コマンドラインではdocx2txtが定番なのかな?これってexcel対応してたっけ?
795 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 00:13:15.31 ID:Ud/4MC5K.net] markdownやplantUML使うならAtomよさげだなあ これぞ開発者のツールって感じ
796 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 03:42:11.87 ID:/JprfCCX.net] >>787 > エクセルをgitで管理すると捗るよ 前にやってた(知らない所で勝手にやってた)ことあるけど データ容量増えすぎでいらいらするようになったよw 差分で記録できないからね。 画像とか含まれていると、数MB単位で増え続ける。
797 名前:デフォルトの名無しさん [2015/07/10(金) 04:02:17.76 ID:27W+BsF0.net] やって後悔するのは愚者 やらんでも予想出来るのが賢者
798 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 08:38:00.86 ID:xDEEK620.net] git って差分で記録なんてしてたっけ
799 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 09:26:19.80 ID:JycZhxcB.net] その人はExcelでgitを作って管理すると捗ると言ってるのだ それなら通じる
800 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 14:24:22.04 ID:PDFfD/6i7] >>792 コミット時にはしないけど、git gcの時に似ているファイル同士は連結圧縮してくれる
801 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 14:24:46.34 ID:9keGjwZf.net] >>792 コミット時にはしないけど、git gcの時に似ているファイル同士は連結圧縮してくれる
802 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 17:46:21.87 ID:t6CAZDWG.net] SourceTreeをアップデートしたらウィンドウが半分になった どうしよう
803 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 17:49:20.78 ID:t6CAZDWG.net] ブックマークを表示してサイズ変更して非表示にしたら直った。 不思議なこともあるもんだ。
804 名前:デフォルトの名無しさん [2015/07/14(火) 01:33:04.33 ID:vBESeRtH.net] 案件とかで使ってないけど、趣味でgit勉強してます。 で、どういう運用すればいいのかよくわからん。 まず、バージョン1とかマイルストーンでブランチを切った方がいい?で、そこから機能でブランチを切ってく感じ?
805 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 06:39:52.42 ID:lsljdDda.net] 好きにしろ
806 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 10:23:57.14 ID:pNaF7lhj.net] >>798 まずブランチなんか無視して使い方を覚えるんだ
807 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 11:24:20.22 ID:OwkWHpBs.net] >>798 このスレはgitであのコマンドってなに?とか git周辺のソフトって何が有る?とか そういうことを聞くスレだよ。 主に初心者向け gitの運用の仕方はこっち Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/
808 名前:デフォルトの名無しさん [2015/07/14(火) 12:53:22.36 ID:G0PBqp91.net] >>801 どう見ても初心者だろ
809 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 13:07:53.62 ID:VxoBFrok.net] >>802 運用のことを考え出したら初心者じゃない。 コマンドなんてあとから覚えりゃいいんだよ。 運用があって、それに必要なものを作ったのが gitなんだから。
810 名前:デフォルトの名無しさん [2015/07/14(火) 13:20:00.15 ID:G0PBqp91.net] 初心者はコマンドを先に覚えた方が良い。 でないと、話が通じない。 ある程度使って、具体的に困ったところが出てきたら、運用スレで聞けば良い。 ただしあっちは関係無い話に脱線しがちだから、良いとこ取りした方が良いよ。
811 名前:デフォルトの名無しさん [2015/07/15(水) 23:09:43.18 ID:a+rEGmf6.net] すいませんgitでコミットするときにこのファイルは何で更新したのか思い出せません。 なので、これから更新する内容は「○○機能を実装」ってことでそれをプロジェクトルートのテキストファイルにメモ書きしてました。 しかし、コミットするときに毎回メモを見るのを忘れてしまいます。 再帰にコミットログを書いとくとかなんかtodoみたいなコマンドってありませんか?
812 名前:デフォルトの名無しさん [2015/07/15(水) 23:10:19.62 ID:a+rEGmf6.net] 訂正 ☓再帰にコミットログ ○先にコミットログ
813 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 23:21:39.17 ID:YpeXwOwK.net] >>805 > それをプロジェクトルートのテキストファイルにメモ書きしてました。 いますぐそのようなアホなことを辞めましょう。
814 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 23:22:13.29 ID:VsrdjrWK.net] 前回との差分見ながらコミットログ書けばいい あらかじめ用意しておくから忘れるんだ
815 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 23:44:52.69 ID:DsRhlYqB.net] 自分が今なにをしてきたか忘れるのか、 よっぽどコミットを溜めるのか、 コミットのコメントが適当すぎるのか もうバージョン管理以前の問題な気が アナログだけど付箋にメモしてディスプレイに貼れば? 左がこれからやること、上部が今やってる事、右が終わった事、 いや右は要らんかな?
816 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 00:52:26.73 ID:Ye9E1FJD.net] >>805 自分が差分を見て理解できないコードをコミットしちゃダメだよ
817 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 02:04:46.85 ID:C5QhjRoF.net] git notes とかはどうかな?
818 名前:デフォルトの名無しさん [2015/07/16(木) 04:35:55.01 ID:MREKRM2C.net] >>810 差分ってたまに直観的じゃない出力することが良くある
819 名前:デフォルトの名無しさん [2015/07/16(木) 07:52:03.14 ID:SnFgv9L8.net] git diffの表示範囲を広げるオプションは?
820 名前:デフォルトの名無しさん [2015/07/16(木) 08:04:35.28 ID:SnFgv9L8.net] >>805 githubとかRedmineとかticket/issue管理ツールと併用するのが一番だけど、1人で使うのだと構築するのが大変かもね。 メモをgit管理されていれば、メモの差分もgit diffで出るよね。なので、commitする前に必ずgit diffしていればメモを見るのを忘れることはないはず。 このやり方をする/しないにかかわらず、commitする前にgit diffをするのは大事だから習慣付けるべきだよ。
821 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 09:31:42.39 ID:NYNU6iM6.net] 変更するたびにコミットしといてpushやmerge前にamendなりrebaseで整形すればよくない?
822 名前:デフォルトの名無しさん [2015/07/16(木) 12:26:35.31 ID:WO54leEH.net] >変更するたびにコミット コンパイル出来ないものをコミットするメリットは?
823 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 12:32:11.52 ID:DSiPnBiQ.net] コンバイル云々より下のレイヤーの使い方をしてるだけだろ。 ビルド管理の目的以外でバージョンコントロールしてはいけないという理由はない。
824 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 13:02:02.47 ID:Q/SdAAm+.net] してはいけないのではない。 ソフトウェアのバージョンを管理する以外につかっても 意味が無いということだ。
825 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 13:39:11.99 ID:Ye9E1FJD.net] ぜんぜん使いこなせてないな そんなんじゃgitを使う意味が無い
826 名前:デフォルトの名無しさん [2015/07/16(木) 14:56:22.79 ID:SnFgv9L8.net] ここは初心者向けだそうなので、gitの使い方に自信がある人はこちらへどうぞ。 Gitをより良くするための運用ガイドライン作成スレ [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1433650988/
827 名前:デフォルトの名無しさん [2015/07/16(木) 15:16:59.28 ID:FDPV8gUS.net] >>810 ある機能を実装するのに、差分の出し方としての段階があると思うけどそういう単位でやるの? 面倒じゃない?
828 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 15:29:22.25 ID:cQ0wrBTO.net] >>816 何をやってたか忘れない 別途メモ管理不要 revertできる
829 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 16:59:52.48 ID:XEPlidkJ.net] revertは悪
830 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:11:52.83 ID:BQ1LfMZh.net] >>805 > 先に再帰にコミットログを書いとく どうしてもと言うなら git commit --allow-empty -m "○○する予定" touch a; git add a; git commit --amend -m "○○してやったぜ"
831 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:13:56.91 ID:sUV1QtUU.net] プログラムしてからコミットコメントを練る習慣を逆にすることを勧める。 コミットコメントの内容は、コーディングする前に決めておく。 つまり、これから何をプログラムするのかをまず決める。 その後、コメント通りにプラグラムできたら完了、コミットする。 下記のページの Write preemptive comments でも推賞されている。 https://arialdomartini.wordpress.com/2012/09/03/pre-emptive-commit-comments/ こうすれば、何で更新したのか、と悩むことはなくなる。
832 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:24:57.63 ID:sUV1QtUU.net] >>805 「○○機能を実装」というのがデカすぎるから、 メモを見なきゃ把握できなくなるんだよ。 で、メモを見るのを忘れて困ったことになる。 これを改善しないと、git に君が望む機能(ツール)があったとしても、 全く役に立たなくなる。 更新内容の粒度はもっともっと小さくしなきゃだめだ。 10分かそこらでプログラムできる程度の大きさにしてみな。 そうすれば、メモを見る必要すらなくなる。
833 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 20:38:56.88 ID:IhY29Rvn.net] VCSがない時代の人 1.あれやこれや編集して、時々変更が失なわれないようにファイルに保存 2.目的の変更が完了したところで、バックアップを作成しておく VCSの時代の人 1. 以前と同じ 2. リポジトリにコミット DVCSの時代の人 1.編集中の変更は基本自動保存。昔のファイル保存するような感覚でローカルリポジトリにコミット。 2.目的の変更が完了したところで、履歴をまとめてリモートリポジトリにプッシュ。 この運用方法のポイントは ファイルは自動保存すること。 ローカルコミットにはまとまった意味など不要。 単に編集量や、経過時間のチェックポイントとしてコミットする。 このコミットコメントは、いい加減なメモや、あるいはコメントなしでもよい。
834 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 00:55:21.98 ID:6Y2ZhytJ.net] Android studioというかIntelliJ IDEAでGitと連動させたソースの編集がまさに>>827 のDVCSの時代の人のやりかたができて便利 ファイルへの保存についてはまったく気にする必要がない ソースの編集画面でHEAD内容と差分のある行の左端に常に印がつく その印をクリックすると編集前の内容がポップアップで表示されて、行を編集前の状態に戻すとかこのポップアップから操作できる ソースの編集画面からファイル単位のコミットとかできるし、--amend指定なんかもワンタッチ HEADと差分あるファイルの一覧を表示してる窓からまとめて全部コミットとかもできる これで行単位のコミットとかできたら完璧なんだけどそれは無いみたい IDEを起動したままコマンドラインでgit add -pしてcommitしてもIDE側でほぼ完璧に追従してくれるのでまあなんとかなってる
835 名前:デフォルトの名無しさん [2015/07/17(金) 04:20:41.08 ID:OfiHmkDl.net] >>826 差分を1つ1つみなきゃいけないゴミコード打つなよ
836 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 05:57:36.41 ID:JRoNxi4V.net] パーツごとにブランチを分けて開発し、各パーツを統合する開発ブランチにマージして開発をする or パーツごとにリポジトリを分けて開発し、全てのパーツをサブモジュールとしてリポジトリ内に持つリポジトリで開発をする どっちがいい
837 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 13:27:11.26 ID:2DUlvwkL.net] パーツごとにブランチ? そんなことをやってるプロジェクトがありますか?って話だ。
838 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 20:25:59.09 ID:zMQ3zlsL.net] よっぽどの規模じゃないとあんまり細かくサブモジュール化しても面倒なだけだと思う
839 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 20:45:24.33 ID:3x9AOrGu.net] index.php calendar.php この2つのファイルを編集してまだaddをしてない状態なんですが index.phpだけ編集しなかったことにして前回のコミットした時の内容のままにして、 calendar.phpだけコミットしたいんですが どうやってindex.phpを更新してなかったことに出来ますか?
840 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:56:30.48 ID:muZ+fGR1.net] >>833 Indexの変更を手元に残しておきたければcalenderだけaddしてcommit
841 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:46:21.84 ID:GcYCq0Aw.net] iOSアプリ開発をsource treeで管理している初心者です。 今回チャット機能つきのアプリを制作しているのですが、ネイティブコード、サーバーサイド(php)、データベース(MySQL)を同時に管理するのは無理(もしくはかなり難しい)ですよね? ネイティブコードとサーバーサイドはsource treeで管理するとして、 データベースの情報はコミット毎になんらかの方法で全テーブル情報をログ出力して、それをメモ代わりに置いておく…ということくらいしか思いつかないんですけど、どうでしょうか。 サーバー連携が必要なアプリって、みなさんどうやってGitで管理してるんでしょうか…
842 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 20:15:32.34 ID:5OYZKZ4e.net] 普通、バージョン管理の対象にするのはDDL、初期データ、設定ファイルくらいだろ。 コミットごとのテーブル情報って、何を管理しようとしてるんだか。
843 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 21:05:27.99 ID:Xl228nsE.net] 俺もデータ内容まで保存しようというのはかなり冗長な気がする。 スキーマ更新のSQLのみバージョン管理、 DBのバックアップは別にダンプしてアーカイブだろうな。
844 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 06:20:36.38 ID:KkAp073H.net] >>835 データの中身は管理対象外、データベースのバックアップの問題 ソフトが対応するデータベースのインターフェースと言う意味では クエリー処理のプロシージャをDB側で組んでおくのが一番簡単だけど どうしてもというならDBをゼロから構築するスクリプトなりバッチなりを書いて それをGitで管理せておく なんにしろデータベースとアクセスアプリは分離しておくのが大切
845 名前:デフォルトの名無しさん [2015/07/19(日) 06:48:36.12 ID:EU0ROg42.net] 特定のデータの混入がバグの原因になる場合 git bisect で特定したければ DB のバックアップも git 管理に入れる必要がある
846 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 07:28:28.07 ID:KkAp073H.net] >>839 なるほどそういう考え方もあるか
847 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 09:06:48.58 ID:wG1rbxp8.net] バグはデータじゃなくてコードの側に存在するものだろ。 bisectするにしても、バグを再現できる同じデータを使わなければ見つかるもんも見つからなくなると思うが。
848 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 09:12:53.24 ID:I0iNBGYL.net] 確かにその場合単体テストを増やすべきな気がするな
849 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 12:04:49.68 ID:Npxm1YBj.net] >bisectするにしても、バグを再現できる同じデータを使わなければ そのためにコミットごとにデータもダンプするんじゃないのか? 再現ももちろんデータ書き換えでテスト実行
850 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 12:48:59.20 ID:wG1rbxp8.net] bisectは基本的に、新たに判明したバグについて過去にさかのぼって原因箇所を特定する ためのものだと思っていたが。 テストデータもcommit時点のものを使うとすればその時点で既にbadだったということになるが、 そういう運用していたらbisect役に立たないんじゃね? もちろん、bisectを使うつもりがなければビルドが通らないcommitするのも自由だと思うんで それは別の話として。
851 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 12:59:24.27 ID:3NrA4A7J.net] >>843 > そのためにコミットごとにデータもダンプするんじゃないのか? データは0の状態から、テストコードを書くんだよ。 テストコードの中でデータをリストアする 普通はフィクスチャっていうけどな。 当たり前だが実データまるまるダンプしてリストアなんてしない。 そんなことをやったら効率よくテストがかけない。 テスト全体が一つのデータに依存してしまうからね。 正しいテストとは、テスト対象(ファイル単位等)の テストに必要なデータだけを入れてテストする。 だからテスト実行前にはデータを全て削除する。 データベース全体をダンプするなんてことはしない。
852 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 13:06:34.44 ID:I0iNBGYL.net] テスト用DBの他にモック、リポジトリパターンも使われるな
853 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 14:22:36.05 ID:4suFbVBW.net] データもgitで管理するって新しいなw
854 名前:デフォルトの名無しさん [2015/07/22(水) 10:52:31.65 ID:phbUY/16.net] git checkout develop git branch -b my_topic_branch とした後でいくつかcommit後、「my_topic_branch作成直後〜さっきのcommitまで」をrebaseしたいとき、 git rebase -i *** の***には、何と指定すればいいですか?
855 名前:デフォルトの名無しさん [2015/07/22(水) 12:19:49.68 ID:EiNSX7P4.net] 何も指定しない
856 名前:デフォルトの名無しさん [2015/07/22(水) 13:10:35.36 ID:phbUY/16.net] 何も指定しないと怒られます。 $ git rebase -i usage: git-rebase [-i] [options] [--] <upstream> [<branch>] or: git-rebase [-i] (--continue | --abort | --skip) ちなみに、今はcommitの数を数えて、HEAD~~~~~~とかしてます。
857 名前:デフォルトの名無しさん [2015/07/22(水) 13:17:41.56 ID:EiNSX7P4.net] じゃあ、git rebase -i develop
858 名前:デフォルトの名無しさん [2015/07/22(水) 13:54:39.00 ID:phbUY/16.net] >>851 おお、それでいけました。 ありがとう。
859 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 16:41:20.44 ID:zBOMfGM9.net] >>851 はgit checkout developの後にdevelopへ何かコミットされた場合、 たぶん>>848 が期待してる動作にはならんぞ
860 名前:デフォルトの名無しさん [2015/07/22(水) 17:25:54.55 ID:EiNSX7P4.net] そういや、そうだね。 じゃあ、 git rebase -i `git merge-base develop HEAD` ってのが、あったけど、素直にgit logして分岐点のcommit idを調べた方がはやいかもね。 別のブランチとの分岐点を起点に rebase -i する git エイリアス qiita.com/uasi/items/70d4358c3c70c64f4261
861 名前:デフォルトの名無しさん [2015/07/22(水) 18:24:49.47 ID:phbUY/16.net] >>853 なるほど、topic branchを複数作って作業するときまずいわけですね。 >>854 merge-baseのこと知らなかったので、もう少し調べてみます。
862 名前:デフォルトの名無しさん [2015/07/27(月) 15:06:20.98 ID:+ejnTFZv.net] 質問させてください 公開版のHTMLと公開を控えたHTMLがあって、これをgitで管理しようかと考えているのですが 公開版(Master)、確認用(Blanch)とした場合、Blanchは確認環境(HTTPアクセス)として機能させることはできるのでしょうか
863 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 15:24:49.11 ID:aZg91AP9.net] >>856 何をどうしたいのかもうちっと具体的に説明しないと ツッコミようがないぞ?
864 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 15:45:36.34 ID:biNPOZMH.net] >>856 masterブランチはどうやって確認環境として機能させるつもりなの?
865 名前:デフォルトの名無しさん [2015/07/27(月) 15:47:39.18 ID:+ejnTFZv.net] >>857 説明不足ですみません! たとえば example.com/public/ この「public」内のコンテンツをgitで管理するとして 「public150727」という名前で「public」のブランチの更新版を作ったときに、ブランチ「public150727」の内容を確認環境としてブラウザで閲覧する方法はないものかと思いまして質問しました。 もっと砕いた言い方をしますと、gitと使えない環境の人にブランチ「public150727」の内容をブラウザで見てもらうことはできるのでしょうか。
866 名前:デフォルトの名無しさん [2015/07/27(月) 15:50:15.95 ID:+ejnTFZv.net] >>858 そうですね、勝手な思い込みで公開版をマスターという前提で書いていました 特に公開中のバージョンがマスターであるこだわりはありません 失礼しました!
867 名前:デフォルトの名無しさん [2015/07/27(月) 15:56:55.58 ID:T5zoWN7L.net] masterブランチをexample.com/public/ でアクセスできるようにする手順と同じ手順でできる
868 名前:デフォルトの名無しさん [2015/07/27(月) 16:03:28.50 ID:+ejnTFZv.net] >>861 「public150727」をpushするということですね!
869 名前:デフォルトの名無しさん [2015/07/27(月) 16:16:20.09 ID:T5zoWN7L.net] >>862 > 「public150727」をpushするということですね! 違う。そういうレイヤーの話じゃない。 「更新されたmasterブランチ」を「example.com/public/ でアクセスできるようにする手順」だ。
870 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 16:23:58.54 ID:ybeDhwD5.net] >>859 ローカルサーバーで見るではだめなの? りぽじとりを2つ分けて それぞれ別々でステージングサーバーにでぷろい環境にするとか
871 名前:デフォルトの名無しさん [2015/07/27(月) 16:50:45.48 ID:+ejnTFZv.net] >>863 理解が浅くてすみません 自分の知識ですとブランチごとにURLを割り当てるように読み取れるのですが、おそらくそういうお話ではなさそうなのでもっと勉強します! >>864 やっぱりステージングサーバーで確認→本番環境にPUSHするのが安心ですね 皆さんありがとうございました!
872 名前:デフォルトの名無しさん [2015/07/27(月) 16:52:44.86 ID:T5zoWN7L.net] まぁ、本人がこれで解決したと思うんならそれでいいか・・・。
873 名前:デフォルトの名無しさん [2015/07/27(月) 17:03:36.01 ID:+ejnTFZv.net] >>866 よかったら>>863 に書いていただいた手順の概要、もしくは参考のURLを教えていただけませんでしょうか
874 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 17:17:59.43 ID:T5zoWN7L.net] >>867 > よかったら>>863 に書いていただいた手順 いやいや、それは俺らにはわからんよ。 その手順がわかりさえすれば、それと同じ手順でできるだろってこと。 ローカルのmasterを変更して、それをサーバにpushしたら、example.com/public/ の内容が更新されるんだろ? その仕組みは一体誰が構築したんだ?
875 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 17:18:41.69 ID:aippD/Jn.net] .gitをWebサーバーで公開していないか心配になるな
876 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 17:21:38.69 ID:T5zoWN7L.net] >>869 うわ、その発想はなかったわ。
877 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 17:27:25.72 ID:JJPg7kwZ.net] 業務使うコマンドを全部教えてください 来月からアルバイトなんですけど clone,log,reflog,reset,branch,push checkout,commit,add,rm,mvはしってます
878 名前:デフォルトの名無しさん [2015/07/27(月) 18:21:27.18 ID:bJ8mI018.net] >>871 git --help
879 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 21:16:18.54 ID:v7fIr+eP.net] >>869 Push to deploy の改善 2.3.0 で入ってるし .git を不可視にしとけば個人サイトくらいなら問題ないんじゃない?
880 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 22:46:51.50 ID:aZg91AP9.net] >>859 やつぱりまだわからないや やりたいのは次のどっち? 1) 公開webページとかのhtmlその他諸々をgitで管理して どっかのブランチにコミットすると自動的に公開webページになるようにしたい さらに、公開前の事前確認用のページも用意したい 2) なんかプログラム開発中のソースコードとかをgitで管理しておいて みんなにレビューしてもらうためにwebページで閲覧できるようにしたい
881 名前:デフォルトの名無しさん [2015/07/27(月) 22:48:07.44 ID:u9s58J+y.net] A:ある手順を踏めばできるぞ B:プッシュすればいいんですね A:そういうレイヤーの問題じゃない B:ではどういう手順で? A:それはわからん、プッシュすればできるだろ なんとなくこのスレの闇を垣間見たような気がするぜ
882 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 23:00:40.37 ID:aZg91AP9.net] あ、よく見たら1)の方だね。 俺だったらポストフックスクリプト書こうとするな 特定のブランチにコミットされたら対応するディレクトリにexportするようなやつ gitに付属のフックスクリプトのサンプルに似たようなことやるのがあったと思うから調べてみ 手抜きバージョンなら 事前確認用のディレクトリにクローンしておいて 1分おきとかでpullかけるようにcronをセットしちゃう こんなあたりでいかが?
883 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 13:25:37.42 ID:3O5DcyiA.net] Jenkins とかの Pull Request Builder とかでいいんじゃないかと あとは heroku なにかに push して確認すればいいんじゃない?
884 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 16:06:24.66 ID:iS6umbvt.net] 2.4.7 と 2.5.0 がリリースされたね。 https://github.com/git/git/releases/tag/v2.4.7 https://github.com/git/git/releases/tag/v2.5.0
885 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 23:54:34.28 ID:Z/s3EayV.net] git v2.4.3 mv index.php sub/list.php git add . git commit -m "backup" コミットした後に rename index.php => sub/list.php (74%) って表示されたんですがこれってindex.phpをgit mvで移動したのと同じことですか? ato 74%って何を表してるんですか?
886 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 00:17:46.73 ID:j0BJwxBz.net] ファイルの一致率。ファイルの修正と移動を同時にしたんだね。 gitは移動を記録していないので、ファイルの一致率から移動を推測している。
887 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 09:32:05.34 ID:bPiFDPfp.net] >>859 よそ様の記事だがこんな感じだよ、hook script < qiita.com/fnobi/items/98bd5d1c83c010842733 > ぜひバルスしてくれたまえ
888 名前:デフォルトの名無しさん [2015/07/29(水) 15:20:03.83 ID:YsMaiv/S.net] あるフォルダの中のあるフォルダ・ファイル以外を無視したいんだけど .gitignoreをどう書いたらいいかわからない hoge/piyo ←無視しない hoge/fuga/ ←無視する hoge/foo/ ←無視する hoge/bar ←無視する たとえばこんな感じで、今は fuga,foo,bar を毎度列挙してるけど 今後フォルダがどんどこ増えるとするとちょっと嫌な気分になる
889 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 16:33:49.47 ID:bPiFDPfp.net] >>859
890 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 16:38:56.52 ID:bPiFDPfp.net] >>859 How to rebuild from update hook で検索してみ kernel.orgでのドキュメント自動公開用のフックスクリプトが解説付きで買いてあるよ あなたの場合はこれよりは簡単なはず
891 名前:デフォルトの名無しさん [2015/07/29(水) 17:01:12.31 ID:1zEW+9y+.net] hoge/!piyo
892 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 19:54:41.79 ID:syqOZkA4.net] >>878 「Git 2.5」がリリース osdn.jp/magazine/15/07/30/044700
893 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 01:34:27.13 ID:6b1uCZJv.net] おお、ついにPerforceまで取り込む気か!
894 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 08:21:08.61 ID:Uyj1+FiM.net] 指定したディレクトリ以下のファイルをスキャンして 編集してから1週間以上コミットせずに放置してあるファイルを 一覧で出力するようなスクリプトかツールあったら教えて下さい 雑多なスクリプトをgitで管理していて安定したらコミットしようかなーと思っていて そのまま忘れて半年放置のようなファイルを検出したいのですが
895 名前:デフォルトの名無しさん [2015/07/31(金) 08:36:32.35 ID:709JoO30.net] git diff
896 名前: HEAD [] [ここ壊れてます]
897 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 09:00:48.29 ID:u6UInjxJ.net] >>888 > 雑多なスクリプトをgitで管理していて安定したらコミットしようかなーと思っていて svnじゃないんだから、コミットしろよw svnと違ってコミット=サーバーに送信 ではない。 そこがsvnのだめなところであり、gitの優れたところなんだよね。 gitなら安定しなくてもコミットできる。 もしバグが見つかれば修正してrebaseしてまとめてしまえばいい。 だから意味がある単位でコミットしていって、 あとでまとめて安定したと思ったらサーバー(共有リポジトリ)にpushすればいい。 (work in progress的なやりかたなら、作りかけでもpushするのもあり) そこからレビューをうけてOKになったらmasterにマージする。 「安定したらコミット」という発想をやめないといけない その発想だとどうしても一回のマージのコードが多くなりすぎる。 小さく機能毎にコミット、gitではそれができる。
898 名前:デフォルトの名無しさん [2015/07/31(金) 09:30:41.27 ID:709JoO30.net] コンパイルできないものもコミットしていいですか?
899 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 09:51:16.96 ID:02j0y00V.net] いいよ
900 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 10:08:59.48 ID:VSZ3MRZU.net] >>891 そもそもスクリプトはコンパイラしないし
901 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 10:23:03.17 ID:5Be3R/21.net] 「意味がある単位」でコンパイルできないものという発想が良くわからない。
902 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 12:30:24.06 ID:Q/Fv6mzV.net] 毎朝コミットで良いよ
903 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 12:32:31.44 ID:02j0y00V.net] svnのコミットに近いのは、masterへのpushじゃないかね
904 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 13:05:45.97 ID:5Be3R/21.net] >>888 ひょっとして、etckeeperが求めるものだったりする?
905 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 14:59:02.99 ID:Pi4vilvw.net] https://git-scm.com/book/ja/v2/使い始める-Gitのインストール ここの一番最後に >次からはGitを使ってGitそのものをアップデートできます: って書いてあるんですが これってmakeとかしなくてもgit pullしただけで新しいバージョンのGitが使えるようになるってことですか?
906 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 15:49:47.76 ID:5Be3R/21.net] >>898 ならない。
907 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 15:51:07.09 ID:R58DjZqg.net] >>898 インストールしたGitを使ってGitのソースをアップデートできるって意味だな 当然ソースをアップデートしたあとmakeは自分でやる
908 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 05:22:16.40 ID:fbUoNrmE.net] >>891 > コンパイルできないものもコミットしていいですか? 他人に渡さないならば何の問題もない。 svnとか使ってると、この自分だけが触れる コミットという概念がわからんのだろうな。
909 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 05:24:32.97 ID:fbUoNrmE.net] >>895 > 毎朝コミットで良いよ なんで1日の区切りでコミットしてるんだよw 作業の区切りでコミットしろよ。 大抵の場合、1日に数回コミットするもんだ
910 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 05:32:58.26 ID:fbUoNrmE.net] >>894 > 「意味がある単位」でコンパイルできないものという発想が良くわからない。 コードとして意味がある単位だと、コンパイルできないことはないはずだね。 だけど、作業として見るとコンパイルできないけどコミットすることはあり得る。 例えば何かの修正をする時、設計Aの方法で実装するか、 設計Bの方法で実装するか悩んでたとする。 悩んで出てもわからないのでざっくりと作って検証することにする。 設計Aである程度作って、設計Bである程度作る。 そういった場合に、コンパイルできない状態でコミットすることはあるだろう。 もちろんこれはマージするときには、コンパイルできる意味がある単位に直すのは 当たり前だけど、作業中であればコンパイルできない単位でコミットすることはある これがsvnだと即サーバーにpushされて周りに迷惑をかけたりすることがあるけど、 gitだと自分だけのコミットにしておけばいいので、中途半端なコードでも バンバンコミットできる。というかgitならコミットしていいんだよ。 そのためにあるのがrebaseという機能なんだから。
911 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 06:00:09.26 ID:Fq14Oy7Q.net] msysgitは2系が出てくる気配ないし もうgitに追従する気は無いってことか
912 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 06:17:46.92 ID:fbUoNrmE.net] >>904 俺はwindowsだとcygwinを使ってるよ。 色々他を試したが結局cygwinに戻ってきた。 昔と違ってマシンスペックが上がったから たいして重さを感じないしね。 zshも使えるし。
913 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 07:37:18.72 ID:O3MfLUJM.net] >>904 v2系はこれ? 使ったこと無いけど git-for-windows.github.io/
914 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:19:27.66 ID:BlX74pFF.net] >>903 あるある 俺も「筋が悪そうだからこのブランチは放棄」ってコメント付けてコミットした事は何度かある
915 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 14:26:03.50 ID:fbUoNrmE.net] 他にも思い出した。 とある修正をしていて、コードを書いていると うぉい、ここバグってるじゃねーか (そのせいでとある修正がちゃんとできない) 一旦コミットしておいて、 先にバグの修正をコミットして、 んで戻ってくる。 こういった時に中途半端な状態でコミットする。 戻ったあとはバグ修正状態からの変更ににrebaseする。 このようにgitの素晴らしさっていうのは、 ファイルの管理やバックアップではなく、 実際の開発で起こることに対応するための機能なんだよ。 履歴管理ツールではなく、開発ツール。 そう認識しないといけない。
916 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 21:25:30.14 ID:fuLtc72j.net] >>908 rebaseしたくないので、同じようなことを rebaseしないでやる方法も教えてください。 おねがいします。
917 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 21:30:36.62 ID:cZ9y3hcR.net] >>909 「rebaseしたくない」ではなく 「馬鹿だからrebaseを使える能力がない」の 間違いだろ? 「したくない」ではなく「できない」 自分に嘘をついてはいけない。
918 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 21:39:52.86 ID:Co43fSsi.net] 正解は「rebaseする必要はない」でした
919 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:52:16.85 ID:cZ9y3hcR.net] 道具は適切に使うものだ。 目的のために作られた専用のものがあるのであれば それを使えばいい。 それが必要だから作られたわけなんだから。
920 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:12:53.23 ID:h+APIw5a.net] stashやcommit --amendや--no-commit系使える時は使う。rebase代わりにformat-patch使うことケースも1%くらいはある。 でもほぼrebase -iだな。
921 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:18:37.12 ID:Co43fSsi.net] 道具は適切に使うものだ。 そして、それがあるから使うというのは適切な使い方ではない。 それは道具に使われてると言うんだから。
922 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:31:46.83 ID:fuLtc72j.net] >>910 rebaseという思想が好きじゃないんです。 それはそれとして、rebaseを使わないと出来ないことなのですか?
923 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:49:08.71 ID:RZc3oG0T.net] とりあえず空行交えて語りたい人たちは運用スレ行ってください
924 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:01:19.35 ID:ID0TD3H5.net] gitは運用方法に派閥っていうか宗派っていうか宗教戦争みたいなもんがあるのか
925 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:09:46.39 ID:KQ3UQl73.net] 運用が自由すぎて どこかの宗派の戒律を受け入れたほうが楽、と言うのはあるな 俺はgit-flow派
926 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:12:00.18 ID:uoA7o0bf.net] >>915 > それはそれとして、rebaseを使わないと出来ないことなのですか? ? rebaseを使うとやりたい事が簡単にできるんだよ。 やりたい事=思想。 rebaseを使わなくても、同じことをするのであれば rebaseの思想は正しいということとなんだが。
927 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:15:40.65 ID:gKbzhWvd.net] rebaseしたくないならmergeすりゃいいじゃん
928 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:37:19.06 ID:eV4xuuQq.net] 複数コミットにまたがるamendのようなrebase -> rebase開始位置に指定したコミットは変らない -> HEADのファイルは変化しない 分岐した元ブランチとの関係をFF状態にするためのrebase -> rebase開始位置に指定したコミットが別のコミットになる -> HEADのファイルが変化する 良く知らない人はrebaseっていうと後者しか思い浮かばなくて mergeすればいいじゃんとか言い出す
929 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 07:51:47.64 ID:zAkA6wkz.net] rebaseは手段の一つであるが目的ではない rebaseの思想とかw馬鹿はこれだから怖い
930 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 08:42:49.05 ID:gKbzhWvd.net] rebaseでしかできないことがあるのは当たり前。 rebase以外で目的を達成することができることがある != すべてrebase以外で実現できる
931 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 09:00:44.24 ID:dTRZmQiN.net] 論理値の比較に等号不等号つかうひとって筋が悪いよね
932 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 13:19:25.28 ID:5pxTtzkh.net] >>924 世間のレベルに合わせてるんだよ。 あと、rebaseは名前が嫌い。
933 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 13:30:22.74 ID:RcysspGc.net] たかがgitを使える程度で尊大な大先生がよくわくスレだ
934 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 20:18:22.98 ID:HQ+xGyu0.net] linuxでgit pullで新しいコミットを取得したら自動でビルドしたいんですけど どうやればいいのか教えてください
935 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 21:02:00.58 ID:j05l/s8s.net] >>923 > rebaseでしかできないことがあるのは当たり前。 rebaseでしかできないことなんてない。 全ては効率の問題。 その他の方法でもやれるが、 効率が凄く悪くなる。 例えて言うのなら、東京から大阪まで徒歩でも行ける。 車でしか行けないわけじゃない。それと同じ。 ある目的のためにrebaseという手段が作られた。 rebaseは目的ではない。目的を最速で達成するための 手段なのだ。使わない理由がない。
936 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 22:07:56.09 ID:zAkA6wkz.net] rebaseでしかできないことなんてないし rebaseしなければいけないこともない ではなぜrebaseするのか? これは哲学的であり、そしてかなり難しい問題のようにみえる しかし、実は我々はその答を既に知っているのだ その答とは そこにrebaseがあるからだ
937 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 22:13:02.07 ID:j05l/s8s.net] いや、rebaseがなかったから作ったんだよw Linusがね。必要だと思ったから作った。
938 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 22:51:23.25 ID:sASJ2DPa.net] Linusまたはその後継者が必要だと思ったからrebaseが作られた きっとそうだろう でも俺はLinusじゃない
939 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 22:54:55.58 ID:I5g9+RU+.net] Linusよりも劣る人間が言っても説得力ないな。
940 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 23:04:48.44 ID:sASJ2DPa.net] >>932 つまりだ、Linusのために作られた道具を 俺ごときが使いこなせるわけがない ということだ
941 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 08:13:34.83 ID:6s/iApNK.net] 誰でもrebaseを使う事によって最速のrebaseが達成出来る 全く問題はない
942 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 17:13:09.03 ID:CE59HNJ8.net] >>908 > 一旦コミットしておいて、 > 先にバグの修正をコミットして、 > んで戻ってくる。 stashしろよ。
943 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:22:26.69 ID:OzQ4PZKS.net] >>935 やってるよ? コミットしてないファイルがあるとrebaseできないからね。 stashしても作業中のファイルを一旦対比してから、 その後で修正してrebaseする。
944 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:35:53.78 ID:nTSIXxVa.net] rebaseってどういう機能なの? コミット済みのコミットにマージするの?
945 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:40:24.64 ID:6s/iApNK.net] 履歴を改竄するだけの、稀に便利だけど、必然性は全くない機能。
946 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:43:36.27 ID:OzQ4PZKS.net] 間違いをしないと言う人間には 不要でしょうなぁw タイポしたことがない人、手を揚げて! 閻魔様の前に連れて行ってあげる♪
947 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:57:28.47 ID:DLpcuCaG.net] rebaseが無かったら単なるバージョン管理ツールだね rebaseがあるから差分管理編集ツールとでも呼ぶべき別次元のツールになった
948 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 21:01:48.03 ID:Po35HDPO.net] rebaseがないと、もうバグはないかな?とか考えてしまって まだコミットしないで様子を見よう。とかやってしまうんだよね。 そうすると小さくコミットすることが難しくなってしまう。
949 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 21:20:26.33 ID:6s/iApNK.net] バグの痕跡を秘密裏に闇に葬る暗黒のrebase使い達
950 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 23:17:22.87 ID:nTU4lW67.net] >>937 rebaseはブランチの分岐点を変更する機能 gitより前にclearcaseなどで実装されていてgit固有の機能という訳ではない rebaseにコミットの編集・結合・取捨選択する機能を追加して より柔軟にコミットを直せるようにしたのがgitかな
951 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 02:11:14.86 ID:pFxIT8vh.net] >>942 リリースしてないもののバグを なんで痕跡残さないといけないんだ?
952 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 08:51:51.90 ID:1pDlaOkO.net] >>942 成果物の途中経過を次元の狭間に葬り去る古のno-commiterとの血で血を洗う闘争の幕開けであった
953 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 09:07:24.48 ID:LaebqzUe.net] 前のコードはコメントアウトして残せ。 リリースしてないコードも全部だ。
954 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 09:35:03.57 ID:ioOBuo8G.net] 年代記に残る争いになるわけですな あ、改竄派が勝てば、そもそも争いはなかった事になって、年代記には残らないね え?言葉が悪い? では修正的歴史観と呼び直しましょう。
955 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 10:08:20.01 ID:rYHf65xq.net] >>936 > >>935 > やってるよ? は?stashせずにコミットしてんだろ?
956 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 14:23:44.57 ID:jQzRldfC.net] コミットにランク機能がほしい とりあえずバックアップ代わりのコミットと コンパイル通ったコミットとガッツリテスト済みのコミットと それぞれ記録したいけど、ログをみるとき 全部出てしまうのはうっとおしい (ガッツリテストとおったログだけみたい)
957 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 14:36:08.82 ID:rYHf65xq.net] >>949 それぞれ何かキーワードを決めて、ログ表示するときに絞り込めばいい。
958 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 14:52:01.94 ID:wN0qaZCY.net] >>949 それぞれブランチをつくればいいと思う
959 名前:デフォルトの名無しさん [2015/08/04(火) 15:01:54.07 ID:KT0L8boW.net] チェックアウトってなんすか? ホテルとかで家に変えるときチェックアウトしますよね? そうすると部屋空いてるから、だれでもチェックインできるようになるんですか?
960 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 15:56:53.06 ID:jQzRldfC.net] >>950 今はそうやってる >>951 それ前やってたけど、今どのブランチにいるかうっかり忘れるんだよね
961 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 18:13:17.56 ID:rYHf65xq.net] >>953 > それ前やってたけど、今どのブランチにいるかうっかり忘れるんだよね bashだったら、git-prompt.shを使うといい。 プロンプトを [username@ dirname] (issue-2701-add-hoge-api *) $ みたいにできる。 ついでにgit-completion.bashもインストールすれば、gitコマンドやbranch名をTabで補完できるようになる。
962 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 20:39:05.58 ID:LaebqzUe.net] >>949 普通に日本語でコメント書けばいい。 > ログをみるとき全部出てしまうのはうっとおしい ブランチに含まれるコミットが多すぎるってことさ。 いろんなプロジェクトのマージコミット見てみ。 マージコミットの内容=ブランチの内容なわけだが、 ブランチに含まれるコミットは数個しか無い。 >>953 > それ前やってたけど、今どのブランチにいるかうっかり忘れるんだよね >>954 がいっている通り。 それはさすがにgitを使いこなせてない。 gitというかシェルに近い話だが。 初心者のうちは、なにか使いにくいと思ったら 自分の使い方が間違ってるのではないかって 考えることが重要だよ。
963 名前:デフォルトの名無しさん mailto:あげ [2015/08/05(水) 16:11:14.67 ID:qTT2Q3HY.net] Git始めました
964 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 22:03:19.51 ID:Y8QWrwSI.net] 冷えてるの?
965 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 12:24:17.98 ID:YnB06pEs.net] あったかいGit始めました
966 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 21:38:28.11 ID:VjeH+b7c.net] SourceTreeは結構バグ多いんだけど 代替GUIでお勧めはある?
967 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 21:50:49.99 ID:TJyjY+1J.net] あまりgitを使いこなせてないからか標準のgitgui?gittk?で割と十分だと思ってるんだけど 皆さんはどのへんに不満があるのでしょう?
968 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 22:38:51.48 ID:zZgheHLR.net] SourceTree時々固まるけどいうほどバグあるか? コミットとブランチ編集はGUIでやってrebaseはCLIでやってる
969 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 02:18:48.55 ID:hvTU1eUO.net] >>961 とくに目立つのは ・日本語入力がたまにできなくなる ・日本語がたまに文字化けする の2点かなぁ
970 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 19:03:43.84 ID:eLygs58n.net] ShiftJISとか使ってんの?
971 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:12:25.04 ID:hvTU1eUO.net] ShiftJISとか使ってませんよ?
972 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:21:49.39 ID:vBlQRCao.net] Windowsは全世界でShiftJISが使われているんだろう?
973 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:20:35.51 ID:BQYw/0/m.net] テスト
974 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:27:16.33 ID:m5zrYZQl.net] ファイル名とかは後方互換性でそうなっちまうわな >>965 英語圏はとりあえず違うかな?
975 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:32:51.12 ID:A+ZgS5ti.net] >>965 ASCIIがShiftJISのサブセットだと大体そんな感じかな? 有名な円化するくらいで
976 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 23:33:39.68 ID:PKfIE09h.net] デモネ ダイジナカギモ カギモ カエシタノ〜 ∧_∧ (*゚ー^) /つ¥ つ |*/;≡|@\  ̄(/ U ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ チャーンッッ ウォーッ シィーーッ `∧∧ ∧∧∧∧ ∧∧ ( ) ) ) )
977 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:06:42.83 ID:SZxZe4hf.net] >>965 SJISなわけはないがフランスやロシアや中国の人のソースもたまに化けてるの見る https://en.wikipedia.org/wiki/Windows_code_page
978 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 01:38:16.85 ID:un4R4gw1.net] なんか最近のニュースで MSのVisualStudio2015でシフトJISじゃコンパイル失敗するからなんか設定してねってあったぞ WindowsでもソースコードのデフォルトはもうUTF-8なんだよ
979 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 16:53:09.64 ID:zMNscprH.net] そりゃC#の話じゃないの
980 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 17:04:53.01 ID:un4R4gw1.net] べつにC#限定の話じゃないようだが ぐぐるとC#の話が一番上にでてくるがなw
981 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 17:21:44.28 ID:DsvXgH80.net] 2015だとC++もデフォルトUTF-8になったのか? いちいち変更しなくて済むようになったんならありがたいが。
982 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 17:25:29.84 ID:doZuGkX/.net] >>974 たぶん2010あたりから
983 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 17:43:56.94 ID:zMNscprH.net] Win32でC++新規作成するとSJISだけど、これうちの環境のせいなのか?
984 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 17:48:54.67 ID:TarQJqGz.net] >>975 Visual Studio 2013 Community ではシフト JIS ですけど?
985 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 21:40:02.06 ID:MwH/TAN+.net] 大丈夫だ、2015でもCP932のままだ
986 名前:デフォルトの名無しさん [2015/08/10(月) 05:15:36.78 ID:joKVIITR.net] Windows10のcmd.exeまだchcp65001のバグ治らないな
987 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 08:39:31.31 ID:woEY2l+M.net] >>979 もうほとんどやる気ないでしょ この部分だけでいいからソース開示して有志に改造させて欲しいわ
988 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 09:29:36.92 ID:Y9npztmj.net] 同意 だけど git for windows だったかなんかについてくる UTF-8 対応の cmd.exe っぽいのは結構使える
989 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 09:37:10.95 ID:7mEm0oAX.net] 今どきCLIとか石器時代の生き残りかよ
990 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 10:58:28.36 ID:lE/gCziL.net] だがまあgitに限って言えば GUIだけでは心もとないのもたしか
991 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 15:32:34.36 ID:iHuYT/si.net] テキストベースは便利なんだよ 自動化とか簡単だし、それをgitで管理できるから
992 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 17:41:57.41 ID:24CTSkEb.net] CLIはデプロイツールと親和性が高い
993 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 18:43:19.26 ID:wnxGShdH.net] 自動化に関わるツールはCLIがないと困るよね
994 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 20:12:09.12 ID:Mkjl0645.net] git pullで新しい更新を取り入れた時に指定したシェルスクリプトを実行したいんですけど フックの名前を教えてください
995 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 20:12:45.22 ID:Mkjl0645.net] 俺はGUIの見方がよく分かんないからCUIしか使ってないよ
996 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 06:26:57.50 ID:/JNKK5gi.net] >>987 新しい更新がマージされたのを契機に処理をしたいなら post-merge になりそうだけど、 リモートからコミットがfetchされてそれがマージされたのかどうかは自分で判断しないといけないんじゃないかな
997 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています