トップページtech
1001コメント380KB

Git 11©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net2014/11/17(月) 12:30:50.08ID:Lk6/z9Ls
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git - Fast Version Control System
http://git-scm.com/

◆関連サイト
Pro Git - Table of Contents
http://git-scm.com/book/ja
Git入門
http://www8.atwiki.jp/git_jp/

◆前スレ
Git 10
http://peace.2ch.net/test/read.cgi/tech/1403426425/
0002デフォルトの名無しさん2014/11/17(月) 15:02:31.45ID:ok9ehdHV
◆関連スレ
バージョン管理システムについて語るスレ10
http://peace.2ch.net/test/read.cgi/tech/1393147031/
CVS導入スレ〜 Rev.3
http://peace.2ch.net/test/read.cgi/tech/1113141518/
Subversion r15
http://peace.2ch.net/test/read.cgi/tech/1406967657/
【分散型バージョン管理】 Mercurial 2【hg】
http://peace.2ch.net/test/read.cgi/tech/1321109748/
【bzr】Bazaarでバージョン管理 Rev 4
http://peace.2ch.net/test/read.cgi/tech/1356521407/
OSSホスティング総合【SourceForge,GitHub,etc..】
http://peace.2ch.net/test/read.cgi/tech/1384821518/

◆関連スレ 別板
CVS 1.3 [UNIX板]
http://peace.2ch.net/test/read.cgi/unix/1093611448/
0003デフォルトの名無しさん2014/11/17(月) 15:21:36.56ID:ok9ehdHV
◆関連書籍(1)
Pro Git 日本語版電子書籍公開サイト
http://progit-ja.github.io/

Gitで困ったときに読む本 2014/10 著:ウラジミール・ガジャ 訳:長尾高弘
http://books.shoeisha.co.jp/book/b183513.html

15時間でわかるGit集中講座 2014/06 著:岡本隆史 織田翔 大山智之
http://gihyo.jp/book/2014/978-4-7741-6575-2

開発効率をUPする Git逆引き入門 2014/04 著:松下雅和 船ヶ山慶 平木聡 土橋林太郎 三上丈晴
http://www.c-r.com/book/detail/970
0004デフォルトの名無しさん2014/11/17(月) 15:23:39.33ID:ok9ehdHV
◆関連書籍(2)
Git ポケットリファレンス 2012/07 著:岡本隆史 武田健太郎 相良幸範 
http://gihyo.jp/book/2012/978-4-7741-5184-7

Gitによるバージョン管理 2011/10 著:岩松信洋 上川純一 まえだこうへい 小川伸一郎
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06864-5

実用Git 2010/02 著:Jon Loeliger オライリー本
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-87311-440-8

入門Git 2009/09 著:濱野純
http://www.shuwasystem.co.jp/products/7980html/2380.html

入門git 2009/08 著:Travis Swicegood 監訳:でびあんぐる
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06767-9
0005デフォルトの名無しさん2014/11/17(月) 16:58:13.71ID:KMJsrmwT
宣伝うぜえ
0006デフォルトの名無しさん2014/11/17(月) 17:33:02.93ID:YUWmI/Qt
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
0007デフォルトの名無しさん2014/11/17(月) 17:38:21.03ID:KYBRFuL5
>>1
抜けてるだろ。手抜きすんな

デザイナーからプログラマーまで 絶対わかるGitバージョン管理
アリスとボブのGit入門レッスン
Web制作者のためのGit入門
わかる Git
Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール

GitHub
http://www.amazon.co.jp/dp/B008K411SS
※ いまなら0円!
0008デフォルトの名無しさん2014/11/17(月) 17:49:05.25ID:LbJ3F7u5
Git作者本人の本がなんとも目立たぬ位置にw
0009デフォルトの名無しさん2014/11/17(月) 17:55:41.01ID:bJSEiY3N
300回コミットしました
ブランチも今までたくさん作って来ました
25回目にコミットしたときにログを書き換える方法を教えてください
ログに誤字があるで書き換えたいんです
0010デフォルトの名無しさん2014/11/17(月) 18:03:43.13ID:ok9ehdHV
>>7
テンプレ貼ったのは>>1じゃ無いのにかわいそうw
基本的にスレで上がった書籍を追加してるよ
Github関連の書籍は他にもあるけど除いてあるよ
次回はこのへん追加しとく?

デザイナーからプログラマーまで 絶対わかるGitバージョン管理 2014/10 著:松島浩道
http://www.sbcr.jp/products/4797380361.html

Web制作者のためのGit入門 2014/06 著:大杉充 外村和仁
https://book.mynavi.jp/ec/products/detail/id=25306

アリスとボブのGit入門レッスン 2012/09 著:川野辺正博
http://www.shuwasystem.co.jp/products/7980html/3500.html

わかるGit 著:冨永和人
http://p.booklog.jp/book/61359
0011デフォルトの名無しさん2014/11/17(月) 18:05:33.14ID:ok9ehdHV
>>8
現メインメンテナーの濱野氏の本はProGitの次ぐらいに載せとくかねえ
0012デフォルトの名無しさん2014/11/17(月) 18:07:21.99ID:ok9ehdHV
2013年の本が無いのは偶然なのかな
0013デフォルトの名無しさん2014/11/18(火) 10:39:19.25ID:SNYtXSA4
次スレ無いのに997で埋めとか書いてたから急いで立てたわ
次は事前にテンプレ候補出しといてねえ
0014デフォルトの名無しさん2014/11/18(火) 16:23:51.07ID:hq/rBA8+
医療プログラマーが超高難易度の免許制に / フリーソフトやオープンソースの無作為配布も全面禁止
http://fox.2ch.net/test/read.cgi/poverty/1416286592/
0015デフォルトの名無しさん2014/11/18(火) 18:15:56.52ID:B5/xScPc
プログラマー免許制は賛成だよ
屑が多過ぎる
0016デフォルトの名無しさん2014/11/18(火) 18:19:20.20ID:n3svk6HW
>>15
お前が間違っても落第しないレベルだといいな
0017デフォルトの名無しさん2014/11/18(火) 18:23:00.88ID:/aEHbgmj
>>14
対象は医療ミスで訴訟を受けるレベルの深い所だけみたい
0018デフォルトの名無しさん2014/11/18(火) 18:31:19.12ID:huk+BQqL
>>15
プログラマ用の資格は幾つもあるよ
それを持ってる奴だけ使うとか信用すればいいじゃん
0019デフォルトの名無しさん2014/11/18(火) 18:59:52.20ID:z9H1LUO9
いくつか資格持ってるが、工数がないと結局品質の低いものしか作れない。
0020デフォルトの名無しさん2014/11/18(火) 19:17:56.70ID:+HeMrvVp
免許を持ってる奴がランサーズやクラウドワークスに依頼して作らせれば安く済むね
0021デフォルトの名無しさん2014/11/18(火) 19:22:23.65ID:WFCSoEiB
それってプロジェクトメンバーの中に数人免許持ってる奴がいればいいってやつじゃねえの?
0022デフォルトの名無しさん2014/11/18(火) 21:57:24.53ID:GfoKGAop
まあ医療用プログラムも医療器具になるし。
0023デフォルトの名無しさん2014/11/18(火) 23:17:45.16ID:y3qZQj9X
車も自動操縦制動システムとかエレベーターとかトラック荷台の自動昇降機も免許持ったプログラマに書かせろ
0024デフォルトの名無しさん2014/11/19(水) 07:09:24.22ID:pSOR1byj
OSが原因で医療ミスが起きた場合は、どうなるんだろうな?
0025デフォルトの名無しさん2014/11/19(水) 12:33:22.90ID:JZ2oYyd9
OSは初回起動時に「責任とりません」に「同意」ボタン押してるの忘れたのか
0026デフォルトの名無しさん2014/11/19(水) 21:36:48.78ID:pSOR1byj
ということは、「責任とりません」に「同意」を求めるOSは、医療現場から排除されるわけか
0027デフォルトの名無しさん2014/11/19(水) 23:22:53.10ID:EYHPnhFF
人の命に関わるところや原子力関係には使うなって謳ってるのはOracleだっけか。
0028デフォルトの名無しさん2014/11/20(木) 22:28:30.59ID:XNdxy1/i
セラック25放射線事故の思い出
0029デフォルトの名無しさん2014/11/21(金) 16:21:32.54ID:kFYjyzR/
医者に問診受けるとき大抵Windowsの画面見るけどな
0030デフォルトの名無しさん2014/11/22(土) 07:52:11.50ID:uJfzZE/k
どう対処していいか分からないことがあるので教えてください。
現在、あるリポジトリAとBがあり、それぞれファイルを100個ほど管理しています。
A,Bに関連性はありません。

やりたいことは、
Aの中の特定のファイル2〜3個を履歴込みでBへ登録or移動したい
です。

リポジトリA,Bを新規リポジトリZに1本化するとかのサンプルはあるのですが
上記のような場合どうしていいかわかりません。
AをBにマージしてからいらないものを削除すればたしかに必要なファイルと履歴はのこるかもしれませんが
リポジトリが肥大化するしゴミもいろいろ残りそうなので、シンプルにやる方法はないでしょうか?
0031デフォルトの名無しさん2014/11/22(土) 08:52:03.65ID:VpeaW/bh
>>30
git filter-branchを使ってリポジトリAの特定のファイル2〜3個だけの履歴を含んだブランチを作って、
それをBのブランチにマージすればいいんでない?
0032デフォルトの名無しさん2014/11/22(土) 11:18:34.44ID:783isNag
git resetってデフォルトで--softを指定したってことですよね?
0033デフォルトの名無しさん2014/11/22(土) 11:41:22.20ID:783isNag
リモートリポジトリにプッシュしたコミットをgit reset コミットハッシュで元に戻したらいけないっていうのを学んだんですけど
これってgit reset コミットハッシュだけじゃなくてgit reset HEAD@{n}もダメってことですよね?
0034デフォルトの名無しさん2014/11/22(土) 12:05:39.84ID:9mlDmcy8
>>33
当たり前。

ってかさ、子供じゃないんだから、「○○しちゃ駄目」とか「△△も駄目」ってのを一つ一つ暗記するんじゃなくて、
「○○したら××という状況になるからやらない方がいい。けど、××という状況にならない、または××になっても解決できるならやってもいい場合もある。」
ってことを自分の頭で考えて判断できるようになるといいね。
0035デフォルトの名無しさん2014/11/22(土) 15:34:29.76ID:lpYW/WdC
え、なんで戻しちゃいけないの?
0036デフォルトの名無しさん2014/11/22(土) 16:22:14.62ID:+v/EHt0t
なんでgit showのHEAD~0は最新コミットを指すのに
git rebaseはHEAD~0やHEADじゃなくてHEAD~1は最新コミットを指すのですか?
0037302014/11/23(日) 02:54:58.96ID:+FLBTHGQ
>>31
ありがとうございます。
試してみます。
0038デフォルトの名無しさん2014/11/28(金) 05:50:50.87ID:rofpdZmb
試したけど、やっぱ使わないコードって、そのままbranchでpushしておくのが一般的? もっといい方法ある?
0039デフォルトの名無しさん2014/11/28(金) 07:11:17.10ID:xLUnuPlV
マージして即取り消しとか
0040デフォルトの名無しさん2014/11/28(金) 11:26:12.19ID:rofpdZmb
>>39
pushされるの?
0041デフォルトの名無しさん2014/11/28(金) 12:07:17.98ID:rofpdZmb
あー取り消しってコミットの取り消しでなくて、コード上で取り消したものをコミットってことかな。
0042デフォルトの名無しさん2014/11/28(金) 22:45:02.48ID:uoMVF3+K
もしまた必要になったらrebaseで簡単に持ってこれるから>>38でいいと思うよ。
ほかの人と共有するなら注意が必要だけど。
0043デフォルトの名無しさん2014/11/28(金) 23:10:57.87ID:5kELuVmQ
いらんブランチ消せずに増えてくのが>>38の欠点
0044デフォルトの名無しさん2014/11/28(金) 23:58:07.90ID:rofpdZmb
>>39だとわかりにくそうなので、branchをpushしときます。
そこで途切れてるbranchというのはイメージそのままだし。
共有しているbranch一覧見た時も、いつも出てきちゃうのか。BTSと連携してるので、そのチケット番号をbranch名にしておけば大丈夫…な…はず。
0045デフォルトの名無しさん 転載ダメ©2ch.net2014/11/29(土) 02:43:44.54ID:AzYE7zg4
v2.2.0
0046デフォルトの名無しさん2014/11/29(土) 12:00:44.16ID:hg0pyRtW
「Git 2.2」リリース、細かな機能強化や性能改善が行われる
2014年11月28日15:52 末岡洋子
http://sourceforge.jp/magazine/14/11/29/063600
0047デフォルトの名無しさん2014/11/29(土) 12:34:10.37ID:IKUaO2mT
なんで公式サイトから落とせるWin版がいつまで経っても1.9なの?
2.0以降がカスだから?
0048デフォルトの名無しさん2014/11/29(土) 12:36:01.52ID:UY5TRY2T
Windowsのことなんか知ったこっちゃないから
WindowsにはTeam Foundationがあるんだからいいじゃん
0049デフォルトの名無しさん2014/11/29(土) 12:49:39.06ID:IKUaO2mT
お前、Team Foundationを「チームで」使うのにいくら掛かるか知ってて
その暴言を吐くのか?馬鹿なの?死ぬの?
0050デフォルトの名無しさん2014/11/29(土) 13:47:30.31ID:tRG4REso
>>47
あれはgitじゃないmsysgitだ!
0051デフォルトの名無しさん2014/11/29(土) 19:31:48.86ID:A9a31mA5
>>49
チームのサイズによるだろ
5名以下なら Express Edition で無償
普通の奴も 65,000円ぐらいだし
0052デフォルトの名無しさん2014/11/29(土) 19:36:10.03ID:1Jq357Cf
SubversionやGitがあるのに使ってる奴ってどの位いるんだろ・・・?
0053デフォルトの名無しさん2014/11/29(土) 20:10:26.95ID:f9GHRVfH
>>52
ちょい前に営業さんに聞いたら、あまり出てないですねーって言ってた
まあ、出てないのレベルはよくわからんけどか
0054デフォルトの名無しさん2014/11/29(土) 20:20:42.02ID:1Jq357Cf
MSのプロダクト全体からみたら我々のレベルでそこそこのでも
全然、って事だろうなw
0055デフォルトの名無しさん2014/11/29(土) 21:33:08.86ID:IKUaO2mT
>>51
取り敢えず、お前がTeam Foundationという単語だけしか
知らないという事が確定した。
0056デフォルトの名無しさん2014/11/29(土) 21:50:49.39ID:1Jq357Cf
何でそんなに噛み付いてるの?人恋しいの?
0057デフォルトの名無しさん2014/11/29(土) 23:04:34.17ID:f9GHRVfH
>>55
で、どこが間違ってるんだ?
0058デフォルトの名無しさん2014/11/30(日) 03:59:09.60ID:uxHSis3U
間違ってないが、お前が単語しか知らないことが確定したんだよ。
どう思う?
0059デフォルトの名無しさん2014/11/30(日) 04:40:34.64ID:g5kdkWec
本気でTFS使えなんて誰も言ってないだろ
0060デフォルトの名無しさん2014/11/30(日) 05:53:26.40ID:c9Q+Jt/4
>>52
信者はたくさんいるが、使ってる奴はいない。
0061デフォルトの名無しさん2014/11/30(日) 08:17:13.85ID:t4/3aPOf
>>58
なんだ、間違ってないならいいや
知ったかの御託聞かされてもしょうがないし
0062デフォルトの名無しさん2014/11/30(日) 09:23:39.79ID:awyRf5UB
知ったかとかじゃなくて、実際を知っているか、その名称や存在だけしか知らないかの違いじゃないかな?
私もいくつかのお客さんとこで Team Foundation を使わされているが、費用的には想像を絶していたよ。
0063デフォルトの名無しさん2014/11/30(日) 09:41:58.91ID:B2VgLsUL
お布施が高すぎるとかですかね
0064デフォルトの名無しさん2014/11/30(日) 10:00:11.49ID:wey4zK/v
まぁTeam Foundationがあるじゃんっていうのは半分冗談だけど
GitはLinuxのためにあるんだから、Windowsが後回しになるのは仕方ないことだろ
0065デフォルトの名無しさん2014/11/30(日) 10:35:11.49ID:e0aRXJPC
そんな感じで世のOffice全部OpenOfficeとかに置換されていっちゃえばいいんだけどなあ
0066デフォルトの名無しさん2014/11/30(日) 13:46:09.86ID:kUIpsKvT
それだと競争が無くなっちゃうからダメ。
0067デフォルトの名無しさん2014/11/30(日) 14:02:33.65ID:Q44JDfrW
オプソにしたからといって競争が無くなる訳じゃない
0068デフォルトの名無しさん2014/11/30(日) 14:08:35.28ID:v5kZpHtK
>>62
> 私もいくつかのお客さんとこで Team Foundation を使わされているが、費用的には想像を絶していたよ。

それほんとに Team Foundation の費用か?
ちょっと構成書いてみて
0069デフォルトの名無しさん2014/11/30(日) 14:13:47.68ID:kUIpsKvT
>>68
そんなことも知らないのか?
お前が単語しか知らないことが確定した。
0070デフォルトの名無しさん2014/11/30(日) 14:20:34.61ID:v5kZpHtK
>>69
構成が書けない時点で、お前が知ったかであることが確定した w
0071デフォルトの名無しさん2014/11/30(日) 19:44:28.74ID:awyRf5UB
構成と言われてもお客さんのところだから勝手に実際を話す訳にもいかんのだが…
例えば、Visual Studio Ultimate with MSDNを「馬鹿正直に1ライセンス」購入すると

\1,709,940

になるってことかな…
0072デフォルトの名無しさん2014/11/30(日) 19:53:21.13ID:7WEYW95R
>>71
だと思った。

お前が単語しか知らないことが確定した。

はい、次の話どうぞ
0073デフォルトの名無しさん2014/11/30(日) 19:56:06.69ID:CJTIqzdj
では、Team Foundation とやらに IDE が含まれると言うソースよろしく
0074デフォルトの名無しさん2014/11/30(日) 20:10:15.70ID:awyRf5UB
なんか単語しか知らないことってのが余程気に入ったか心に突き刺さったか、どっちだろう?

ちなみに本当のアスペルガーは何よりもアスペ、アスペと言われるのが恐ろしくて
自分から先に「お前はアスペ、アスペ」と言い出すらしいね…

してみると単語しか知らないことってのが心に突き刺さったままになって「使わずにはおれない」
ということなんだろうなあ…ご愁傷さま…
0075デフォルトの名無しさん2014/12/01(月) 00:07:58.58ID:dnARwXmU
github flowってとにかく開発用のブランチを作ってmasterにマージしていくって認識で合ってますか?
0076デフォルトの名無しさん2014/12/01(月) 09:14:00.16ID:B1S4sCHX
>>74
> 自分から先に「お前はアスペ、アスペ」と言い出すらしいね…

このスレで一番最初にアスペって言い出したのは誰かって
思って検索してみたらお前でワロタw
0077デフォルトの名無しさん2014/12/01(月) 09:21:11.29ID:dvWcGq9A
アスペって言いたかっただけでしょ
医者でもないのにね
0078デフォルトの名無しさん2014/12/01(月) 12:58:43.22ID:iu+0lcnQ
余程いままで言われ続けてきたんだろうな
0079デフォルトの名無しさん2014/12/01(月) 18:59:31.27ID:wOG0sgv/
被害妄想に凝り固まっているのであろう。
0080デフォルトの名無しさん2014/12/02(火) 09:41:02.82ID:0iGQaLgn
>>72
私も単語しか知らないので、team foundationについて、費用、導入方法、メリット教えて下さい。
0081デフォルトの名無しさん2014/12/02(火) 12:54:48.15ID:gTSu1Aho
Team Foundation Server ならマイクロソフトの営業に電話するなり Web ページ見ればいい
http://www.microsoft.com/ja-jp/dev/products/team-foundation-server.aspx

Team Foundation なるものは ID:awyRf5UB に聞くしかない
0082デフォルトの名無しさん2014/12/02(火) 13:38:46.02ID:2HEveihy
そんな単語しか知らなくてもできるレスは求められてない
0083デフォルトの名無しさん2014/12/02(火) 13:57:28.37ID:X7nShCY6
MSの製品の名前が出ると荒れる流れってなんか数年ぶりに見た気がするw
0084デフォルトの名無しさん2014/12/02(火) 14:39:26.10ID:FNIO4rhV
標準的なgit用ユーザって「git」でいいの?「gitrepo」なの?
0085デフォルトの名無しさん2014/12/02(火) 21:02:37.34ID:gTSu1Aho
>>82
単語以上を知らないとできない、クールなレスよろ w
0086デフォルトの名無しさん2014/12/02(火) 21:49:14.43ID:JIq5qYWA
あんたらそろそろ別のスレでやってくんねーかなぁ
0087デフォルトの名無しさん2014/12/08(月) 11:06:33.30ID:hokbMnTR
git add -p中のオプションs (split the current hunk into smaller hunks)を、
アドベントカレンダーで初めて知った・・・
いままでずっとeでマニュアル書き換えしていたよ、、、
0088デフォルトの名無しさん2014/12/09(火) 23:46:33.39ID:2LCVJN5E
かならず

<<<<<<< HEAD
AAAAAAAAAAAAA
=======
BBBBBBBBBBBBB
>>>>>>> merged-branch

の形にしてくれるマージってないかな。
0089デフォルトの名無しさん2014/12/09(火) 23:50:26.02ID:jqkVke/n
>>88

diff
0090デフォルトの名無しさん2014/12/10(水) 01:19:55.28ID:6qL25NKn
>>88
これみたいなマージするはめになったらマージを中止する
みたいなオプションありますか?
0091デフォルトの名無しさん2014/12/10(水) 03:35:02.05ID:rVmy1tAp
マージテスト用にマージ先のブランチから新しいブランチ切ってそこでやればいいのに
0092デフォルトの名無しさん2014/12/10(水) 04:20:41.84ID:fAea2ULW
戻せばいいだけだと思ってるけど?
0093デフォルトの名無しさん2014/12/10(水) 07:53:36.46ID:qwB6bqKA
abort オプションある
0094デフォルトの名無しさん2014/12/10(水) 19:05:09.74ID:W4PmgbuG
merge --abort
0095デフォルトの名無しさん2014/12/11(木) 02:22:03.75ID:l2zgEmQV
icdiffってどうなの
0096デフォルトの名無しさん2014/12/11(木) 23:10:57.76ID:sQ1Sre6L
>>93
>>94
ありがとう!
これで助かりそうです!
0097名無しさん@そうだ選挙に行こう2014/12/13(土) 17:20:43.04ID:FOIn0bzK
昔このスレで読んだ覚えがあるんですがrubyのgollumみたいにgitを使ったwikiを作る時に使うライブラリ、誰かおしえてください
0098デフォルトの名無しさん2014/12/14(日) 22:08:25.86ID:9CZ8nEqT
https://github.com/github/grit
>This software was developed to power GitHub, and should be considered production ready.
たょっと調べたらこんなのあったよ
0099デフォルトの名無しさん2014/12/19(金) 13:22:54.29ID:Rp55Z5Hh
TortoiseGitでどうやって分岐するんですか?
ブランチを作成、としても名前だけ変わって一本続きで分岐しません
0100デフォルトの名無しさん2014/12/19(金) 15:59:58.70ID:M007GgfU
brunch側だけ中身変えてcommitしてみ
0101デフォルトの名無しさん 転載ダメ©2ch.net2014/12/20(土) 06:30:50.23ID:lfXUCENo
2.2.1
0102デフォルトの名無しさん2014/12/20(土) 07:03:55.37ID:9UfcCvZl
これだからオプソは…
もうVisual SourceSafeに乗り換えるわ

分散型バージョン管理システム「Git」に脆弱性、任意のコマンドが実行される恐れ - 窓の杜
http://www.forest.impress.co.jp/docs/news/20141219_681222.html
0103デフォルトの名無しさん2014/12/20(土) 08:58:18.22ID:EPihr/pv
そういやVSSはセキュリティパッチが一度もリリースされてないな
優秀なソフトなんですなぁ
0104デフォルトの名無しさん2014/12/20(土) 09:31:35.59ID:o+cLiwxD
webにさらしてVSSを使ってる奴がいるとでも
0105デフォルトの名無しさん2014/12/20(土) 09:48:16.53ID:hZSDfw1l
WindowsでGit使ってる人っているんだね(笑い)
0106デフォルトの名無しさん2014/12/20(土) 12:25:41.96ID:uvfjkA/y
MSもほぼ放置状態のVSSかあ・・・
0107デフォルトの名無しさん2014/12/20(土) 12:47:18.21ID:F1BtQojg
HFS+ってMacOSXもアウトかよ!
どうなってるんだ。Appleのせいだな!
0108デフォルトの名無しさん2014/12/20(土) 13:23:36.06ID:QoTvkGDH
>この脆弱性はNTFS/FAT/HFS+といった大文字と小文字を区別しないファイルシステムにのみ影響するため、
>Linux環境には影響はない。
0109デフォルトの名無しさん2014/12/20(土) 13:31:57.16ID:cUhMXe+F
>>106
放置って...
いつの話だよ w
0110デフォルトの名無しさん2014/12/20(土) 14:23:57.82ID:qyYbVqEq
VSSってもう開発してないでしょ
TFSがVSSの後継って言ってるし
0111デフォルトの名無しさん2014/12/20(土) 16:00:55.57ID:cEZQa2xe
>>105
VSがGitに対応したので使ってるよ。

Gitを使うかTFSを使うかは、OSによって変わるのではなく、チームの内容によって
変わるんじゃないのかな。

オープンソースならGitは良いよね。
てんでバラバラに開発、試行錯誤で良かったものだけマージする。
こういった感じには良いと思う。

でも、チームのスケジュールを完全にコントロールできる、会社とかだったら、
TFSの方が良いよね。
0112デフォルトの名無しさん2014/12/20(土) 20:00:47.73ID:Q9vEpymj
マトモな人も居て安心した
0113デフォルトの名無しさん2014/12/20(土) 23:36:05.31ID:F1BtQojg
>この脆弱性はNTFS/FAT/HFS+といった大文字と小文字を区別しないファイルシステムにのみ影響するため、
>Linux環境には影響はない。

これは嘘だな。

LinuxでもNTFSやHFS+は使えるので、
使っていれば影響はある。
0114デフォルトの名無しさん2014/12/21(日) 00:06:04.32ID:LfG/evkY
>>111
会社だとマージしにくい修正が多いから
チェックアウト状態がわかるほうがいいよな
0115デフォルトの名無しさん2014/12/21(日) 04:08:52.73ID:I8/pKXIX
Mercurialも修正したみたいだな。
http://mercurial.selenic.com/wiki/WhatsNew
svnとかcvsとかは大丈夫なんかねぇ

>>113
NTFSはLinuxでマウントするとちゃんと区別して2つのファイル作れるぞ
HFS+は区別されないけど、Macでコマンド打ってジャーナル無効にしないと
書き込み可能でマウント出来ないんでレアケースじゃないかなぁ
0116デフォルトの名無しさん2014/12/21(日) 06:30:41.17ID:gQMH/TzB
レアケースを「影響ない」と断言するのは良くない
0117デフォルトの名無しさん 転載ダメ©2ch.net2014/12/21(日) 08:11:16.52ID:gz6N4oXH
NTFSは、ファイルシステムは区別するけど Win32APIが区別しない

HFS+は、パーティションで区別設定を有効するれば
gitを使用するソースを、区別するパーティションに格納するという使い方も可能
0118デフォルトの名無しさん2014/12/21(日) 09:41:45.41ID:vTqE34dV
最大シェアOSのWindowsにネイティブ対応して欲しい
MsysGitやCygWinを使う方法はあるけど、Windowsと環境変数がぶつかると
トラブルが起きることがあるので、安心して使えないのよね
0119デフォルトの名無しさん2014/12/21(日) 09:53:46.77ID:P3EyVxIm
何言ってるの?
0120デフォルトの名無しさん2014/12/21(日) 10:22:23.86ID:Zlnv1xeI
大文字小文字を区別できないのにどう対応しろと
0121デフォルトの名無しさん2014/12/21(日) 10:27:32.97ID:vTqE34dV
>>119
Windows版のVimを使っているところに
Cygwinを入れたらトラブったことがあるんだよ
トラブルの内容は忘れたが、原因が環境変数だったことは覚えている
0122デフォルトの名無しさん2014/12/21(日) 10:55:27.50ID:kuosliUP
推奨しないって言ってんの無視してインストーラでPATHに追加する選択したんだろ。
0123デフォルトの名無しさん2014/12/21(日) 11:09:45.81ID:vTqE34dV
>>122
いや、確かホームディレクトリに関わっていたはず
どっちのVimも同じC:\Documents and Settings〜を見に行くから
そこにあったWindows版Vimの設定ファイル群が
Cygwin版Vimを使った時に更新されてしまうとか、そんなだったと思う
0124デフォルトの名無しさん2014/12/21(日) 11:31:16.91ID:kuosliUP
cygwinのホームディレクトリは全然別の場所だし、そんなところ見に行かないと思うが?
0125デフォルトの名無しさん2014/12/21(日) 11:42:15.95ID:vTqE34dV
>>124
そうだっけ
やっぱり記憶が曖昧だな
当時、苦心して調べた末に
「Windows版とCygwin版のVimは環境変数の衝突により
共存使用不可」という結論に達したんだがなあ
0126デフォルトの名無しさん2014/12/21(日) 12:15:15.68ID:zMAxnasU
Macは知らんけどWindowsでもどっかのレジストリいじるとNTFSで大文字小文字区別ってできるんじゃないっけ
0127デフォルトの名無しさん2014/12/21(日) 12:20:00.76ID:kuosliUP
>>125
Windows版gvimとCygwin版vimとMsysGit同梱のvimを使い分けてるが別に問題はないな。
0128デフォルトの名無しさん2014/12/21(日) 12:28:42.01ID:/RNkRysA
ObCaseInsensitive を 0 にするやつか
0129デフォルトの名無しさん2014/12/21(日) 12:33:07.75ID:o+TCxEQX
HOME環境変数を設定していると競合する可能性はある。
なので、Cygwinの中からWin32 GVimを起動するときはHOME環境変数を
削除してから起動するとかの対応が必要。あとはTMP, TEMP, SHELLとかも注意。
0130デフォルトの名無しさん2014/12/21(日) 13:24:19.00ID:Zlnv1xeI
Windowsでcygwin使うなら仮想環境構築したほうが楽だろ
0131デフォルトの名無しさん2014/12/21(日) 14:01:21.01ID:XZ/0moqW
cygwinで競合やらつまづく点があるならやめて仮想環境にして解決するのは同意
unixコマンド群やunix向けツールが手軽に使いたいだけならcygwinほど気軽なものはない
ターミナルとしてすぐ開いて使えるのはよい
0132デフォルトの名無しさん2014/12/21(日) 15:03:08.94ID:gQMH/TzB
mingwとminttyあればcygwinいらんね
0133デフォルトの名無しさん2014/12/21(日) 15:17:00.96ID:4wVFcLEQ
逆にcygwinでmingwが使えるようになって、素のmingwがいらなくなった気がする
0134デフォルトの名無しさん2014/12/24(水) 13:30:11.13ID:gcI8XOf/
3個前のgit commitにa.txtとb.txtをコミットしたんですけど
ここ、b.txtだけをコミットしたことにしたいんです
a.txtは3個前のコミット後に編集はしていません
どうしたらいいのかおしえてください
0135デフォルトの名無しさん2014/12/24(水) 14:40:58.28ID:j+6n37pj
>>134
git rebase -i HEAD^^^
# a.txt b.txt のコミットに edit を指定してエディタ終了
git rm a.txt
git commit --amend
git rebase --continue
とかどう?
0136デフォルトの名無しさん2014/12/24(水) 14:51:57.88ID:sFocZIgX
a.txtは
0137デフォルトの名無しさん2014/12/25(木) 03:47:40.93ID:7tmlSq9T
コミットを分割したいことってよくあるよな。
もう少し簡単にできないものかと思う。
0138デフォルトの名無しさん2014/12/25(木) 05:08:49.58ID:WpMZaymj
そういうのhgやbzrとか他の分散型VCSとかはどうなんだろ
0139デフォルトの名無しさん2014/12/25(木) 09:41:29.23ID:qKZrZOHg
rebase するしかない?
0140デフォルトの名無しさん2014/12/25(木) 12:28:37.08ID:7j1tNoom
git rebase --edit 45fc20a4
みたいなオプションがあればちょっとは分かりやすいかな・・・

うちはとりあえず細かくコミットしておいて
rebase -i で squash ぷよぷよしてくっつけて行くのが多いかな
分割はめんどいよね
0141デフォルトの名無しさん2014/12/25(木) 12:59:00.64ID:Y5il8ylR
便秘の原因は筋力不足
0142デフォルトの名無しさん2014/12/26(金) 11:18:57.71ID:vx3/L6UO
Gitlab以外にローカルで軽いツールありませんか?
0143デフォルトの名無しさん2014/12/26(金) 13:56:39.35ID:KN+qDrDJ
git そのものじゃいかんの?
0144デフォルトの名無しさん2014/12/26(金) 15:02:07.48ID:YGnpq5kM
>>142
git
0145デフォルトの名無しさん2014/12/26(金) 15:59:06.01ID:PUSaAK8w
ラボ?
0146デフォルトの名無しさん2014/12/26(金) 16:43:46.33ID:3+AsH2Je
>>142
gitサーバー立てるだけが一番軽いと思うが
gitlabのようなコミュニケーションには別途httpで掲示板でも構築しとけ
0147デフォルトの名無しさん2014/12/26(金) 16:58:21.15ID:hTDPC82A
いかにも2chねらーらしい提案だな
とりあえず掲示板
0148デフォルトの名無しさん2014/12/26(金) 17:02:47.81ID:KN+qDrDJ
git ローカルで使うのにサーバーなんていらん
0149デフォルトの名無しさん2014/12/26(金) 18:21:37.08ID:zOzDLp+X
sshdだけでいいな
0150デフォルトの名無しさん2014/12/26(金) 18:59:41.73ID:YjiQFeUW
>>149
gitコマンドだけあれば良くて、sshdもいらないんだよ。
0151デフォルトの名無しさん2014/12/26(金) 19:34:15.37ID:Kry4Lshd
リポジトリはdropboxに保存したらいいのかな
0152デフォルトの名無しさん2014/12/26(金) 19:48:44.07ID:PtLybYrK
そしたらrebaseするたびに、ファイルの転送が行われるんだろうなw
0153デフォルトの名無しさん2014/12/26(金) 20:36:03.08ID:3+AsH2Je
gitlab使ってる言うからてっきり社内LANでやってのかと思ったが
ローカルというと他のマシンとは繋がない状態を意味するのか
0154デフォルトの名無しさん2014/12/26(金) 23:20:36.81ID:rmtyj285
Lovely Angle Nurse
0155デフォルトの名無しさん2014/12/26(金) 23:59:52.59ID:dVFEeQ9K
Subversionから移るかどうか迷ってます
一人開発でリボジトリをローカルHDDに置くやり方だと
あえてGitに移るメリットってないですかね?
0156デフォルトの名無しさん2014/12/27(土) 00:06:09.09ID:wjq2mj57
プロジェクトフォルダとリポジトリフォルダの対応付けがめんどくせぇ〜〜〜〜って感じてるならそれから開放される
そうでもないなら大して変わらないんじゃね
0157デフォルトの名無しさん2014/12/27(土) 00:12:21.59ID:VUv+O6dj
好きなVCS使え
0158デフォルトの名無しさん2014/12/27(土) 00:19:59.37ID:IjiARnNf
>>155
コミットをやり直して綺麗なコミット履歴を作れるので
この行はどういう理由で変更したんだろう、
というのを後から調べやすくなる (git blame)
あとはでかいソースでも動作が早いとかかな
0159デフォルトの名無しさん2014/12/27(土) 00:31:15.75ID:c7RrH6WT
スピード差はでかいよなあ
むしろsvnはなんで通信しないコマンドでもあんなに遅いんだろ
0160デフォルトの名無しさん2014/12/27(土) 03:44:32.48ID:0O6OCcK7
Subversionやっていて悩みだったのが、

A機能修正
B機能修正
A機能のタイポ修正orz

みたいなコミット

リリース後に気づいたものなら仕方ないが、
ついさっきやらかした簡単なミスをいちいちコミットに残すのは
後からコードを見る人にとって迷惑でしかない。
0161デフォルトの名無しさん2014/12/27(土) 03:58:40.40ID:Ii6i8G3w
svnはほとんど使わなかったな。cvs使い続けてた。
0162デフォルトの名無しさん2014/12/27(土) 04:12:25.83ID:0O6OCcK7
CVS ・・・ ファイル単位の管理
SVN ・・・ 複数ファイル単位の管理
git ・・・ 開発単位の管理

SVNまではファイルを管理していたに過ぎない。
gitになってようやく開発ツールになった。
0163デフォルトの名無しさん2014/12/27(土) 08:43:47.14ID:6QM9MelF
githubとかそういうオンラインサービスを使わないでDropboxとかのオンラインストレージで保存したいんですけどやめたほうがいいですか?
0164デフォルトの名無しさん2014/12/27(土) 08:44:47.03ID:AKOS2ykD
sshは普通入ってるし
大した負荷でもないし
ローカルでもssh経由だと覚えること少なくて済む
0165デフォルトの名無しさん2014/12/27(土) 08:47:48.55ID:AKOS2ykD
>>163
構わんよ
0166デフォルトの名無しさん2014/12/27(土) 15:11:31.55ID:Ii6i8G3w
ローカルでssh使ってる奴いるのか。
0167デフォルトの名無しさん2014/12/27(土) 18:45:55.48ID:N9htnTKp
>>ついさっきやらかした簡単なミスをいちいちコミットに残すのは
これがわからんのだよな
そういうの残した方がいいと思うんだけど
実際下らないハマり方するのって、どうでもいいって差分だったりしない?
git のログを綺麗のするのが目的になってる感がイマイチ理解できない
0168デフォルトの名無しさん2014/12/27(土) 19:02:47.62ID:VUv+O6dj
仮想環境にアクセスするのにssh使うよ
0169デフォルトの名無しさん2014/12/27(土) 19:08:43.78ID:voxLBZva
何か一つ上げろといわれたら速度かなあ。
ブランチの切り替えにマージにbisectに。
もうほんの数秒だって遅らせたくない。
これはコードの品質に大きく影響する。
0170デフォルトの名無しさん 転載ダメ©2ch.net2014/12/27(土) 19:09:11.62ID:gUzMpItv
このファイルが漏れてたから、追加でコミット
ここのコメントの誤字直したからコミット
こんなログが残ってても意味ないし邪魔なだけ
0171デフォルトの名無しさん2014/12/27(土) 19:17:52.53ID:PS8qPAgg
>>170
気持ちはわかるが、そう言うのが多い奴はコードに対する意識が低く、コードの品質も低いから残しておくべき
0172デフォルトの名無しさん2014/12/27(土) 20:02:41.87ID:N9htnTKp
毎度毎度ならイラつくだろうけど
結果出してりゃたまにならいいんじゃねえの

git ガーコードの品質ガーって言う奴で
適当な仕事する奴の方が手に負えん
0173デフォルトの名無しさん2014/12/27(土) 23:03:45.24ID:LHlssG36
>>167
> これがわからんのだよな
> そういうの残した方がいいと思うんだけど

なんのために?

> git のログを綺麗のするのが目的になってる感がイマイチ理解できない

コードをレビューしないの? 一つのコミットをレビューすればいい状態と
複数のコミットをレビューしなければいけない状態、
A、B、A' ・・・今からA機能のレビューをします。A'はAの修正なので、
A+A’で見なければなりません。はい面倒。


ブランチが複数あって(1.0リリース版、1.1開発版)
そこに1.0に緊急リリースのコミットが来た時、A+A'の二つを持ってきて
それをまた、1.1にも、二つのコミットを持ってくる。
revertしたくなったら、二つのコミットをrevertする。
はい面倒。
0174デフォルトの名無しさん2014/12/27(土) 23:06:28.85ID:9Xb/3ND5
ログは綺麗な方がいいに決まってる。後からログを見直すときに、機能追加のログとタイポ修正ログが同時に必要ってことなんかないしな。
コミットログの修正し直しでそいつの作ったプログラムの品質を判断したいというなら、修正した回数だけ記録するとか、修正されたログだけ抽出して確認できるとかのほうがいいわな
0175デフォルトの名無しさん2014/12/27(土) 23:06:40.74ID:LHlssG36
>>171
> 気持ちはわかるが、そう言うのが多い奴はコードに対する意識が低く、コードの品質も低いから残しておくべき

残す目的が変。おかしい。

コミットは"使う"ものなんだが。
作業記録じゃないんだよ?

コミット=一つの機能の修正であり、
内容を確認したり、別の人が取り込んだりするもの。

その時、一つの機能が、複数のコミットに分散されていたら
使いにくいだろ。

あんた、コミットを使ったことないでしょ?
見返すこともないでしょ。
0176デフォルトの名無しさん2014/12/27(土) 23:07:45.06ID:qPECBbxH
>>171
意識の低いやつは残しててもそんなの教訓にしないよ

そういう奴いる場合はマスターレポジトリへのpush権をなくして
コアメンバーがレビューした上で、そいつの個人レポジトリからpullする
って運用もできるのが利点かな
0177デフォルトの名無しさん2014/12/27(土) 23:13:29.12ID:LHlssG36
例えるなら、ボールペンで文書を書いて、
誤字脱字を訂正する。
赤ペンで間違いに丸をつけたり
取り消し線を使ったり、修正液を使ったり。

そして訂正だらけの試行錯誤したものを
他人に見せるようなもの。

レビューしてください!
見づらいだけだし、こんなのを
保存していたって何の意味もない。

完成版だけがあればいい。
0178デフォルトの名無しさん2014/12/27(土) 23:40:23.00ID:N9htnTKp
>>173
> コードをレビューしないの? 一つのコミットをレビューすればいい状態と

なるほど、レビュー前提だとログ綺麗な方がいいな
つーかレビューできるような環境なら、そもそもそこまでおかしな現象に遭遇せんかもなあ
0179デフォルトの名無しさん2014/12/28(日) 01:52:43.13ID:hWEKpKUx
作成中はブランチでやって
完成したらマージだろ
おまいら一々本流にコミットしてんの?
0180デフォルトの名無しさん2014/12/28(日) 01:59:05.50ID:5TbtuF1N
>>179
作成中はブランチでやって、
一連の機能(小さな修正の組み合わせ)が完成したら
そのブランチをレビューしてもらう

その時、タイポ修正コミットとか、途中の細かい仕様修正前のコミットとか
最終的には見る必要がないコミットがあるとレビューしづらいから取り除く。

そしてレビューが済んだら本流にマージ

だろう? 違うのかね?
0181デフォルトの名無しさん2014/12/28(日) 02:00:55.69ID:hWEKpKUx
ブランチのブランチをブランチにマージだ
0182デフォルトの名無しさん2014/12/28(日) 02:02:02.86ID:5TbtuF1N
>>181
なんのために?
0183デフォルトの名無しさん2014/12/28(日) 02:18:10.73ID:hWEKpKUx
レビューしやすくするためだろ
一個上のラスくらい嫁
0184デフォルトの名無しさん2014/12/28(日) 02:19:24.28ID:ft77FrlN
ミスと修正を淡々と記録していくツールで
ログに人為的に手を加えるとかただの趣味的な偽装だな
0185デフォルトの名無しさん2014/12/28(日) 02:22:57.99ID:hWEKpKUx
間違えた

x 一個上のラスくらい嫁

o 自分のレスくらい嫁
0186デフォルトの名無しさん2014/12/28(日) 02:25:35.96ID:5TbtuF1N
>>183
マージしただけじゃレビューしやすくはならんだろ。

マージする時に出来るのは、複数のコミットを一つにまとめる(squash)
そのコミットを残したままマージするかだ。
コミットを残したままマージしたらレビューしやすくはならんから除外だな。

マージすることでレビューしやすくなるということは、複数のコミットを一つにまとめるしかないんだが、
要するに俺が言ってる、途中の細かい修正のコミットを取り除くと言っているのと全く同じことだぞ。

ただしsquashだと一つのコミットにすることしか出来ない。
小さい修正であればレビューできるが、一連の機能、つまり複数のファイルへの修正を
一度に提出されてもレビューできない。

レビューするには、該当の機能(ブランチ)を、無駄のない小さな修正(コミット)の連続
という形にするのが一番やりやすい。

最終的のその形になればいいから、マージをうまく利用してそのような形を作ることも不可能ではないが
いちいち作業用のブランチを作らずにそれをもっと効率よく出来るようにしたのがrebaseだ。
0187デフォルトの名無しさん2014/12/28(日) 02:30:22.66ID:5TbtuF1N
>>184
> ミスと修正を淡々と記録していくツールで

そんなのを記録して、何の役に立つの?
0188デフォルトの名無しさん2014/12/28(日) 02:49:05.34ID:TuEnubjU
各コミットのテストが通ってればミスだろうがなんだろうがmasterに突っ込んじゃって構わないよ。
0189デフォルトの名無しさん2014/12/28(日) 02:57:37.09ID:ecVHbpnH
レビューする時には整理済みのコミットにするな
ほとんどが1コミット、多くて2〜3コミット

そのままマージすればハッシュがレビューの証明にもなるし
なので基本できるだけ、ハッシュの変わるmerge --squashやmerge&rebaseはあまりしない
マスターへのマージを本人以外がする場合もあるしね
Linuxカーネルとかこんな感じだよね
0190デフォルトの名無しさん2014/12/28(日) 02:59:48.75ID:5TbtuF1N
>>188
> 各コミットのテストが通ってればミスだろうがなんだろうがmasterに突っ込んじゃって構わないよ。

後からそのコミットを参照するときはどうするのさ?
0191デフォルトの名無しさん2014/12/28(日) 03:02:54.77ID:5TbtuF1N
>>189
> なので基本できるだけ、ハッシュの変わるmerge --squashやmerge&rebaseはあまりしない

それは整理済みのやつだろ? リリース済みのやつをrebaseしろとかそういう話はしてないよ。

今の話は、

> レビューする時には整理済みのコミットにするな

こっち。

レビューする前に整理済みにする。タイポとか、途中の軌道修正とか
そういうレビューに値しないコミットは取り除く。

残す意味は無いし、デメリットはあれどメリットはない。
0192デフォルトの名無しさん2014/12/28(日) 03:06:07.10ID:5TbtuF1N
あと、レビューして戻りがあった時もそうだな。


完成(のつもり)でレビュー依頼をする
問題が見つかったので差し戻し
修正して再度レビュー依頼をする。 (新たに修正コミットが作られる)

を何回か繰り返す。

この場合の差し戻しの修正コミットは、最終的には必要ないので
masterにマージされるまでの何処かで削除するべき。
0193デフォルトの名無しさん2014/12/28(日) 03:09:54.70ID:ecVHbpnH
>>191
ああ、ごめん否定じゃないよ。
> レビューする時には整理済みのコミットにするな
自分はレビューする時には整理済みのコミットにしているよ。って事で、
人に見せるものはできるだけ1コミットが好き。
0194デフォルトの名無しさん2014/12/28(日) 03:19:52.85ID:ecVHbpnH
>>192
修正前のブランチは無効って事にして
また整理済みのコミットにするね。

gitでコミットが整理できるようになってからは、
バージョン管理よりもコードのドキュメント化をしている
って意味合いが強くなってきたね
0195デフォルトの名無しさん2014/12/28(日) 03:21:48.46ID:5TbtuF1N
>>193
否定ではないと思ったけど念のため。

わかってない人は、コミットを何のために残すのか?
ってのがわかってないんだろうね。

バージョン管理ソフトで管理するのは成果であって作業じゃないんだよ。
これだけ努力しました〜とかこれだけミスしました〜とか
いちいち途中でやったことを記録しても意味ない。

成果(最終的なコミット)を見たいのであって、それに至る作業はどうでもいいわけで。
0196デフォルトの名無しさん2014/12/28(日) 04:09:19.42ID:TuEnubjU
>>190
すまん、意味がよく分からなかった。
普通にsha1ハッシュから指定すればいい。
0197デフォルトの名無しさん2014/12/28(日) 04:13:13.10ID:ZOuXNPgl
ログを直したくないなら水銀つかえで終わる話
Gitに粘着すんな
0198デフォルトの名無しさん2014/12/28(日) 05:11:47.98ID:e5SRT1ev
>>196
後からそのコミットを参照する時、
Aという機能のコミットが、a、a'、a''と分かれている時に、
a''で完成しているのに、aを参照したってしょうがないって話。

aを参照して、これバグっているな。いやいやa'で修正されてるじゃん、
みたいなことをやっても無駄になる。
0199デフォルトの名無しさん2014/12/28(日) 10:37:56.27ID:2faWu2Kj
水銀燈
0200デフォルトの名無しさん2014/12/28(日) 11:07:56.18ID:6jddN626
Hard gay
0201デフォルトの名無しさん2014/12/28(日) 11:30:07.31ID:3MqE8jBW
Ruby - [翻訳] 私のコミットをまとめないで - Qiita
http://qiita.com/gogotanaka/items/8c55f69120965b077737
0202デフォルトの名無しさん2014/12/28(日) 11:35:14.89ID:e5SRT1ev
>>201
まさにこれだね。

> 私が思うに多くのcontributor達が歴史的な理由もあってgitやgit rebase -iを
> よく思わない事が主な理由で、彼らがコミットをそれぞれ独立させるのではなく、
> 思いつくままにコミットを作ってしまう事がいけないのではないかと思っている.
>
> 例えばこんな感じ
>
> 素晴らしいfeatureを思いつき、手をつける
> しまったtypoしてた直さないと
> しまったバグを直さないと
> featureを仕上げる
>
> この様なcontributor達がもし、そのままのcommitをpull-requestに出して、
> それがが受け入れらない(つまりマージされない)という事は当然の報いだとは思うが、
> 多くのcontributorはgit rebase -i とgit commit -pを用いて修正をしている訳で、
> この様なcommitは受け入れられるべきだと思う.

typoとかバグとか最終的に見なくていいものの修正でコミットしたものを
そのままpull-requestするな(レビューに出すな)と
git rebase -i や git commit -pでちゃんと修正しろと。
0203デフォルトの名無しさん2014/12/28(日) 12:43:33.96ID:TuEnubjU
>>198
それこそ、aの変更でキチンと失敗してくれるようなテスト書いとけよって話だな。
でないとa'でホントに修正されてるかも怪しいし。バージョン管理関係無い。

そこらへんのコンセンサスが取りづらいならファストフォワード禁止にしてもいい。
あとで「なんか動き怪しいからお前のマージコミット取り消すわ」ってできる。
0204デフォルトの名無しさん2014/12/28(日) 13:02:54.15ID:6jddN626
正論
0205デフォルトの名無しさん2014/12/28(日) 13:06:18.22ID:e5SRT1ev
>>203
> それこそ、aの変更でキチンと失敗してくれるようなテスト書いとけよって話だな。
> でないとa'でホントに修正されてるかも怪しいし。バージョン管理関係無い。

それは理想論。

テストが通ればOKというのなら、レビューそのものの存在意義を否定していることになる。
レビューはするべきだし、レビューで戻りが出て修正するのは当たり前に発生すること。

第一、テストが通ったって、現にバグは存在しているわけで、
あんたがいっていることは現実とかけ離れている
テストを書くことを忘れることだってある。それを見つけるのがレビューでもある。

リリースしてしまったバグは、rebaseでなかったことには出来ないが、
レビューした後の戻りとか、テストで検出できないタイポとか、
リリース前の修正をいちいち残す理由がない。

残してしまったら、あとでリリース内容をみた時に混乱するだけ。
コミットの内容を後で使う。ということを考えないで単なる作業履歴としてしか
みてないから、>>201のいうように"思いつくままにコミットを作"ってしまって、
その汚いコミットをそのままマージしてしまうか、小さいコミットに分けずに
ブランチ全体を一つのコミットにまとめてしまうことになる。
0206デフォルトの名無しさん2014/12/28(日) 13:07:51.67ID:dl26eyah
元に質問そっちのけで大暴走してるなw
0207デフォルトの名無しさん2014/12/28(日) 13:11:30.32ID:e5SRT1ev
それから、ブランチ(1つの機能)が複数のコミット(細かい修正)の
集まりであることを理解していない。

機能αがあった時、それを構成するのが、a, b, c, dというコミットだったとする。

a, b, c, dというコミットはαを作るために必要な修正であるが、
全体であるαの仕様が変われば、その仕様を構成a, b, c, dの内容も変わる。

場合によっては、aの機能を変えないといけないかもしれないし、
bの修正は不要になるかもしれない。

αが完成するまでは、a, b, c, dは完成しない、つまり後から修正が入るんだよ。
0208デフォルトの名無しさん2014/12/28(日) 13:13:56.75ID:6jddN626
図解して
02091882014/12/28(日) 13:55:55.03ID:TuEnubjU
>>205
何か勘違いしてる。
「マージする」という行為は「レビューしましたよ、私はOKですよ」と言っているのに等しい。
勝手にマージしといて「お前のコミットのせいで足撃ったぞバカ!」も何もない。
マージからの多分SVNと同じように中央集権型で運用してるんだろうけど、
マージからのレビューじゃなくて、レビューからのマージにしないと回らないよ。

あと、リリースしたバージョンにはきちんとタグをつけること。
後から見直したいならタグ付けされたコミットだけ追えばよろし。
問題箇所が明らかならblameすればいい。

タイポや戻りの修正を残す理由が無い、というのも間違い。
それは単にログが見づらいからというだけで、
アウトプット側の問題をインプットでなんとかしようとしてる。これは破綻する。

そうじゃないでしょ。一旦公開した修正は必ず残せ。
公開前に気づいてたならrebaseで整形できる。
マージ戦略はコミットIDが頼りだから、公開後のツリーを弄りはじめたら
そこらじゅうでコンフリクトして迷惑かけることになるよ。

可能な限り綺麗にしてたいってのは同意見だけど、
潔癖症がたたって本来の目的を台無しにしちゃ本末転倒でしょ。
0210デフォルトの名無しさん2014/12/28(日) 13:57:19.69ID:6jddN626
ほー
0211デフォルトの名無しさん2014/12/28(日) 14:06:36.55ID:e5SRT1ev
>>209
勘違いしてるのはあんただ。

> 「マージする」という行為は「レビューしましたよ、私はOKですよ」と言っているのに等しい。

じゃあ、マージする前にレビューするということだろ。
レビューするということは、OKになるかNGになるかということ。

レビューした後にNGになったら、マージしない。
マージせずに何をするかというと、そのブランチを修正する。

そのブランチの修正とは、たとえばタイポの修正のような簡単なものから
関数の引数名前や、仕様そのものの修正までいろいろある。

aという内容に修正しようと思ったら、問題が発生して
最終的にbという内容に変わった。「問題があるa」を残す必要はあるか?
何のために? その理由が言えないならば、「ない」で決定だ

> それは単にログが見づらいからというだけで、
ログ、つまり過去のコミットが見づらいことが問題にならないということはなぜか?

それはコミットを見ようと思っていないという証拠。
過去のコミットを使うことがないから、過去はどうでもいいやって考えてる。

> そうじゃないでしょ。一旦公開した修正は必ず残せ。
公開とはmaster(などの本流)にマージされた状態だ。
レビュー前は公開されてない状態だ。残す必要はない。
マージ前が非公開状態であることをわかってないね。
0212デフォルトの名無しさん2014/12/28(日) 14:09:55.21ID:e5SRT1ev
>>209
> 勝手にマージしといて「お前のコミットのせいで足撃ったぞバカ!」も何もない。

あ? そうか、お前、「ブランチを誰から見える場所にプッシュする」
という機能を知らないな。

いきなりマージしてるだろ。

お前の言うレビューはブランチを作らないで、適当なディレクトリに
コードを置いて、レビューしてくださいってやってるだろ?
実際にはコードのレビューは含まれていなくて、コードを見ない動作テストのみ意味してそうだが。
0213デフォルトの名無しさん2014/12/28(日) 14:13:20.77ID:6jddN626
>マージ前が非公開状態である

えっ
0214デフォルトの名無しさん2014/12/28(日) 14:16:52.74ID:e5SRT1ev
>>213
他人が見えるという意味では公開だが機能としてはまだ非公開
作りかけであり公式機能として搭載されたものではない。
0215デフォルトの名無しさん2014/12/28(日) 14:27:22.01ID:TuEnubjU
>>211
もう一度言うよ。
アウトプット側の問題をインプットでどうにかしようとするのは間違い。

あなたは目的に合ったログの効果的な閲覧方法を知らないだけで、
SourceTreeやgitkのグラフがデフォルトでゴチャゴチャ入り組んでるのが
堪忍ならないって喚いてるだけ。
マウスのホイールまさぐりながらしかめっ面してるのが目に浮かぶ。

なお悪いコトに、それをインプットの問題と決めつけて「サニタイズ」しようとしてる。

レビューされてる状況はどう考えたって公開状態だって。
公開してもらわないとそもそもレビューできない。
0216デフォルトの名無しさん2014/12/28(日) 14:29:04.93ID:GunkIiJg
ギット?ジット?ちょっと興味をもったので、なにか書籍を買ってみます
0217デフォルトの名無しさん2014/12/28(日) 14:39:23.56ID:TuEnubjU
>>212 の職場環境を察すると同情を禁じ得ない。
あとコミットログ読めなくても日本語はちゃんと読もうな。
0218デフォルトの名無しさん2014/12/28(日) 15:13:59.18ID:MqL9JR4c
>>216
日本語で入門に最適な電子版の本が無料で公開されてますよ
0219デフォルトの名無しさん2014/12/28(日) 15:55:18.57ID:4VYgwILn
二人の脳内状況がまるで違う、まで読んだ
0220デフォルトの名無しさん2014/12/28(日) 22:18:17.01ID:D/mfuejh
git な人たちってレビューなしの環境はありえない感じなのかな?
0221デフォルトの名無しさん2014/12/28(日) 23:06:16.85ID:gxYCGP9h
なかなかアツい議論だがどっちも、そこまで間違ったこといってるとも思えないけどな。

運用が回ってるなら、こだわるところでもないと思うのだけど、レビューの所は気になった。

リリースもしないレビューのためのブランチをレビューしても意味ないだろ。
レビューが完了したらコミットはいっさい必要ない。そういうものを使わないとレビューした意味がなくなっちゃうぞ。
0222デフォルトの名無しさん2014/12/28(日) 23:23:52.88ID:ic2uUfWm
スレのこの調子じゃレビューとやらもgdgdになりそうだね
0223デフォルトの名無しさん2014/12/29(月) 09:51:27.00ID:KCHPwPam
>>221
> リリースもしないレビューのためのブランチをレビューしても意味ないだろ。

どういうこと? レビューしてOKになったら、そのブランチをリリースするんでしょ?
レビューするということはNGになることもあるわけで、
そのブランチを手直し、最悪取り消しになることもあるけど。

> レビューが完了したらコミットはいっさい必要ない。
レビューが終われば、完璧でありバグが一切入ることが
一切ないという前提ならそのとおりだね。
実際に、そんなことが起こることはありえないけど。

なぜレビューが完了したら(レビュー不足でバグがあって将来再度レビューすることになるかもしれないのに)
コミットが必要なくなるというの?

レビューにコミットが必要ならば、将来起こりえるかもしれない再レビューでコミットが必要になるはずだけど。
0224デフォルトの名無しさん2014/12/29(月) 09:53:27.76ID:KCHPwPam
>>220
gitにかぎらず、レビュー(とテスト)は必須でしょ?

人が足りない、そんなことをやれる力がないというのは
単にそのチームの問題であって、必須かどうかは別。

本来やるべきものをやらないだめなところっていうのは
どうしてもあるもんだよw
0225デフォルトの名無しさん2014/12/29(月) 09:58:11.48ID:KCHPwPam
>>219
> 二人の脳内状況がまるで違う、まで読んだ

俺的には、

過去やったことは見返すことはない。
他人の修正内容を見ることはない。

という人と、

過去やったことを見返すことはある。
他人の修正内容を見ることはある。

という違いだと思うよ。

ソースコードがいくら汚くても、動けばOKみたいに考えてるんじゃないかな。
0226デフォルトの名無しさん2014/12/29(月) 11:19:49.89ID:/fu+2Q3X
迷惑なやつだな
一緒に仕事したくない
0227デフォルトの名無しさん2014/12/29(月) 11:51:26.31ID:YSRjw31O
だいぶ亀レスだけど

>>142
軽さならgitbucket
0228デフォルトの名無しさん2014/12/29(月) 12:39:24.92ID:DJCCz1Qd
>>223
運用の違いなのだろうけど、レビューはある工程の仕上げにするものだから、どんな理由にせよ変更したなら再レビューはするもの何じゃない?

指摘の修正、バグの修正がおわったらそれをみるでしょ。


んで、レビューしたブランチをそのままリリースしていくなら、意味ないと言うのは間違いだった。
僕のアタマの中だとリリースはmasterでブランチは開発途中か緊急のパッチというイメージなのでレビューしたあとマージかけたらまたレビューしないとだめじゃんと、そんな話
0229デフォルトの名無しさん2014/12/29(月) 12:43:47.32ID:/fu+2Q3X
Git はあなたの使い方を固定し縛るものではない
0230デフォルトの名無しさん2014/12/29(月) 13:43:57.10ID:GQVDlkBs
> レビューはある工程の仕上げにするものだから

それだと遅すぎですね。それでは出来てしまってから
想像していたものと違うってことになりかねません。

作りかけでも必要と思った所でレビューするべきです。
0231デフォルトの名無しさん2014/12/29(月) 13:47:13.61ID:ucyEUbJE
>>224
レビューってさ、複数人が現実的な時間で理解できるレベルのコードってことだよね。
専門性が高くて、そこに価値があるコードを含む場合どうするの?
結構そういう仕事が多いんだが、なんとかしたいんだよな。
もう git の話じゃないような気もするがw
0232デフォルトの名無しさん2014/12/29(月) 13:53:37.78ID:ucyEUbJE
>>231
s/レベル/類い/

なんか読み直したら上からだったすまん
0233デフォルトの名無しさん2014/12/29(月) 14:09:29.27ID:GQVDlkBs
> 専門性が高くて、そこに価値があるコードを含む場合どうするの?

どんなに専門性が高いものであっても
専門性が高い部分と、そうでない部分に分けられる。

それらを分離してコミット(マージ)する。

現実的な時間で理解できないのは、コード内容が複雑だから
複数の関連のないコミットがまとまっていたり、
本来一つにまとめるコミットが分散していたり、
それらを一気にやろうとするから理解できなくなる。

コミットを適切に整理することが、理解できるコードにするための第一歩

そうすれば専門性が本当に高くて自分しかわからないようなものでも
それを最小限の量に抑えられる。
0234デフォルトの名無しさん2014/12/29(月) 15:15:10.82ID:ucyEUbJE
> 現実的な時間で理解できないのは、コード内容が複雑だから

シェーダなんかコードが複雑とかそういう問題じゃないんだよね。 AI とかさ。
メンバー全員が理解すべきかというと、それはありえないし。そりゃ理解できたら凄いけども。

こういうのはレビューよりも、困ったときの bisect 対策で、どうでもいいコミットにも残って欲しかったりもする。
レビューで解決できるなら、そっちの方が絶対スマートなんだが。
0235デフォルトの名無しさん2014/12/29(月) 15:25:56.34ID:UGzXTa7o
コードレビューってアルゴリズムが合っているかとかそういうのは見ないでしょ
正しいかどうか見てたらキリないよ
アルゴリズムが正しいか、それが正しく実装されているかはテストで見るべき
コードレビューはtypoしてないか、コーディング規約守ってるか、
変な書き方(無駄なループ、誰が見ても可読性の低いオレオレ制御構造)してないか、
とかそういうのでしょ、コードレビューで確認するのは
そういうのなら専門じゃなくてもある程度わかるはず
0236デフォルトの名無しさん2014/12/29(月) 15:44:08.16ID:NKff8BVB
>>234
> こういうのはレビューよりも、困ったときの bisect 対策で、どうでもいいコミットにも残って欲しかったりもする。

どうでもいいコミットが残っていたら、逆にbisectしづらくなるだろ。
0237デフォルトの名無しさん2014/12/29(月) 16:33:37.00ID:DJCCz1Qd
>>235
コードレビューは体裁が主体と言うのは同意するが、一応、仕様を満たしているか、性能を満たせるかの観点もみるべよ。

あと、マージしたときにおかしなゴミを作ってないかも気にするかも。
こっちはレビューの時というより差分取り込んだ時のチェックだけど。。。
差分をvimがっつり食わせてちまちま見てく人
guiとか、めんどくさすぎて差分おっていられない。
0238デフォルトの名無しさん2014/12/29(月) 16:37:29.46ID:ucyEUbJE
>>235
> コードレビューってアルゴリズムが合っているかとかそういうのは見ないでしょ

そりゃもちろん。

> そういうのなら専門じゃなくてもある程度わかるはず

うーん、そうか、まあわかるならいいんだけど。


>>236
bisect に頼むのって理屈じゃ解決できないことが多くて、ヒントはクソでもいいから残って欲しい場面があったんだよなあ。
コメント変えて動かなくなるとかw
どうせ二分探索なんだから、そんな時間は増えんし。

ただ、レビューだとか git らしく使うこと考えると確かに汚なくなるしなあ。
うまく混在できんもんかね?
0239デフォルトの名無しさん2014/12/29(月) 16:49:08.43ID:6oaIhkb/
UMLとか設計の段階でレビューしてれば、コードレビューってプログラマーの勉強会みたいなもんじゃないか。
0240デフォルトの名無しさん2014/12/30(火) 17:08:47.49ID:vQ3qtahC
質問です

git hash-object ./hoge でとったSHA1ハッシュが、
openssl sha1 ./hoge でとったSHA1ハッシュと違うんですが、
これはこの当然のことなのでしょうか?

ひとくちにSHA1と言っても、オクテットストリームからSHA-1を計算する方法にいろいろあるということでしょうか?

教えて偉い人かエロい人
0241デフォルトの名無しさん2014/12/30(火) 17:33:05.09ID:rRsXfMEx
>>240
gitはヘッダを付けてからsha1を計算してるので、ファイルのsha1とは一致しないよ。
http://dqn.sakusakutto.jp/2013/10/git_sha1_how_to_calc.html
0242デフォルトの名無しさん2014/12/31(水) 11:58:07.89ID:IVUewLBw
>>241
ありがとうございます
ヘッダついてたんですね

ためしにヘッダを自作して hoge_with_header を作り、
$ openssl sha1 ./hoge_with_header
してみました。
$ git hash-object ./hoge
と同じハッシュ値が表示されました!
(∩´∀`)∩ワーイ


よく分かりました
エロい人、どうもありがとうございました
0243デフォルトの名無しさん2014/12/31(水) 12:38:19.69ID:ptFJkApu
よくがんばりました(花まる)
0244デフォルトの名無しさん2015/01/02(金) 13:21:13.66ID:3Vqt3HRo
githubを使ってコードレビューする流れをおしえてください

1.github上に存在しないユニークな名前の開発用ブランチをローカルに作ってコード書きました
2.コミットしました
3.githubに開発用ブランチの内容をプッシュしました
4.プルリクエストを作成しました
5.プルリクエストからコードをみてレビューします

こういう流れであってますか?
0245デフォルトの名無しさん2015/01/03(土) 13:53:33.22ID:duDbuP4G
OK
0246デフォルトの名無しさん2015/01/03(土) 17:04:41.74ID:pLxXRnJ6
指定した範囲の行数のみコミットする方法教えてください
0247デフォルトの名無しさん2015/01/03(土) 17:08:36.79ID:9yXYqvm6
gitは>>246が簡単にできるからいいよね。
subversionの時は苦痛だった。
0248デフォルトの名無しさん2015/01/03(土) 18:22:43.25ID:DiYAwK0K
git gatter elを使うんだ。
あるいはgit add -p→git commitだ。
0249デフォルトの名無しさん2015/01/03(土) 19:49:02.62ID:nKSMxGgW
>>246
SourceTree使え。
0250デフォルトの名無しさん2015/01/03(土) 20:04:55.00ID:plPB9peD
SourceTree重すぎ
0251デフォルトの名無しさん 転載ダメ©2ch.net2015/01/05(月) 05:15:42.50ID:nten2NYy
tig使え
0252デフォルトの名無しさん2015/01/05(月) 20:50:17.24ID:XL9qQW5W
SourceTreeはいいんだけど、重すぎなんだよなあ・・・
しかも内臓に切り替えてみたらさらに重くなった。システムに導入して使ったほうがいいな。
GUI使わないならMSYS2でgit入れて使った方が快適。
0253デフォルトの名無しさん2015/01/05(月) 21:03:02.55ID:sE8+tO5+
SourceTree重いって思ったことなんてないけど、Windowsの話?
0254デフォルトの名無しさん2015/01/05(月) 21:08:29.40ID:ES98/mNh
vim ユーザーなら、有名だと思いますが fugitive.vim というプラグインがおすすめです。
特に vimdiff を利用した部分ステージング(って言うのか?add -p のこと)がとても使いやすい。
あと最近 agit.vim というのも導入したが、これも軽くて気に入ってます。
0255デフォルトの名無しさん2015/01/05(月) 22:22:25.18ID:HnMh9gyS
>>253
ブランチを切り替えるときとか重くない?
0256デフォルトの名無しさん2015/01/05(月) 22:28:43.61ID:DStV81SR
Vistaにインストールするには.Net4.0を手放さなければならないからSourceTreeとかくそすぎる
0257デフォルトの名無しさん2015/01/05(月) 23:41:53.11ID:sE8+tO5+
>>255
Macではそんなことないけど・・・
Windowsの話だろうと思って、試してみた
Windowsでは確かに重いね
0258デフォルトの名無しさん2015/01/07(水) 21:46:49.89ID:vAZWEKTe
winだとmsysとかcygwin使わない限りgitが1.9.5の上すごい遅い。特にrebaseは地獄。

>>254
入れてみるわ
0259デフォルトの名無しさん2015/01/08(木) 19:10:20.19ID:g9S58Eit
GitでPull Requestを送りたいと思っているのですが、対象のリポジトリはとても頻繁に更新されています。

例えばコミットAの時点でクローンし、修正しプルリクエストを送ろうと思うと対象のリポジトリは既にコミットB、C……とどんどんコミットされていきます。

この場合にPull Requestを送ると迷惑になるでしょうか?

また、どのようにPull Request 送るのが良いのでしょうか?
0260デフォルトの名無しさん2015/01/08(木) 19:20:54.34ID:lwhEqmhO
>>259
気にせず送るべし
けど自動テストが通らなかったりマージでコンフリクトするような状況にある場合はリベースしてくれとか言われることもある
0261デフォルトの名無しさん2015/01/08(木) 21:23:44.75ID:NyXuGLcn
>>259
一番初めのプルリクエストでマージコンフリクトが起きるのはだめだろうな。
少なくとも一番初めは、出来る限り最新のコミットからの修正である方がいい。

でも、常に最新でなければならないというわけでもない。
なぜならプルリクエスト出した後でもコミットは追加されるから
どちらにしろ、最新にならないから。

コンフリクトが起きなければ、たいてい問題ないし、
コンフリクトが起きれば、その時修正すれば良い。

コンフリクトが起きた状態ではマージできないのだから
どちらかが解決するだけの話。
0262デフォルトの名無しさん2015/01/09(金) 06:20:08.33ID:GHJOtrq4
コミットの幅が大きすぎると
マージコンフリクトしたときに
修正する範囲も大きくなりすぎて面倒になる
出来るだけ小さいコミットに分けて
マージコンフリクトが起きにくくするのが良い
0263デフォルトの名無しさん2015/01/09(金) 08:28:20.17ID:grkP3MoT
>>260-262
みなさんありがとうございました
0264デフォルトの名無しさん2015/01/09(金) 10:06:30.99ID:hl4ryjvR
Aブランチのa.txtの最新をBブランチでチェックアウトする方法をおしえてください
0265デフォルトの名無しさん2015/01/09(金) 18:22:25.85ID:CA8wvY1h
git checkout B
git checkout A a.txt
0266片山博文MZ ◆T6xkBnTXz7B0 2015/01/11(日) 22:29:12.70ID:NXRDqdvf
レポジトリーの中にレポジトリーを入れるのは可能ですか?
0267デフォルトの名無しさん2015/01/11(日) 23:13:19.37ID:JCb9imvW
サブモジュールとかそうなってんじゃねえの
0268デフォルトの名無しさん 転載ダメ©2ch.net2015/01/13(火) 22:34:23.81ID:j85ab1m+
2.2.2
0269デフォルトの名無しさん2015/01/16(金) 19:06:06.01ID:3j38ipf7
rebase -iで指定した当該コミットが修正できないのはどういう思想?
commit --amendで「直前の」コミットを修正するのだから
素人考えでは当該コミットも編集対象に入れてくれてもよさそうなものだが

ま、実害はないんだけど
どうにも慣れない
0270デフォルトの名無しさん2015/01/16(金) 19:25:02.72ID:jQDFvNpa
amendが直前のrebaseの別名と思え
0271デフォルトの名無しさん2015/01/16(金) 21:18:56.48ID:sJQXscVU
aブランチはa.txt編集用
bブランチはb.txt編集用

aブランチで編集した時に、山下くんがb.txt修正しといてよっていってきました
このときaブランチはまだ作業中なのでコミットしないままbブランチでさくっと修正してコミットして、またaブランチで作業を再開するためのコマンドの流れを教えてください
0272デフォルトの名無しさん2015/01/16(金) 21:42:11.22ID:8SSd7+M8
そういう時はさくっと一時的にでもコミットしちゃうのがgit流
でも、頻発するようならcontribにあるgit new-workdirで作業ツリーを別に作っとけば便利
0273デフォルトの名無しさん2015/01/16(金) 22:33:31.07ID:PoJiHUt9
一応その場合に対処するための機能がstashじゃないの
git stash
git checkout b
修正、コミット
git checkout a
git stash pop
0274デフォルトの名無しさん2015/01/16(金) 22:35:30.56ID:lBWuATDI
git add .
git commit
git checkout b
b.txt編集
git add .
git commit
git checkout a
編集
git add
git commit --amend
こうはどうか
0275デフォルトの名無しさん2015/01/17(土) 00:08:07.01ID:OrtXS/LN
すぐに作業に戻れそうならstashだな。

時間が掛かりそうなときは、コミットしている。
コミットした後元に戻って、git reset HEAD^ すれば
作業中状態に戻せる。がそのまま続けてあとでrebaseやsquashすることもある。
0276デフォルトの名無しさん2015/01/17(土) 00:47:09.77ID:+rUaI3F0
Windows版は完全にメンテナがやる気を無くしてるな…
0277デフォルトの名無しさん2015/01/17(土) 10:45:51.13ID:Myj9loPB
ごめんてな
0278デフォルトの名無しさん2015/01/17(土) 14:45:49.89ID:nY2kAZv2
SJISのテキストに対応して欲しい
UNIX混在環境ならともかく、Windowsに閉じた環境で
わざわざUTF-8でテキスト書くヤツなんていないから
0279デフォルトの名無しさん2015/01/17(土) 14:59:25.58ID:sqhqU9t5
そうでもない
0280デフォルトの名無しさん2015/01/17(土) 16:42:25.01ID:dH11oz0d
今更SJIS使うやつなんて居るのか。
0281デフォルトの名無しさん2015/01/17(土) 16:48:25.61ID:uQW+pF83
機種依存文字とか撃たせる気なの?
0282デフォルトの名無しさん2015/01/17(土) 17:38:26.28ID:c2Xpc2yA
UTF8なら機種依存文字という概念自体が
ほとんど無くなるからな。
そんな文字も含めて全部収録されてる。
絵文字までも使い放題
0283デフォルトの名無しさん2015/01/17(土) 19:18:35.51ID:IDqsytYO





この5つの絵文字Windowsで見える?
0284デフォルトの名無しさん2015/01/17(土) 19:33:23.73ID:dH11oz0d
文字があるかとフォントがあるかは別の話では。
htmlだと実体参照で文字コードによらずにUnicodeの文字は示せる。
0285デフォルトの名無しさん2015/01/17(土) 19:36:59.93ID:PPUSm5YO
>>283
俺のガラケーでは見えない
0286デフォルトの名無しさん2015/01/18(日) 01:09:07.11ID:1HDk1G1l
>>283
見えてる。
0287デフォルトの名無しさん2015/01/18(日) 01:10:27.37ID:1HDk1G1l
gitってハードリンクを使うことで高速なブランチ切り替えを実現していると
思ってるんだけど、ハードリンクが使えないファイルシステムだとどうなるの?

ハードリンクを使わないで同じことをしている?
ということは遅くなりそうだけど。
0288デフォルトの名無しさん2015/01/18(日) 01:39:18.33ID:sSnZb6HT
別にハードリンクなんか使ってないが
ていうかハードリンクを使ってどうやってブランチ切り替えを高速にするんだよ
0289デフォルトの名無しさん2015/01/18(日) 01:41:39.24ID:1HDk1G1l
自己解決しました。

>>288
これでもよんだら?

http://git-scm.com/book/ja/v1/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB
0290デフォルトの名無しさん2015/01/18(日) 06:50:45.06ID:kbt215jd
リポジトリをクローンするときリモート先が同じファイルシステムの場合はハードリンクを使う方法があると書いてある
ブランチ切り替えとハードリンクについて>>289のリンク先には何も書かれてない

もしかしてこれは釣りというやつなのか
0291デフォルトの名無しさん2015/01/18(日) 12:10:55.18ID:H4Qq5dvf
>>290
勉強したら?
http://ton-up.net/technote/2013/11/17/study-git-internals/
ファイル内容が同一だった場合、同一blobへハードリンクする
0292デフォルトの名無しさん2015/01/18(日) 14:15:54.46ID:AMauTogu
Gitって差分管理してないのか!知らんかったので勉強になりました

でも結局ブランチの切り替えとハードリンク関係なくね
0293デフォルトの名無しさん2015/01/18(日) 16:09:30.83ID:/EJ+6qGQ
>>291
その記事書いた人、いろいろ分かってなさそう。
ハードリンク云々は、あるファイルの中身がバージョンxとyで同じなら、同じblobを参照するってことでは?
その直後のgit gcの説明もメチャクチャだし。

>>292
普段はファイルごとに圧縮するだけで差分は利用してないけど、git gcすれば差分も利用して圧縮するよ。
ただし、cvsやsvnと違って、論理的なデータ形式としては差分は利用してない。
0294デフォルトの名無しさん2015/01/18(日) 17:54:07.40ID:jsQnL7kd
ハードリンクしたらファイル変更した時blobまで書き換わっちゃうだろ
0295デフォルトの名無しさん2015/01/18(日) 19:17:15.50ID:sSnZb6HT
ハードリンクのあるOSでls -laしてみるだけだろ
使ってない、でFA
0296デフォルトの名無しさん2015/01/18(日) 20:18:43.72ID:fm6KJFw0
そりゃファイルの中身が違うならば使ってないだろうさw
0297デフォルトの名無しさん2015/01/18(日) 20:36:03.50ID:MSgZJjrE
ハードリンクじゃなくてコピーオンライトでは
0298デフォルトの名無しさん2015/01/18(日) 20:57:10.26ID:sSnZb6HT
>>296
そこまで言うなら自分で試してみろ
理屈で考えても>>294の言う通り、ハードリンクの余地なんて無いんだからさ

とりあえず>>291の記事の「ハードリンク」は確実に嘘で、これも試せばわかる

>>297もちょっとおかしいぞ
gitは変更も新規ファイルも区別ないし、オブジェクトは使われなくなってもgcするまで消えないんだから
寿命管理自体してない、する必要ない
0299デフォルトの名無しさん2015/01/18(日) 22:59:33.30ID:ZNqUKCJi
>>298
git の object 機構が、user-mode fs のように既存のファイルシステム上にもう一つのファイルシステムのようなものを作っていて、ファイルシステムのハードリンク機能と同じような仕組みをユーザランドでやってるってだけの話だよね。
全体的なデザインが、zfsっぽいなあと思った。
0300デフォルトの名無しさん2015/01/19(月) 15:01:22.47ID:Gs0FPaUi
>>291
>ファイル内容が同一だった場合、同一blobへハードリンクする
同じ内容のファイルのblobは同じハッシュを持つ
treeからblobへの参照はこのハッシュ使っているから同じ内容のファイルのblobの実体は一つになる
しかし、この参照にOSのハードリンクは使って無い
0301デフォルトの名無しさん2015/01/19(月) 15:16:43.39ID:hvZXdJxV
結局最初の人以外は誰もOSのハードリンクを使ってるなんて思ってないので終了
0302デフォルトの名無しさん2015/01/19(月) 20:12:01.03ID:cOL8vmE7
使い初めの頃、速いからハードリンクかと思ったけど、リンク数が1だったので、ないなと思った。
0303デフォルトの名無しさん2015/01/21(水) 14:59:49.21ID:e7cIHMPH
ネットワーク上からサブディレクトリだけ取得できますか。
0304名無しさん@お腹いっぱい2015/01/21(水) 18:32:03.93ID:NLX5ChHY
https://www.youtube.com/watch?v=GfCtux5pjAI
0305デフォルトの名無しさん2015/01/22(木) 17:11:39.88ID:zLQIDOv9
開発用ブランチでgit add .;git commit -m "aaaa"っていうのを
git ac "aaaa"でできるようにしてるんですけど
まちがえてgit "aaaa"ってうっちゃってコミットしてなかったんですよ
そのあとコミットしたつもりでgit checkout master; git merge developやって初めてマージされてないことに気づいたんですが
ここで僕がコミットしたかった内容を取り戻す方法ありませんあk?
0306デフォルトの名無しさん2015/01/22(木) 17:32:53.67ID:ETHzP6B6
節子
それあかんやつや
03073052015/01/22(木) 18:52:06.80ID:VHpmgCoj
そして、コミットしてないのにmasterブランチに移動できたのがよくわかりません
コミットしてないとブランチを移動できないはずなのに
0308デフォルトの名無しさん2015/01/22(木) 21:11:13.14ID:zhp/ccUR
まだワーキングコピーに残ってて git diff HEAD すると出てこない?
0309デフォルトの名無しさん2015/01/22(木) 23:12:27.92ID:dovnY2vS
addでステージ済なら復活させられたはず
fsckとか使ったと思うけど調べてみて
0310デフォルトの名無しさん2015/01/23(金) 07:50:36.75ID:49x/Qskq
ブランチ切り替え前後でいじったファイルに変更がなければブランチ切り替えできるね
0311デフォルトの名無しさん2015/01/23(金) 10:11:10.51ID:zoW4TF5j
ブランチの管理にgit-flowってのが便利そうだけど、使ってる人いたら利点や感想など教えてもらえますか?
0312デフォルトの名無しさん2015/01/23(金) 12:28:54.99ID:iNKYdZ74
Google先生に頼めば大量に解説されている記事を紹介してもらえますか
0313デフォルトの名無しさん2015/01/23(金) 12:47:11.90ID:zoW4TF5j
>>312
個人の開発に向いた機能だと思いますか?
チーム開発では便利そうだけど個人で使うには冗長な機能が多いと感じます
0314デフォルトの名無しさん2015/01/23(金) 13:00:26.24ID:iKIZzacC
解説された記事を読みましょう
その上で自分の開発に取り入れる上でどのようなメリットがありデメリットがあるかを考えて総合的に選択するかしないかは自分で決めるべきでしょう
どんなものにもやらなければならない縛りはないのです
0315デフォルトの名無しさん2015/01/23(金) 17:29:33.01ID:uNdTiJaP
git init
git checkout -b test
touch a
git add .
git commit "first"
git branch

1.なんでmasterブランチがないんですか?
2.initすればmasterブランチが作られないんですか?
3.masterブランチってどこで作られるんですか?
4.この場合masterブランチはどうやって作ればいいですか?masterブランチって特別なブランチですよね?git checkout -b masterで十分でしょうか?
0316デフォルトの名無しさん2015/01/23(金) 17:31:48.14ID:zoW4TF5j
いろいろ記事を読んでみましたが、初心者は実際にやってみないとわからないなという感じです。

下の記事でgit-flowとgithub-flowの比較をしてますが、これらの機能の経験者の方は同意できる内容ですか?
特に結論のこの点が気になります。
> GitHub-flowを採用しよう → おそらくこういう考えに至る人が多数派なので、git-flowの利用者が減ってきている・・?

http://qiita.com/jshimazu0820/items/066e061eef700caa1c68
0317デフォルトの名無しさん2015/01/24(土) 17:42:08.38ID:8pV/y7B7
>>316
統計的なデータは見たことないんだが、こういう話もでてるみたいだね。
「develop ブランチなんてオワコン」 http://togetter.com/li/673629

個人的にはgit-flowは面倒すぎるので試したことすらない。
チーム開発でも躊躇するくらいだわ。(GitHub flow派でもないが)
とはいえgit-flowがうまくマッチするプロジェクトもあるかもしれない。

コメントから初心者なのかなと思うけど(違ったらごめん)、
Gitの操作に慣れてくるとどのフローがプロジェクトに合うか判断できるようになると思うので
色々試してみるのが遠く見えても近道じゃないかな。がんばって。
0318デフォルトの名無しさん2015/01/24(土) 17:53:28.41ID:8pV/y7B7
>>315
> 1.なんでmasterブランチがないんですか?
git checkout -b test してるから

> 2.initすればmasterブランチが作られないんですか?
git checkout -b test しなければいい

> 3.masterブランチってどこで作られるんですか?
今試したところ最初のコミットで作られる。
より正確には
・HEAD が git init 直後に指しているのは master
・git init直後 refs/heads/master は存在しない
・git checkout -b test すると HEAD が指す参照(ブランチ)名が test に変わる
・git init後最初のコミットで refs/heads 配下に HEAD が指していた参照が作成される
という動きのようだ。
なので git init後 git checkout -b testしてれば test ブランチが作成され、masterブランチは作成されない

> 4.この場合masterブランチはどうやって作ればいいですか?masterブランチって特別なブランチですよね?git checkout -b masterで十分でしょうか?
それでいい。
master がついてる場所に不満があるなら reset --hard で付け替えればOK
0319デフォルトの名無しさん2015/01/24(土) 20:14:11.70ID:SgdHfwH0
アホなコンサルがネットに書いてあるからって理由で
git-flowなんかゴリ押しするんだよなあ
実情に合わねっつーの
0320デフォルトの名無しさん2015/01/24(土) 20:47:35.98ID:nzZsnS5c
まずはアホなコンサルを呼んでいるアホを糾弾しろ
0321デフォルトの名無しさん2015/01/24(土) 20:49:44.30ID:LdIBiv/J
git でコンサル?
0322デフォルトの名無しさん2015/01/24(土) 21:02:36.39ID:cHjosKFf
>>317
ありがとうございます。Git初心者です。
GitHubは使っていないですし、一人で開発してるので第三者にコードレビューしてもらうのも不可能なので
GitHub flowは候補にならないのかなと思いました。
とりあえずgit-flowをインストールしたので試してみます。

>>319
初心者が「ブランチ管理ってどうやるんだ?」とネットで調べたらgit-flow・github-flowに行き着きました。
0323デフォルトの名無しさん2015/01/24(土) 21:13:36.91ID:cHjosKFf
ちなみにwindowsでgit-flowのインストールをググると日本語でこのページが出てきますが
若干内容が古くなってるようです。
http://www.atmarkit.co.jp/ait/articles/1311/28/news042.html

gitflowのwikiを参考にした方が間違いないと思います。
ほとんど内容は同じですが
「Copy getopt.exe, libintl3.dll and libiconv2.dll」
の部分が違います。

gitflow : Installing on Windows
https://github.com/nvie/gitflow/wiki/Windows
0324デフォルトの名無しさん2015/01/24(土) 21:39:41.98ID:5G1Vkj7B
最新コミットのところでgit checkout ハッシュ:ファイル
で戻った後やっぱり最新のコミットにもどしたい場合はどうするのがいいですか?
もう一回git checkout 最新ハッシュ:ファイル
で戻るのがベストですか?
0325デフォルトの名無しさん2015/01/24(土) 21:44:16.32ID:8pV/y7B7
>>322
そういうことなら
http://d.hatena.ne.jp/kazuhooku/20140204/1391479663
くらいのシンプルなフローでスモールスタートすればいいんじゃないかな。
他のフローほど複雑じゃないし、基本は抑えてある。

あとはブランチやコミットの分割・統合とか、自信持ってできるくらいまで
Gitの操作に熟練すれば自分でどうすべきか見えてくると思う。
0326デフォルトの名無しさん2015/01/24(土) 21:45:43.06ID:8pV/y7B7
>>324
git status の出力をよく見たら、どうすればいいか書いてないかな?
0327デフォルトの名無しさん2015/01/24(土) 21:54:42.20ID:8pV/y7B7
>>323
残念ながら git-flow 界隈の最新情報にはあまり詳しくない。
WindowsならSouceTreeというGUIツールがgit-flowをサポートする機能を持ってた気がする。
LinuxとかならちゃんとCUIでGitの操作に習熟したほうがいいんじゃないかなと思うが、
Windowsメインならそういうツールのアシストに乗っかるのも手だと思う。
0328デフォルトの名無しさん2015/01/24(土) 22:32:28.18ID:cHjosKFf
>>325
参考になります。
テストファーストじゃないですが、シンプルなフローという考え方自体イメージ出来ていませんでした。
その考え方で自分には十分そうな気がします。

>>327
インストール自体は>>323で動作確認しました。

OpenShiftというwebサービスを利用してPaaS環境で開発してますが
Gitでpushしたものが即webアプリケーションで動きます。
OpenShiftは、CUIでのGit/サーバ操作が基本になっています。
windowsでも実用的に問題なく扱えますが、やっぱりwindows独特のトラブルが多いと感じます。
0329デフォルトの名無しさん2015/01/25(日) 14:22:25.30ID:A4Cd5W0x
一人で Git を使っています。daily branch に commit をためて、切の良い所で master
に --no-ff で merge する程度のやり方で済ませています。

ただ、bug 対策、feature 追加、テスト追加、ドキュメント、ソフト関連メモのために
専用の tracking git directory を設けて、 org mode テキストで管理しています。
Redmine 等も調べたのですが、大げさな割りに自由度がないので自己流のテキスト・
ファイルの塊ですませています。でもプログラム・ソース git との関連が破綻気味に
なってきています。同じバグに複数のシリアル番号を与えることが出たりしています。

小規模なソフト開発で、皆様がプログラム・ソース git と関連文書を どのように管
理・発行しているのか教えてもらえますでしょうか。
0330デフォルトの名無しさん2015/01/25(日) 14:35:50.12ID:GYzk0joc
何をテキストで管理しているのか全くわからんが、
ソースとドキュメントが関連がごちゃごちゃになるなら
ソースコード自体にドキュメントを埋めればいい。
ソースコードからドキュメントを生成することは簡単。
関連するものが分散しているのがそもそもの問題。
0331デフォルトの名無しさん2015/01/25(日) 14:37:01.79ID:GYzk0joc
Issueの話ならgitで管理するのが間違い。
githubを見てみればわかる。
gitとは別の「github」というシステムで管理している。
金が無いなら、gitlabでも使えば良い。
0332デフォルトの名無しさん2015/01/25(日) 14:37:49.44ID:R3Fg53IN
ぼくはね開発は全部developブランチを作成してそこでやってるんですよ
そしてmasterにコミットして言ってるんですよ
そして切りがいいタイミングでタグつけてるんですよ
0333デフォルトの名無しさん2015/01/25(日) 19:07:28.69ID:bbm8MHtJ
>>329
> 同じバグに複数のシリアル番号を与えることが出たりしています。

だから Redmine なりを使いなさいよ
どんな自由度が欲しいのかよくわからんが、
> bug 対策
だけなら、素のままでも使えるでしょ
俺は一人で Trac + Subversion 使ってるけど、便利だよ
0334デフォルトの名無しさん2015/01/25(日) 19:17:08.19ID:zML2z7An
GitもRedmineもチーム開発のためのツールでしょ
それを一人で使えば、ツール使用に要するエネルギーが使用効果を上回り非効率となる
一人ならフォルダ丸ごとコピーして連番を振っておけば十分
0335デフォルトの名無しさん2015/01/25(日) 19:20:53.53ID:CVtB1D/3
一人でもそんな管理方法イヤすぎるw
0336デフォルトの名無しさん2015/01/25(日) 19:45:10.32ID:Lk9JAYup
真面目な管理が必要になるほどでかいプロジェクトを一人で開発するってことあるか?
俺は面倒だから出来る前からGithubに上げて、ぶつぶつ書いたissueを勝手に誰かがやるのを期待しながらコードを書いてる。
0337デフォルトの名無しさん2015/01/25(日) 20:22:21.80ID:jNZ1CTPY
>>336
テキトーにやってもそれなりに管理できるのが git/Redmine とかのメリットなんだが w
ログなんて書かなくたって修正した日時とファイルの差分がわかれば色々思い出すし
Redmine をメモ代わりに使うのもありだし
まあ、無理には勧めないけど
0338デフォルトの名無しさん2015/01/25(日) 20:41:17.87ID:Lk9JAYup
修正日時と差分が知りたくなるようなものはGithubに上げるよ。
0339デフォルトの名無しさん2015/01/25(日) 21:22:32.30ID:i6m/tzqt
俺も一人だけどredmine+gitだな。
現に>>329は破綻しているのだから、それよりは効率的だろう。
sqliteだと複数人で使う気になれないし、言うほど大掛かりなのかなぁ。
0340デフォルトの名無しさん2015/01/25(日) 21:27:13.83ID:Mazo5ktc
開発者が私だけであっても機能Xを開発する私と修正Yを開発する私は
物理的に一人かもしれないがやっていることは違う人。
XとYの作業に時系列上のオーバーラップがあるなら、
ローカルリポジトリに閉じていてもそれは本質的には分散作業ということだ。
一人で使う作業が中心であっても、そこを理解してる人は
分散型でないVCSには戻りたくないと思うよ。
0341デフォルトの名無しさん2015/01/25(日) 21:34:20.75ID:4G7cDz/C
tracって使いやすいですか?redmineと比較してどうですか?
0342デフォルトの名無しさん2015/01/25(日) 22:31:38.25ID:XPwi6yeC
このスレを見るくらいはGitを使ってる人でも一人ならフォルダ管理でいいっていう人もいるのか
にわかには信じがたい
0343デフォルトの名無しさん2015/01/25(日) 22:40:46.54ID:GYzk0joc
>>329が答えじゃないか。

そのやり方をしていて破綻してしまっているから
悩んでこうして書き込みをしている。

複数の人でもIssue管理可能なシステムを
使えば、当然一人でも管理可能
0344デフォルトの名無しさん2015/01/26(月) 00:19:28.61ID:zmR2jPs+
半日程度で終わるくらいのプロトタイピング時はディレクトリコピーでいいかなーとは思う
0345デフォルトの名無しさん2015/01/26(月) 00:29:27.20ID:+Dq65ZoG
5分10分で作ったアプリはファイルに保存すらしなかったりするしなぁ
0346デフォルトの名無しさん2015/01/26(月) 03:27:14.43ID:arRb/hiH
>>329 です。皆様 issue 管理についての御意見ありがとうございます。

私のソフトは数万行の規模であり、10年以上機能追加とバグ対策を経ているものです。
今後も一生開発を続けます。テストはソースとは独立しており数千行の規模です。
Coverage 100% を目指していますが、そこまで まだ力を注げません。

「Redmine は GUI で複数の作業員に統一した管理方法を徹底するツールだ」というのが
以前検討したときの結論です。今回のバグの二重登録は、半年前の bug issue を見逃し
たことで発生しました。Redmine で それが防げるとは思えません。全体管理を専門にす
る担当を置くことで防ぐしかないと思います。

私が issue も git 管理するのは、後で問題を見返したときに、当時の状況・経緯を再
現できるようにしたいからです。Invalid にした機能の理由を後でも分かるようにする
ことを最重要視しています。日常メモだけではゴミが増えすぎるので、そのエッセンス
を issue 文書として別に設けています。

現在破綻気味なのは細かな todo も issue に含めるようにしたためだと思っています。
それにバグが埋もれました。細かな issue 専用のディレクトリを設けて、issue 管理種
類の階層を見直そうと考えています。

ここらの途中変更を Redmine, Git Flow, GitHub enterprise などで許容できるとは思
えません。現状の issue text file 群の git 管理しか方法は無いとするのが現在の私の
考えです。
0347デフォルトの名無しさん2015/01/26(月) 04:42:53.92ID:+20h4l7e
なんかエクセル方眼紙的な使い方だな
そんなに合わないのならBTSも作っちゃった方が良いんじゃないか
0348デフォルトの名無しさん2015/01/26(月) 06:02:27.97ID:4je0vE9e
Githubにあげて楽になれよ。俺はソースをもらってく。
0349デフォルトの名無しさん2015/01/26(月) 08:11:57.99ID:7PO1Rygt
>>341
好みの問題だと思う
プラグインも色々あるから、自分のやりたいことがあるなら BTS スレで... って今見たら BTS スレないのな
まあ、両方ともネットに情報ゴロゴロ転がってるから調べてみればいい
0350デフォルトの名無しさん2015/01/26(月) 08:14:01.79ID:7PO1Rygt
>>342
ネタ振りでしょ
0351デフォルトの名無しさん2015/01/26(月) 10:43:27.72ID:o6RBMBnt
ネタ振り〜してる間に〜
0352デフォルトの名無しさん2015/01/26(月) 11:09:08.69ID:EnKfsnZc
>>346
まあ、自分一人でオレ流のやり方通したいなら勝手にすれば良いと思う
世の中で誰もそんな使い方してないっていうのはどういう事か理解できないなら仕方ないね
0353デフォルトの名無しさん2015/01/26(月) 11:14:16.45ID:Qq27LOAA
そのソフトでなんらかの事業をやってるとして、将来その業務を第三者に引き継がせることが出来るんだろうか。
自分の代でおしまいだと決まってるのなら、自分しか理解できない仕様でもかまわないと思うが。
0354デフォルトの名無しさん2015/01/26(月) 13:11:21.76ID:zXqptoTy
>.346
なんでバグを見逃したのか、バグが埋もれたのかというと
それはツールが使いにくいからだよ。

完全に防ぐことは出来ないが、Redmineやgithubやgitlabは
それらの問題を見つけやすいインターフェースにになってる。

それに開発中にIssueをコミットなんかしてるから
埋もれるんだよ。あとで詳細を書こうと思って
今は仮で見つけたものを登録しておくとか
TODOを作っていくとか、そのたびにコミットするから
コミットログがごちゃごちゃなって埋もれるわけ。
0355デフォルトの名無しさん2015/01/26(月) 22:58:47.68ID:qq3+AGQU
githubでプルリクするとき、修正が以下のような3点だった場合、どういうまとまりで出せばいいでしょうか?
コミットはそれぞれ別になっていますが
リクエストを複数にする?ブランチを複数にする?全部まとめて1回のリクエストでいい?というあたりがよく分かっていません
修正内容
1.ほぼ間違いなくマージされるであろう修正(ドキュメントの更新)
2.ほぼ間違いなくマージされるであろう機能の改善(1とは関係ない)
3.マージされるかは微妙な機能の改善
(マージされるされないの推測はもちろんこちらの勝手な想像です)
0356デフォルトの名無しさん2015/01/26(月) 23:00:40.29ID:0p3Uhe6z
逆の立場になって考えてみろ
お前がプルリクを受けた場合どれが一番嬉しい?
0357デフォルトの名無しさん2015/01/26(月) 23:36:37.74ID:4je0vE9e
俺は面倒だから全部一気に送る。
送られてきた場合は、ほしいところまでpullするなりcherry-pickするなりする。
0358デフォルトの名無しさん2015/01/26(月) 23:37:32.45ID:qq3+AGQU
正直、プルリクエストやgitの機能を理解してない部分が多く、どれが一番うれしいのかわかってないのです
各コミットを適用するか否かを別々に判断して反映できればいいのだと思うんですが
一つのプルリクにまとめて送ってもそれができるのかどうかが分かってません
0359デフォルトの名無しさん2015/01/26(月) 23:40:54.76ID:0p3Uhe6z
もう面倒だからプルリク送ってプルリクページで主と相談すりゃいいと思うよ
主が分けてほしいと言ってきたら分けて再プルリクすりゃいいし
GitHub flowなんかプルリクページで活発にやりとりするのが基本らしいしな
0360デフォルトの名無しさん2015/01/26(月) 23:43:09.96ID:qq3+AGQU
>>357
なるほど確かにcherry-pickしてもらえるのであればコミットさえ分かれてれば大丈夫ということですね
そう考えるとどう送るか&受け取るかはその人次第って事なんでしょうかね

>>359
プルリクページで相談!
確かにいったん送ってみてこれが間違いなさそうです
ありがとうございます
0361デフォルトの名無しさん2015/01/27(火) 00:08:20.78ID:zxc1Q4JE
基本は全部別ブランチにしてプルリクエストも分けろだが、各自masterブランチで作業してマージしあってるプロジェクトもあるから作者どうしてるか次第だな
0362デフォルトの名無しさん2015/01/27(火) 00:12:28.64ID:/MLR0G3n
失敗してもええんやで
0363デフォルトの名無しさん2015/01/27(火) 07:16:31.21ID:BzqDIclr
>>360
そう。自由にできるソーシャルコーディング。Github最高だわ。
0364デフォルトの名無しさん2015/01/27(火) 08:22:02.13ID:Dg/XO2cm
>>353
まさにそれ
0365デフォルトの名無しさん2015/01/27(火) 10:21:43.37ID:980R/bxb
githubにプルリク投げる時のブランチ名について質問だけど、
・こっちのブランチ名は伝わる
・けど、向こうは好きな名前で受け取れるから、大した問題ではない
・とはいえ、適切な名前を付けた方がかっこいい
って理解で合ってるかな?
バグフィックスだからfix/○○にしようと思ってるけど。
0366デフォルトの名無しさん2015/01/27(火) 12:13:50.23ID:MpwFrzaX
ブランチ名とかコミットログの一行目とか難しいよな。

長ったらしい英語なら書けるけど、
短くそれでいて意味が通る言葉がでてこない。

だから毎回似たような単語になってしまう。
0367デフォルトの名無しさん2015/01/27(火) 12:25:16.50ID:KRe6og0K
後で一覧を眺めた時に要不要や関係あるなしを一瞬で識別・判断できれば十分
0368デフォルトの名無しさん2015/01/27(火) 12:27:49.01ID:MpwFrzaX
>>367
その理屈で言うと
ブランチ名 「 [bug][2.0][important] 」みたいなのでもいいんだろうかw
0369デフォルトの名無しさん2015/01/27(火) 12:29:12.58ID:MpwFrzaX
てか、普通にかぶるよね? ブランチ名。

過去に作ったことの有るブランチ名と
同じ名前を作ってしまうことは有るはず。

ほとんど問題無いと思うが。
0370デフォルトの名無しさん2015/01/27(火) 13:07:18.80ID:EMNyEMKP
git checkout -b fix-コミット番号-修正内容
0371デフォルトの名無しさん2015/01/27(火) 14:50:54.26ID:BzqDIclr
>>365
面倒だから自分が今使っているブランチをそのまま投げる。
0372デフォルトの名無しさん2015/01/27(火) 15:02:51.47ID:im4SxcEj
対象範囲をブランチ名で、詳細をコミットタイトルで表すようにしてる
コンフリクトする可能性のある個所を把握しやすくなるとおもわれ
0373デフォルトの名無しさん2015/01/31(土) 15:25:35.80ID:mHT4AiSW
Gitで、新旧のバイナリファイルを比較したいです。
具体的には、ワーキングディレクトリにあるUMLの設計ファイルと、過去のバージョンのUMLの設計ファイルを比較しようとしています。

diffをとることはできませんので、目視で比較したいと思っています。
こういう場合、みなさんどうやって比較していらっしゃいますか?
昔のファイルを
git checkout -- <file>
してますか?
そしたらworking directoryのファイルが上書きされてしまって比較にならないような気がするんです。
でも、わざわざワーキングディレクトリをもう1つ作ってそこに旧バージョンをチェックアウトするのも面倒くさそうだし。。。
なんか良い方法ないかなぁ?と

ちなみにSourceTreeを使っております。
0374デフォルトの名無しさん2015/01/31(土) 15:32:53.41ID:mHT4AiSW
あっ

自己解決しました
SourceTreeだったらクリック1つで普通に旧バージョンもOpenできたわ・・・・


問題はUML編集ソフト(astah community)が同時に2つのプロジェクトファイルを開けないことです
0375デフォルトの名無しさん2015/01/31(土) 15:33:44.66ID:mHT4AiSW
ん?
でも皆さんコマンドラインではどうしてるんですか?

当面の問題は半分解決したけど、理解できてない感じがします

あへあへ
0376デフォルトの名無しさん2015/01/31(土) 16:40:58.99ID:FpW6JQXw
バイナリデータかつ比較する必要が出てくるのって
画像くらいしか扱ってないから
サーバのWebインターフェイス(Webブラウザ)で事足りてる

それ以外は大抵一瞥しただけじゃ
差分が把握できない(ガッツリ検証する必要がある)から
手間としては誤差だな
0377sage2015/01/31(土) 22:42:58.62ID:NjH9LK3t
>>376
コメントありがとうございます

サーバの、ってことは gitのリモートリポジトリのwebインターフェースを見るってことですか? githubとかbitbucketみたいな。

みなさん設計ってどうされてるのかな
万年Newbieなもんで、開発のフローがいまいちわからないdeath
0378デフォルトの名無しさん2015/01/31(土) 23:50:40.40ID:fD8yMOOP
やったことなかったけど、画像を見るんだったら
git show ハッシュ|display -
とかでいいな
0379デフォルトの名無しさん2015/02/02(月) 12:09:58.81ID:K0nJIStf
github apiであるユーザーのパブリックなリポジトリの数を取得する方法おしえてください
0380デフォルトの名無しさん2015/02/02(月) 19:40:50.37ID:5HI2wkL1
github固有の話題はスレチだっつってんだろ
0381デフォルトの名無しさん2015/02/02(月) 19:43:21.40ID:vZ4lrtxA
わかりました
0382デフォルトの名無しさん2015/02/03(火) 18:21:20.49ID:pBykX74D
ちょっとお聞きしたいのですが、、、

以下の通り作業したときなんですが、

1)トピックブランチで作業
2)トピックブランチをmasterにマージ
3)masterをリモートにpush

このときリモートの歴史が進んでいたら
pushに失敗しますので
pullしないといけませんが、
単純にpullすると、
なんかコミットログのツリーが
キモい形になります。
(ローカルのmasterに、
リモート側にpush済みのコミット郡が
ブランチ作業されたみたいな形で
マージされると思います)

そこでちょっと思ったのですが
ひょっとして以下のようにするのが普通だったりしますでしょうか?

1)トピックブランチで作業
2)トピックブランチをmasterにマージ
3)masterをリモートにpush
4)ここでリモートの歴史が進んでいたためにpushに失敗したら
トピックブランチのマージはいったんリセット
5)masterにリモートの歴史をpullしてから2)に戻る

しょうもない質問かもしれませんが
よろしくお願いします。
0383デフォルトの名無しさん2015/02/03(火) 18:23:53.56ID:9S3xfl3n
>>382
masterは弄る前に最新にしておく。
0384デフォルトの名無しさん2015/02/03(火) 19:30:02.81ID:pBykX74D
ありがとうございます。
masterにトピックブランチをマージする(いじる)前に、
pullで最新にしておくように心がけようと思います。

チーム内ではそういうルールなしに運用されているため
基本みんな「pushできねー。pullしてpushだ!」とやっちゃってて
コミットログのグラフを見たときに
なんか汚いんですよね、、、
0385デフォルトの名無しさん2015/02/03(火) 20:40:43.00ID:v7tAs31H
fetchとrebaseでいいんじゃ
0386デフォルトの名無しさん2015/02/03(火) 20:49:51.52ID:gNNDcbV6
githubフローでも使えばいいじゃねえの
0387デフォルトの名無しさん2015/02/03(火) 21:07:23.62ID:uPCf3rg4
>>385
rebaseだとコミットの歴史が変わるし
ブランチ内ブランチがあっても
平らになっちゃうし、あんまいいことないのでは。
0388デフォルトの名無しさん2015/02/03(火) 21:22:09.45ID:v7tAs31H
>>387
push前なら気にせずにrebaseしてる
ピックブランチをrebaseしてmasterに--no-ffでマージすれば平らにならないし
0389デフォルトの名無しさん2015/02/03(火) 21:49:48.82ID:uPCf3rg4
俺の使い方が変なのかもしれんが
トピックブランチ内でさらにブランチ作ったりするから
rebaseだとそれが平らになって困る。
0390デフォルトの名無しさん2015/02/03(火) 22:15:43.45ID:K3j8Ml+5
ブランチ同士の分岐の履歴なんて残す必要あるかね?
0391デフォルトの名無しさん2015/02/03(火) 22:20:26.02ID:MgrtGeWO
FF派・アンチFF派の不毛な争いがまた始まる
0392デフォルトの名無しさん2015/02/03(火) 22:23:27.59ID:hYktHZLE
残すためじゃなくて残さないためにNOFFするんだよ(カーン
0393デフォルトの名無しさん2015/02/04(水) 09:44:11.25ID:IcwgNPlv
残すためじゃなくて残さないためにNOFFするってどういうことですか?
残すためじゃないのかなあ。
0394デフォルトの名無しさん2015/02/04(水) 10:00:14.80ID:qNYKp0Ci
merge派とrebaseで履歴一本派でそれぞれconfigでffをどう設定したらいいですか?
0395デフォルトの名無しさん2015/02/04(水) 14:42:12.35ID:IcwgNPlv
>>390
> 390 名前:デフォルトの名無しさん [sage]: 2015/02/03(火) 22:15:43.45 ID:K3j8Ml+5
> ブランチ同士の分岐の履歴なんて残す必要あるかね?
概要を把握して、その後細かい部分を見るのが普通なのでは
0396デフォルトの名無しさん2015/02/04(水) 20:16:00.83ID:e8ld7g+D
この場合の「概要」と「細かい部分」ってなんのこと?さっぱり意味がわからん。
0397デフォルトの名無しさん2015/02/04(水) 20:45:13.29ID:spn6YJXi
ここの人達恐いよ
ソースツリーの構築・整理に異常なまでに取り憑かれている
コードを書くよりGitをいじっている時間の方が長いんじゃないのか
0398デフォルトの名無しさん2015/02/04(水) 20:55:26.87ID:2AooNTti
んなわけがない
お前がろくにポリシー作って運用した経験がないだけ
0399デフォルトの名無しさん2015/02/05(木) 00:58:20.74ID:R/9Vbs7X
バージョン管理はするが過去は振り返らない
俺がHEADだ!
0400デフォルトの名無しさん2015/02/05(木) 01:32:57.58ID:p2qjN/vM
過去は改変せず、ありのまま残せ。
しかしログは簡潔に見たい。
それらを満たせればいい。
0401デフォルトの名無しさん2015/02/05(木) 16:04:14.20ID:LnAyM1GB
ファイルを編集してgit addするまえにgit checkout . で元に戻しちゃったんですけど
どうやって編集してた時の状態に戻せますか?
0402デフォルトの名無しさん2015/02/05(木) 18:38:50.54ID:uT6kyrva
git statusだとサブディレクトリ内のファイルが出てこないんですが
どうやって新規ファイルとか更新ファイルを確認できますか?
0403デフォルトの名無しさん2015/02/05(木) 20:00:24.36ID:6Q4nl3MX
>>401
消しちゃっててaddもしてないなら無理だよ

>>402
出てくるよ
.gitignoreにそのサブディレクトリ書いてるんじゃない?
0404デフォルトの名無しさん2015/02/05(木) 23:58:15.07ID:gFkLdicT
error: pathspec 'add file' did not match any file(s) known to git.
こうなってコミットきませんどうしてですか?

git status

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

new file: file
0405デフォルトの名無しさん2015/02/06(金) 14:37:02.29ID:C54JIcai
よそのリポジトリに何百何千とスター付けてるアカウントはそのブクマをどう管理してるんだろ
使い切れんだろ
0406デフォルトの名無しさん2015/02/06(金) 18:42:33.97ID:2I8MpH78
何の話?gitにスターとかアカウントとかそんな機能あったっけ?
0407デフォルトの名無しさん2015/02/06(金) 20:47:59.13ID:US8+cxzh
>>403
俺は特に設定してないけど--untracked-files=normalの挙動になるんだけどデフォルトで--untracked-files=allにする方法ある?
0408デフォルトの名無しさん2015/02/06(金) 23:40:37.74ID:+IXbszfD
status.showUntrackedFiles
試したことはない
0409デフォルトの名無しさん 転載ダメ©2ch.net2015/02/07(土) 08:49:43.97ID:X2+EyVwW
2.3.0
0410デフォルトの名無しさん2015/02/07(土) 11:58:53.93ID:C2mSGeUj
最新から5件のタグだけ残してそれより古いログを削除するのはどうやるんですか?
0411デフォルトの名無しさん2015/02/07(土) 16:19:28.02ID:9YvHzWPK
出たね(´・ω・`)
0412デフォルトの名無しさん2015/02/08(日) 02:28:29.47ID:lz8L6wsk
やっぱり、言ってみたい言葉の第一位は
「3人いれば勝てると思ったのか?」
ですよ。 これは譲れないお
0413デフォルトの名無しさん2015/02/08(日) 09:37:46.73ID:WvTYGVnx
>>410
古いログ消したいならgitなんか使うなよ
0414デフォルトの名無しさん2015/02/08(日) 19:19:50.56ID:vtzM9ypg
Windows用のgit2.3.0をビルドしました
http://www1.axfc.net/u/3408068

ページ下部のmsysGitで誰でもビルドできます
https://msysgit.github.io/
0415デフォルトの名無しさん2015/02/09(月) 05:08:10.36ID:KtLbWHYP
このご時世に野良ビルドは怖くて使えんぞ
0416デフォルトの名無しさん2015/02/09(月) 09:06:36.31ID:iJdyGTL3
同意します
0417デフォルトの名無しさん2015/02/09(月) 09:07:35.69ID:NoJnOppA
ビルドの手順をコマンド一行一行ごと
書いてくれたほうが嬉しいよな。
0418デフォルトの名無しさん2015/02/09(月) 09:31:51.49ID:BLG3WIOG
野良どころかブログ定住すらしてないのか
Github公式のを使え
0419デフォルトの名無しさん2015/02/09(月) 10:03:16.48ID:/idmoKWn
指定したブランチの最新コミットの特定のファイルを表示する方法を教えてください
git show test:index.txtじゃだめでした
0420デフォルトの名無しさん2015/02/09(月) 10:09:28.90ID:AksERyBw
思考停止してチェックアウトしちまえよ
0421デフォルトの名無しさん2015/02/09(月) 10:15:32.62ID:/idmoKWn
ええええ
いやちょっとコードを確認したいだけなんですよ
チェックアウトするのめんどうくさいです
0422デフォルトの名無しさん2015/02/09(月) 10:18:42.11ID:iJdyGTL3
logはどうなってんの
チェックアウト出来なくなってる可能性もあるぞ
0423デフォルトの名無しさん2015/02/09(月) 10:27:45.93ID:/idmoKWn
編集した状態なのでコミット前です
チェックアウトするなら一回コミットするあらstashしないといけない状態です
コミットが大量にあるのでlogやreflogで探すのが面倒くさいのです
0424デフォルトの名無しさん2015/02/09(月) 12:07:03.38ID:/idmoKWn
あ、もしくはどこのブランチでコミットされたものか表示できるほうほうありませんか?
logにブランチ名も表示されればいいんですけどその方法を教えてください
0425デフォルトの名無しさん2015/02/09(月) 12:22:54.17ID:KtLbWHYP
showで見えるようだが・・・バージョンによるのか?
git cat-file blob test:index.txt
とかは?
0426デフォルトの名無しさん2015/02/09(月) 12:33:53.12ID:/idmoKWn
あ、ソースコードが似てたから勝手に勘違いしてました
git show branch:filenameで大丈夫でした
0427デフォルトの名無しさん2015/02/09(月) 14:16:32.29ID:9He/NoKx
http://nullnote.com/web/git/merge_rebase/
ここみるとやっぱりrebaseでコミットを纏めるのは良くないと思いました
0428デフォルトの名無しさん2015/02/09(月) 18:19:02.44ID:RAMLO4Zp
>>427
公開していないコミットならrebaseしても良い
こいつは色々と間違っている
0429デフォルトの名無しさん2015/02/09(月) 20:12:36.94ID:NoJnOppA
github見れば沢山実例はあるんだから
rebaseしているかしていないかわかるでしょ?

rebaseしているからあんなきれいなコミットログなわけでさ。
もしrebaseしなかったら、typoの修正やら間違った修正の訂正やら
たくさんあってもっと汚いって。
0430デフォルトの名無しさん2015/02/09(月) 20:16:56.60ID:sBN76GX2
pushする前にrebase
0431デフォルトの名無しさん2015/02/09(月) 20:57:10.91ID:NoJnOppA
>>427
ブランチによってrebaseするべきものと
してはならないものがあるよ。

masterなどのメインブランチはrebaseしてはいけない。
トピックブランチはrebaseしてよい。
0432デフォルトの名無しさん2015/02/09(月) 21:00:48.51ID:NoJnOppA
>>438
トピックブランチはpushする前にrebase。
そしてレビューが行われて修正が入った場合、
必要ならばマージする前にrebaseだね。

言っておくけど、rebaseは一個にまとめることじゃないよ。
コミット毎に意味があるようになっていれば複数になってもよい良い。

そしてコミットを綺麗にしてからメインブランチみマージ

簡単にいえば、トピックブランチでミスを一回もしなかったらどうなるか?
その形にしてからマージするということ。
もちろんメインブランチにマージした後のミスはrebaseで直したらだめ。
0433デフォルトの名無しさん2015/02/09(月) 23:56:12.94ID:bwEZbR4B
http://jbbs.shitaraba.net/sports/42269/
0434デフォルトの名無しさん2015/02/10(火) 00:31:08.90ID:arI92W1s
rebase -i を知ってしまうと
コミットは書き換えられても人間はもう戻れないね
0435デフォルトの名無しさん2015/02/10(火) 00:32:11.94ID:ITYxTq2n
トラブルで揉めないように事前にしっかりとルール作りやってればええねん
0436デフォルトの名無しさん2015/02/10(火) 07:33:48.17ID:XejRqe5A
リモートリポジトリを二つに分ければいいんだよ。
全員が共有している、共有リモートリポジトリと
個人専用の、個人リモートリポジトリ。

そして、共有リモートリポジトリへ、
個人リモートリポジトリからプルリクエスト(マージ)

githubを使ったやり方がこれだし、
gitlabでも同じようなことが出来る。

共有リモートリポジトリは全員が共有しているわけだから
安易にrebaseしてはいけない。だけど個人リモートリポジトリは
個人のものだからrebaseしてよい。

オープンソースの開発見ればわかるけど、
一旦プルリクエストして、そのやりとりで細かい修正があった時に
それをそのまま取り込んでくれるところはないよ。
相手が無知じゃないかぎり、rebaseしてくれって言われる。
0437デフォルトの名無しさん2015/02/10(火) 08:58:16.87ID:arI92W1s
個人リモートリポジトリつくるやり方は否定しないが
「rebaseのために」個人リモートリポジトリつくるのは気持ち悪いな

個人で複数マシンで開発してたら
個人リモートリポジトリとはいえrebaseしたくないし
かといってマシンごとにリモートリポジトリ用意するのは馬鹿げているし
0438デフォルトの名無しさん2015/02/10(火) 09:00:10.04ID:qkxvban6
kernel.orgだと
/stable.git
/個人名.git
って感じでずらっとならんでるね
プロジェクトの共有ディレクトリに作ってsshするだけでも楽
0439デフォルトの名無しさん2015/02/10(火) 09:00:31.12ID:ITYxTq2n
後半は関係ない話だよね
0440デフォルトの名無しさん2015/02/10(火) 09:06:16.39ID:XejRqe5A
>>437
rebaseのために作るんじゃなくて、
作業を明確に分けるために作るんだよ。

共通のリモートリポジトリに○○さん実験中みたいなのが、
ずらーって並んでいたら、このブランチは何?ってなるでしょ?

まず最初に、作業を明確に分けるために
リポジトリを分ける。(githubみたいに)

そして、ローカルリポジトリをrebaseしていいのと同じで、
個人のリポジトリ=ローカルと同じで個人が使うものだから
こっちもrebaseしていいわけ。

で、重要なのは、仮定じゃなくて結果ね。
結果として、コミット毎に意味が綺麗に別れれば
あとから、特定の機能をチェリーピックとかしやすくなる。
rebaseが目的なんじゃなくて、開発のしやすさが目的だからさ。
0441デフォルトの名無しさん2015/02/10(火) 09:11:40.47ID:XejRqe5A
>>437
> 個人で複数マシンで開発してたら
> 個人リモートリポジトリとはいえrebaseしたくないし

git push -f すればいいだけだよ。
個人リモートリポジトリだからこそ、誰も困らない。
0442デフォルトの名無しさん2015/02/10(火) 09:15:04.02ID:XejRqe5A
まああたりまえだけどさ、なんでrebaseって機能が
用意されているかって言うと、必要だから用意されているわけで
rebaseしたらだめ。なんてルールは無いんだよね。

rebaseされたら困る場合がある。って話は
rebaseしたらだめという意味じゃない。

rebaseされたら困る場合があるなら、
その場合以外でrebaseすればいいわけ。

元々の要求として、rebaseしたいんだから、
rebaseしやすいように、明確にブランチとリポジトリの
利用方法を分ければいいわけさ。

それを一部の困る場合を例にして
全部禁止するのは本末転倒。
0443デフォルトの名無しさん2015/02/10(火) 09:35:10.28ID:Hs3TdF+4
goto 禁止
select * 禁止
使わない変数の投機的宣言禁止
0444デフォルトの名無しさん2015/02/10(火) 09:42:34.95ID:AS1xy/uz
必死にrebaseして一本道にしているのって本末転倒だな
0445デフォルトの名無しさん2015/02/10(火) 17:20:31.00ID:s+vNxlAS
git push -f した後、別のリポジトリから git pull -f って出来たっけ?
と思ったら、git fetch して git reset --hard すればいいのか。なるほどー。
http://qiita.com/yaotti/items/b64ab993c78a47941869
0446デフォルトの名無しさん2015/02/10(火) 19:16:58.15ID:qkxvban6
linux-rtの場合はrebaseブランチってのがあって
pull ―rebaseで追っかけてたよ
0447デフォルトの名無しさん2015/02/10(火) 21:08:43.17ID:LzvhV5fN
git init
touch a
git add a
git commit -m "add a"
touch b
ここでaをコミットした段階に作業スペースを戻したいんですが
git reset --hard HEAD^ってやってもbが残ったままになります
resetだけで元に戻せるものだと思ったんですがgit clean -fしないとだめなんでしょうか?
0448デフォルトの名無しさん2015/02/11(水) 01:06:05.01ID:MoBO6QWu
>>444
rebaseは一本道にすることが目的じゃなくて
意味不明なコミットをなくして、
コミットを使いやすくするのが目的だから

コミットを使いやすくというのは、
特定のコミットがバグの原因だと調査しやすくしたり
他のブランチにコミットを抜き出して取り込んだり
特定のコミットをッ取り消したり、
コミット単位で機能の変更を把握したりすること。

コミットは後から使うために残すもので、
使いものにならないコミット、使わないコミットは
存在する意味が無いですから
0449デフォルトの名無しさん2015/02/11(水) 11:25:19.20ID:x6JgCX17
git cloneしたときの作られるディレクトリ名を指定してクローンすることって出来ますか?
普通にクローンしたらhelloディレクトリが作られるところをkonnitiwaディレクトリにしたいんです
0450デフォルトの名無しさん2015/02/11(水) 11:32:28.53ID:YTSnrjVS
>>449
git clone --help でできるよ
0451デフォルトの名無しさん2015/02/11(水) 11:32:37.37ID:uxm1HOmW
git help clone で出るよ
引数の最後にディレクトリ名追加するだけ
0452デフォルトの名無しさん2015/02/11(水) 11:38:15.92ID:x6JgCX17
ありがとうございます
0453デフォルトの名無しさん2015/02/11(水) 11:38:55.57ID:x6JgCX17
自分の勉強のため逆引きみたいなのを作ろうと思うんですけど
ここのテンプレにつかってもらえませんか?
0454デフォルトの名無しさん2015/02/11(水) 11:44:13.95ID:yrYT/hzd
出来によっては。しかし--helpでほぼ十分なんだな。
0455デフォルトの名無しさん2015/02/11(水) 11:44:56.80ID:sJPqGjE7
物次第じゃね?出来てからまた来れば?
0456デフォルトの名無しさん2015/02/11(水) 11:52:17.96ID:Uh1U0rAf
>>453
http://www.backlog.jp/git-guide/reference/
0457デフォルトの名無しさん2015/02/11(水) 12:04:55.83ID:sJPqGjE7
そこをテンプレに入れるかどうかは微妙な所だよね
0458デフォルトの名無しさん2015/02/11(水) 16:51:35.61ID:MWL67ZBg
>>442 >>448
ひさびさにまともな意見を見た。
普段ネット上の解説を見ても無条件に「push -fはやめましょう」とか
「rebaseすると履歴が一本になって見やすいです」とかドヤ顔で
書いてるやつが多くてゲンナリしてるんだよね。
>>442 みたいなレベルでGit使えるやつって実は少ないんじゃないのかと思ってる。
だいたい man 読めば書いてあるんだがなぁ。
0459デフォルトの名無しさん2015/02/11(水) 17:03:10.91ID:cHTFVS1e
とドヤ顔で言われましても

> >>442 みたいなレベルでGit使えるやつって実は少ないんじゃないのかと
それが事実かは知らんが
それを認めたら
> それを一部の困る場合を例にして全部禁止する
という方針に正当性を与えるんでは?
0460デフォルトの名無しさん2015/02/11(水) 17:07:38.54ID:MWL67ZBg
>>459
なるほど、一理ある
そういう意味では認めたくないねぇ
0461デフォルトの名無しさん2015/02/11(水) 17:17:53.07ID:oNYh8LxP
能力の問題と行為の問題は別に考えんといかんよ。

まず道具を正しく使える人が基準だ。
その人を基準とし、その人にとって
使いやすい方法を選ぶべき。

そして能力が低い人は、
単に能力を上げろってだけの話。

それまでは補助輪つけるのは構わんが、
それは補助輪であり、将来外す事になるのが既定路線であり
そしてプロにとっては邪魔なものであるということ。
0462デフォルトの名無しさん2015/02/11(水) 17:31:25.86ID:MWL67ZBg
>>461
参考になる。
まぁ、「補助輪をはずすなんてとんでもない!そんなことしたら転んでしまうぞ!」
という奴ばかりで「邪魔な補助輪なんか外して走ろうぜ」って言ってる奴をあまり見かけない
っていうただの愚痴だ。
0463sage2015/02/11(水) 18:18:29.29ID:QzvGx1aq
>>442
>>443

まさにこれ
状況によって使い分けるべきだ、という話だったのを、「rebaseは(常に)ダメ」とか「rebaseは(常に)良い」とか「gotoは(常に)ダメ」いう話とすりかえる人がいるのが問題なだけ。

大きなリスクもあるという話であって、状況によっちゃ使った方が良いんですよ。
リスクをコントロールできない奴は使うな、というだけの話。
火や刃物と一緒ね。
0464デフォルトの名無しさん2015/02/11(水) 18:22:20.62ID:oNYh8LxP
どの業界でも普遍なことだと思うけどさ

ベテラン・・・スキルが高い
新入社員・・・スキルが低い

なわけだよ。実態は置いといて一般的にさ。

なんでベテランが新入社員のスキルに合わせましょう!
新入社員さまさま、あなたさまの知識でわからないことはしません。
あなたさまに合わせて、素人のやり方で仕事します。
なんて、新人にへりくだらなきゃいかんのさ?って話だよ。

普通は、そんなこともわからんのか、ちんたらやってんじゃねーぞ、
そんなものは使い物にならん(ガシャーンって投げ捨て)
わからないならで勉強しろって怒鳴りつけるところだろ。
0465デフォルトの名無しさん2015/02/11(水) 18:29:10.60ID:+zb7i42P
>>464
スキル低い奴に自由にさせるとやらかしてとんでもないことになるから、コーディングルールなり運用手順を決めるんだよ
勉強してスキル上がるまで待てりゃいいけど、そんな余裕のあるところばかりじゃないでしょ
0466デフォルトの名無しさん2015/02/11(水) 18:32:40.79ID:sK01Ui9b
>>464
概ね賛同
「普通は、」以降には賛同しかねるがGit関係ないので掘らない
0467デフォルトの名無しさん2015/02/11(水) 18:37:11.18ID:xmq/DIW5
ここで言う新入社員というのが新卒限定なのか中途も入っているのか分からない。
それにベテランってなんのことだよ会社に長く居る人のことを言っているのか、ある分野に長く関わっている人のことを言うのか。
ぶれてて話がわからないからまず定義をしっかりかいてくれよ。
0468デフォルトの名無しさん2015/02/11(水) 18:49:49.07ID:Fyh5Lzr/
rebaseごときで初歩的なことを長々と…
スレの質もずいぶん下がったものだ
0469デフォルトの名無しさん2015/02/11(水) 19:12:00.65ID:9i6616PG
ベテランで絶対ヘマして事故起こしたりしないからって制限速度超えて思うままに道路を走っていいわけじゃない
0470デフォルトの名無しさん2015/02/11(水) 19:38:14.39ID:Fyh5Lzr/
1,2レスで終わる内容に何十レス使うつもりだって話
0471デフォルトの名無しさん2015/02/11(水) 19:42:05.11ID:uTZsT+lh
>>465
> コーディングルールなり運用手順を決めるんだよ
そこにちゃんとコードレビュー入ってる?

まともなコードを100としたら、コーディングルールで縛れるのは
ほんの5ぐらいだから。

運用手順っていうのがコードレビューを含めたワークフローのことかな?

ソフトウェアの開発っていうのは、あるものを基盤にして積み重ねていくものだから、
誰かが足を引っ張ると、つまり悪い設計、悪いコードを作ると
それを利用するその他全員の生産性を下げることになるよ。

スキルが低い奴が作ったもの、例えて言うならば、弟子入りしたばかりの
ひよっこが作った作品は、親方がみて判断し作り直しさせたり、
あまりにひどいものは捨てたりして、商品として使えない。客には出せないって
ことをはっきり言わないといけない。それがプロっていうもの。
0472デフォルトの名無しさん2015/02/11(水) 21:49:13.33ID:+zb7i42P
>>471
コードレビューは当然として、作ってから直させるのは無駄なので事前にルールを決めるのはまともな企業なら普通にやってるだろ
また git で変なことされると面倒だから、運用を決めるのも普通だと思うけどな
0473デフォルトの名無しさん2015/02/11(水) 21:54:30.37ID:fVfIbgvg
だからコーディングルールで保てる質は
まともなコードが100だったら5程度なんだってば。

例えば、標準関数にある処理を
知らずに独自実装してしまいました。

みたいなものをコーディングルールで防ぐことは出来ない。
0474デフォルトの名無しさん2015/02/11(水) 22:03:05.62ID:fVfIbgvg
作ってから直させるのは無駄なので
ペアプロするしかないんだような。
0475デフォルトの名無しさん2015/02/11(水) 22:05:51.83ID:plnxZoKt
もうGit関係ないよねこれ
0476デフォルトの名無しさん2015/02/11(水) 22:08:02.15ID:yrYT/hzd
コーディング規約を決めるのもコードレビューを行うのも当然
この2つで互いの欠点を補う。
ただし、共同作業には無駄がつきものなのでできるだけ少数でやったほうがいい。

産業でおk
0477デフォルトの名無しさん2015/02/11(水) 22:11:04.87ID:+zb7i42P
>>473
5でも少ない方がいいだろ
なにを必死になってるのかよくわからん
0478デフォルトの名無しさん2015/02/11(水) 22:12:22.06ID:fVfIbgvg
コーディングルールを過剰評価し過ぎだよ。

あんなのてにをはは正しく使いましょう。
誤字脱字に気をつけましょう。
慣用句の誤用に気をつけましょうぐらいの
意味でしかないのに。

守るのはあたりまえだけど、それを守った所で
良い文章が出来るわけじゃない。
0479デフォルトの名無しさん2015/02/11(水) 22:13:53.88ID:fVfIbgvg
>477
読み間違ってるよ。

まともなコードが100点だとして、
ルールがあった所で0点の人が
5点になる程度の効果しかないっていってるの。
0480デフォルトの名無しさん2015/02/11(水) 22:27:20.28ID:Uh1U0rAf
>>479
根拠もなしに5程度なのを力説しないで、あとの95の内訳を説明すればいいんじゃない?
そうすればそれが過小評価なのかもっともな意見なのかみんな納得すると思うけど。
0481デフォルトの名無しさん2015/02/11(水) 22:42:37.11ID:fVfIbgvg
>>480
一つ説明したはずだけど?

> 例えば、標準関数にある処理を
> 知らずに独自実装してしまいました。

他にも
* このモジュールに置くべきでない関数を作ってしまった。
* クラスの役割が単一責任の原則を満たしていない
* AモジュールがBモジュールに依存してるのにBモジュールもAモジュールに依存するなど依存関係がおかしい
* もっと短く効率的な書き方がある。
* やる意味が無い処理をしている。(1以上かつマイナスでない時みたいな)
* コードを共通化出来るのにしていない。

とかルールあっても解決できない問題は山ほどある。
0482デフォルトの名無しさん2015/02/11(水) 22:55:40.99ID:Y7a0039I
このスレときどき「Gitの履歴、運用はかくあるべし」論が出てくるな
ただ毎回似たようなのが繰り返されてると思うから議論防止に何かテンプレに入れた方がいいんじゃね?

* 後から履歴を使いやすいようにrebaseで整理するといいね
* でも公開されてる履歴を改変すると面倒が起きるから基本しちゃいけないよ
* どう運用するかはチームでポリシーを決めよう

まとめるとこういうことだと思うんだけどどうですか
0483デフォルトの名無しさん2015/02/11(水) 23:57:27.82ID:FjuB8iZN
SIerで銀行仕事してる人と自社サービス作ってる人と大学で研究してる人はそれぞれ手法違うだろうよとしか
0484デフォルトの名無しさん2015/02/12(木) 00:18:59.71ID:KAJNjFEz
そこでMISRAや医療系規約ですよ!
0485デフォルトの名無しさん2015/02/12(木) 00:25:26.29ID:Il0VyiBX
>>483
それは少数精鋭で無駄なく効率よく開発することで低コストでも高い品質で仕上げるやり方と
人を大量に集め無駄が多くて効率が悪くてもコストをかけて物量でせめることで品質を上げるやり方の
違いってことでいいですか?
0486デフォルトの名無しさん2015/02/12(木) 00:38:11.65ID:6hCiD8D7
さっきから出てくる例えがバカすぎる
だいたい答えてもらえてもケースごとにポリシーを構築することに変わりはないんだから
既出の用例から自分で取捨選択できないやつが特定のケースの例示だけ受けても無意味
永遠に空論が積みあがるわ
0487デフォルトの名無しさん2015/02/12(木) 01:00:47.10ID:ZkwBZ2lH
日本の大手みたいなとこだと
一度これはダメみたいなパターン作っちゃうと
何年も覆らないんだよね
git使ってる意味ないぞ・・ってのが増えていってテンション下がる
0488デフォルトの名無しさん2015/02/12(木) 01:14:07.27ID:Uh2ZxlVl
どんな糞ルールがあろうとCVSよりかはマシだと思う
いやマシだと思え
0489デフォルトの名無しさん2015/02/12(木) 01:40:06.71ID:CBdFIpzZ
低い方が高い方に合わせるのは現実的には無理だよな。
0490デフォルトの名無しさん2015/02/12(木) 05:12:25.42ID:UPnDkHcP
>>488
cvsの部分取得やキーワード展開は便利だぞ。
ただ分散とかがgitの方が便利なので、天秤にかけてgit使ってるだけ。
0491デフォルトの名無しさん2015/02/12(木) 07:13:24.29ID:D8Qo7IfR
>>478
ああ、やっぱりまともなコーディングルールを見たことないお子ちゃまが「ぼくのかんがえたこうでいんぐるーる」で語ってたのか w

> あんなのてにをはは正しく使いましょう。

レベルの低い組織がコーディングルール導入しろって言われたときによく「言語の文法を守りましょう。」とかのルールを設定してるよな。
そんなルールは無駄。
コーディングルールは大きく二つある。
1. 全体の統一を図るべき内容を規定する
・名前の付け方とか、モジュールの配置方法とか
2. ありがちな誤用を防止するために規定する
・C 言語の例として if( ) ブロック1 else ブロック2 のブロックは単一の文でも { } で囲むこと、とか

1. の方は個々の組織やプロジェクトによって違うからあまり例はないけど、2. の方は MISRA とか、IPA/SEC のコーディング作法ガイドとかあるから読んでこい。
あまりにもレベルが低すぎてお話にならない。
http://www.ipa.go.jp/sec/publish/index.html#emb

> 良い文章が出来るわけじゃない。

当たり前、良い文を作るためじゃなくて悪い文を作らないようにするためのもんだ。
それこそルールを過剰評価しすぎだよ w
0492デフォルトの名無しさん2015/02/12(木) 07:28:41.45ID:Uh2ZxlVl
正論だろうとスレチの話題をする奴はお子ちゃま以下

それでも続けるというならコテ付けてくれ
0493デフォルトの名無しさん2015/02/12(木) 08:29:28.30ID:Il0VyiBX
>>491
言ってることが、>>478何ら変わってないんだがw

それにさ、ルールを決めた所で
そのルールを守っているかどうやってチェックするんだよ?

> MISRA とか、IPA/SEC のコーディング作法ガイド
のような内容は機械でチェックできないぞ。

それこそコードレビューだろ。
0494デフォルトの名無しさん2015/02/12(木) 08:30:15.27ID:NNFkXciW
分かりきってることをグダグダ話す意味がわからない。
しかもスレチだし。
0495デフォルトの名無しさん2015/02/12(木) 09:00:06.37ID:D8Qo7IfR
>>493
・文法を守りましょう

・グローバル変数は g_ で始めること
が、同じにしか見えないならマジで終わってるぞ

確認はレビューでやればいい
ルール決めときゃまともなコーダーは大体それに従うから、不注意とかで間違ってるところだけ指摘すりゃいい
おまえのところはルールもなしに適当にコーディングされたものをレビューでいちいち指摘するのかい?
まあ、文法を守りましょうとかなら指摘はほぼないだろうけどな w

>> MISRA とか、IPA/SEC のコーディング作法ガイド
> のような内容は機械でチェックできないぞ。
QAC、C++TEST とか、PG-Relief MISRA オプションも知らないなら黙ってた方がいい
全てのチェックはできないが 8〜9割は機械的にチェックできる
ネーミングルールのチェックができるものもある
0496デフォルトの名無しさん2015/02/12(木) 09:48:51.50ID:Fdr/rRsV
ぐだぐだ関係無いこと書いてドヤ顔なやつは
rebase一本道派だなw
04974472015/02/12(木) 09:52:38.93ID:x5e0tI8J
だれかおねがいします
0498デフォルトの名無しさん2015/02/12(木) 10:11:30.52ID:hudT64vw
rebaseなし縛りで不要なマージだらけの履歴とか普通に見づらいだろJK
何の罰ゲームだよw
0499デフォルトの名無しさん2015/02/12(木) 10:14:04.02ID:NNFkXciW
>>497
そりゃあ残ったままになるわ。バージョン管理されてないもん。
0500sage2015/02/12(木) 11:45:32.22ID:/2LasYze
>>469
絶対事故起こしたりしないから、制限速度超えて思うままに道路を走っていい、っていう話な
免許もってない人に合わせて制限時速30kmにしてたら、生産性が落ちる。
0501sage2015/02/12(木) 11:56:52.26ID:/2LasYze
>>482
そういう合意は基本とれてるはずなのに

「rebase禁止! これは絶対! 初心者がミスるから! おまえらもrebase禁止! 禁止で当然!俺らのルールが絶対! 初心者がいないチーム?ありえない!」

みたいなヤツが出てくるからややこしい。
0502sage2015/02/12(木) 12:07:36.49ID:/2LasYze
>>498
共有リポジトリでrebaseしちゃう人が多発しちゃって、不要なマージだらけのログっていう呪いのほうが余程マシなようなチームもあるんじゃね?
・・・知らんけど。


問題は「そういうチームがある(かもしれない)」からといって
それをgitの一般的運用ルールとして他のチームに強制にしようとするアホがいることだ。

rebase禁止縛り? 自分らで勝手にやれよ。押しつけんな、って話。
0503デフォルトの名無しさん2015/02/12(木) 12:19:07.16ID:x5e0tI8J
* typo
* add robot.c
* ロボットの歩行機能実装
* typo
* ロボットの自動停止機能実装
* type
git checkout master
git merge robot dev
こういうばあいはどうやってまとめたらいいですか
0504デフォルトの名無しさん2015/02/12(木) 12:30:19.07ID:NNFkXciW
>>503
イミフ
0505sage2015/02/12(木) 12:57:58.12ID:/2LasYze
>>503
ログをどう書くかって話かな?

いや、それにしては後半がいみがわからん

イミフ
0506デフォルトの名無しさん2015/02/12(木) 13:16:08.10ID:x5e0tI8J
rebaseでまとめるときの話です
0507デフォルトの名無しさん2015/02/12(木) 13:31:40.15ID:Il0VyiBX
>>502
> 共有リポジトリでrebaseしちゃう人が多発しちゃって、

gitlab使えばいいのに(githubでもいいと思うけど会社で使ってないので)

共有リポジトリでrebase(正確にはpush)できないように
するだけで終わる話。

ローカルや個人リモートリポジトリは別として、
マージはgitlabのウェブ画面からやるのよ。
githubでプルリクエストの処理をウェブ画面でやるのと同じ。

だから共有リポジトリの共有ブランチを守るのは簡単。
下手にgitだけでやろうとするから大変なんだろう。
0508デフォルトの名無しさん2015/02/12(木) 13:38:06.44ID:Il0VyiBX
>>503
「コミットログは後から見返すもの」として考えれば
何が必要で何が必要でないかはわかると思うよ。

後で見返した時、あー、あのときの俺はタイポしまくってたなぁ〜
なんて感慨にふけりたいと思う?w

そのコミットでやったものは、
* ロボットの歩行機能実装
* ロボットの自動停止機能実装
の二つでしょ?

これは内容によるけどコメントだけから判断すれば、
それぞれで分けて二つのコミットになりそう。

だから、そのブランチにはその二つのコミットがあり、
そのブランチをマージすることで最終的には、
一つのマージコミットに、その二つのコミットが入った状態にするのが良い。
(マージ自体を二つに分けるという考え方もある)

捕捉

ただし、そのタイポの修正が、全然関係ない部分の修正であれば
別で修正しマージした方がいい。
0509デフォルトの名無しさん2015/02/12(木) 13:51:15.31ID:x5e0tI8J
1)masterにコミットログが追加されるのは2件のみ
* ロボットの歩行機能実装
* ロボットの自動停止機能実装

2)typoはrobotブランチから新しいブランチfixtypoを作ってそこでtypoを修正して、git merge robot fixtypoをする

これでいいんですか
0510デフォルトの名無しさん2015/02/12(木) 15:50:00.58ID:hudT64vw
公開したコミットをresetやrebaseで誤って消すような事をしても
pushに--forceフラグを付けなければ
pushを拒否られてその時に気付くから
通常問題にはならない
0511デフォルトの名無しさん2015/02/12(木) 18:08:55.97ID:Cso7caDU
>>509
typoは、typoをやっちゃったコミットにrebase -iでfixupする
「typoをやっちゃったコミット」が「ロボットの歩行機能実装 」「ロボットの自動停止機能実装」に関係なくて
既に公開済みだったり、そうでなくてもずっと昔の話だったり別の人の作業だったりする場合はそのままにしとく
これは人によるかもしれないけど、typoの修正程度に新しいブランチを作る必要は無い……と思う

add robot.cは、その状態でビルドが通るなら残しておいてもいいし
「ロボットの歩行機能実装」の前準備としてaddしただけで中身空っぽとかならsquashで一緒にしてもいい

現在、devブランチに以下のコミットがあるとして
* typo-A (ずっと以前にやらかしたtypo)
* add robot.c
* ロボットの歩行機能実装
* typo-B (add robot.cでやらかしたtypo)
* ロボットの自動停止機能実装
* typo-C (ロボットの自動停止機能実装でやらかしたtypo)

俺ならこう直す
・typo-Aはmasterに直接cherry-pick
・devブランチは
pick add robot.c
fixup typo-B
squash ロボットの歩行機能実装
pick ロボットの自動停止機能実装
fixup typo-C
この場合、devブランチには「add robot.cとロボットの歩行機能実装をsquashしたもの」と「ロボットの自動停止機能実装」が残る
最後にmasterにマージするわけだが、ここでffでやるかno-ffでやるかは……人によるとしか言えないのでまた争いになる(苦笑)
0512デフォルトの名無しさん2015/02/13(金) 07:52:50.01ID:9pkMuWgM
>>490
キーワード展開はdiffとる邪魔になった記憶しかないな
0513デフォルトの名無しさん2015/02/13(金) 08:05:43.90ID:Y/Hf+FOA
>>512
gitもcvsも使い方次第ってことだ。
0514デフォルトの名無しさん2015/02/13(金) 11:20:00.51ID:YHKfbCy6
まぁ、「補助輪をはずすなんてとんでもない!そんなことしたら転んでしまうぞ!」
という奴ばかりで「邪魔な補助輪なんか外して走ろうぜ」って言ってる奴をあまり見かけない
っていうただの愚痴だ。

rebase=補助輪

rebase縛り? 自分らで勝手にやれよ。押しつけんな、って話。
0515デフォルトの名無しさん2015/02/13(金) 12:29:36.12ID:6M9upxSI
>>512
どんだけ埋め込んでるんだよw
0516sage2015/02/13(金) 14:07:28.36ID:q/yT9bsR
>>507
なるほど知りませんでした
ツールによってrebaseの危険性を抑える方法もあるんですね。

なら余計に「rebase禁止」ルールを適用するべき場面は減るわけだ。

そんな特殊なrebase禁止ルールを一般化しようとする人っていったい…
0517sage2015/02/13(金) 14:21:13.00ID:q/yT9bsR
>>514
rebase禁止批判を逆にして相対化しようとしたのだろうけれど、
rebase禁止を批判している人は、
rebaseのみに縛ることを主張しているわけではないのだから、
余計にrebase禁止のおかしさが際立っちゃってるように思う。

加えて、rebaseはリスクを抑えるわけじゃないから、補助輪で例えるのもおかしい。
補助輪の例えなら、rebase禁止が補助輪に相当する。

rebase禁止 = 補助輪あり
・リスクを抑えることができる
・効率、合理性で劣る
・ガチ初心者は最初はここからはじめるのがよい

rebase可 = 補助輪なし
・リスクはあるのでリスクを管理する必要がある
・上手ならば問題はない
・合理的。効率的。
0518デフォルトの名無しさん2015/02/13(金) 14:34:28.88ID:FzPhDDc+
いい歳した人間が三輪車でドヤ顔でキコキコやってるのを見せられる側の気にもなってもらえませんかね
大仰に話してるけどものすごく低レベルな内容なのわかってる?
0519デフォルトの名無しさん2015/02/13(金) 14:36:54.03ID:6M9upxSI
ネタもないならスルーしとけばいいのに...
0520sage2015/02/13(金) 14:44:33.35ID:q/yT9bsR
>>518
低レベルなのも邪魔なのもそうやと思うし、誠にごめんやけど、
変な説やデマを放置すると、またそれが一定の力を持っちゃうからなぁ

でも、嫌な人がいるようなので、
もう僕は例え話にはかかわらないようにしますね。
0521デフォルトの名無しさん2015/02/13(金) 14:46:37.57ID:FzPhDDc+
この会話が基準になってしょうもない話をどんどん持ち込まれるようになっても困る
0522デフォルトの名無しさん2015/02/13(金) 15:02:53.85ID:FzPhDDc+
>>520
このスレに常駐しててデマを真に受ける人はほとんどいない
今までも適当にあしらわれてきた
今回はお前があしらわれても根掘り葉掘り聞いてデマレベルのしょうもない話がだらだら続いてるだけ
デマを作ってるのはお前
0523デフォルトの名無しさん2015/02/13(金) 16:03:34.24ID:0r+sAlU9
コードレビューやってる人達ってどんなコード書いてるの
0524デフォルトの名無しさん2015/02/13(金) 16:07:08.33ID:VTed8hSx
どういうこと?プログラマの大抵はコードレビューやってる人達だと思うけど
0525デフォルトの名無しさん2015/02/13(金) 16:12:45.37ID:6DiGTjtU
コードレビューってどうやるのかおしえてください
たとえばツールを使うんですか
0526デフォルトの名無しさん2015/02/13(金) 16:27:52.20ID:qJaCJPEr
OHP を使うこともあるし slideshare で済ませることもある
0527sage2015/02/13(金) 16:35:43.83ID:0qan/45z
印刷はしますか?
0528デフォルトの名無しさん2015/02/13(金) 16:46:36.01ID:YHKfbCy6
>>525
https://rhodecode.com/
0529デフォルトの名無しさん2015/02/13(金) 22:08:39.86ID:yrNrrj7G
まずコードレビューの意味をだな
0530デフォルトの名無しさん2015/02/13(金) 23:47:49.72ID:KU85EYTm
まずスレタイの文字をだな
0531デフォルトの名無しさん2015/02/14(土) 07:31:27.11ID:1refxAFi
>>490
// 19xx.01.01 modified by hogehoge
とか手で編集日とか入れてたんだけど、ある日CVSを知って、その
$Id: .... $
がカッコよくて中2ごころくすぐられまくったなぁ。
そのうち ident でコンパイル後のバイナリも特定できる方法を知って
const static rcsid = "$Id; ...$";
とか書くように。

GitでもIdを埋め込む方法は用意されてるけどcheckoutのスピード落ちそうだし、
コンパイル時とかにコミットハッシュを埋め込んじゃえばツリー全体を特定できるGitだと
そもそもIdの意味が本当に字面だけしかないことに気づいてIdへの情熱が薄くなった。
それ以上に、Gitの機能が色々な面でCVSよりはるかに便利なのでもうCVSには戻れない。
0532デフォルトの名無しさん2015/02/14(土) 07:45:27.45ID:xzkKcWkn
同意
0533デフォルトの名無しさん2015/02/14(土) 10:32:50.47ID:Tntf/sjh
*
*.*
こういうふうに全てのファイルを無効化してから
↓みたいなサブディレクトリのphpファイルを監視させたい場合って
./tests/my.php
./tests/2015/listen.php

!tests/
!tests/*.php
!tests/2015/*.php
って書かないとだめですか?
0534デフォルトの名無しさん2015/02/14(土) 11:26:41.62ID:1refxAFi
>>533
そうみたい。
gitignore(5)によると「It is not possible to re-include a file if a
parent directory of that file is excluded.」とあるので。ちなみに
re-include = !で再度ignoreされなくする
excluded = ignoreされてる
てことね

ところで * がある状態で *.* って必要?
0535デフォルトの名無しさん2015/02/14(土) 11:38:30.45ID:Tntf/sjh
あ、すいません
*
*.*
.*
でした
*だけだと漏れてたのを確認した覚えがあるのでこの3つ書いてます
0536デフォルトの名無しさん2015/02/14(土) 11:56:27.85ID:1refxAFi
そうなんだ。いや、手元だと
*
て書くだけで
.foo
とか
foo.bar
とか無視されるから *.* がないと無視されないファイル名って何なのか気になっただけ。
0537デフォルトの名無しさん2015/02/15(日) 01:03:31.27ID:xq5CRrOm
スケルトンのファイルをコミットしたら2度目以降はコミットに含めないようにしたいんですがどうやるんでしょうか?
要は雛形を記録したいだけです
0538デフォルトの名無しさん2015/02/15(日) 01:27:31.31ID:sYDZ2RKu
>>537
config <- .ignoreに入れる
config.skelton <- コミットする
0539デフォルトの名無しさん2015/02/15(日) 01:34:44.07ID:TTUR8i8s
そもそも自分でAddしなければコミットには含まれないでしょ

statusで表示されるのが嫌なら
assume-unchangedとかskip-worktree
0540デフォルトの名無しさん2015/02/15(日) 16:51:25.43ID:zFq0UCJm
git clone xxx してリモートサーバーからデータを取得したのですが、
*.packという巨大なファイルがあるだけでソースツリーそのものがありません
コードを取り出すコマンドなどあるのでしょうか?
0541デフォルトの名無しさん2015/02/15(日) 17:07:48.76ID:8pjOc2SB
>>540
もっとありのままの症状を書いたほうが答えが得られやすいと思うが。

今晒してる情報だけだと、いくつか考えられる可能性はあるが
(a) --bare, あるいは --mirror でクローンしたのでワークツリーがない
→ 余計なオプションをつけるな
(b) clone が途中でコケてる
→ 終了ステータスちゃんと見ろ。
(c) *.pack というファイル自体を Git で管理している。あるいはその他
→ これはそのリポジトリの所有者に聞くのが早い

他の解決へのアプローチとしては、git log --stat とかを眺めて自力で解決する。
または、それがパブリックなリポジトリならURLを晒すと誰か調べてくれることに期待するってあたりか。
0542デフォルトの名無しさん2015/02/16(月) 21:12:52.09ID:yR7BIbe7
index.phpを修正してコミットしたんですが
HEAD@{3}のところにその修正内容を入れたい場合ってどうやればいいんでしょうか?
いまはgit reset --soft HEAD^でコミットを一個ずつ戻していって
index.phpだけaddしてコミットしたら、残りのファイルを一括でコミットしているので
戻した文だけログが少なくなってしまいます
どうするのがいいのかおしえてください
0543デフォルトの名無しさん2015/02/16(月) 21:48:21.88ID:JbfKOoLr
とりあえずコミットする
rebase -iで並び変えてfixupで合成する
0544sage2015/02/19(木) 05:48:57.58ID:NTq8PsN5
Gitに感動したあまり、コードを書かずにGitをいじってるやつがいたんですよぉ

なぁ〜〜〜〜にぃ〜〜〜〜!?

やっちまったな!!!!

男はだまって コピーアンドペースト!

男はだまって コピーアンドペースト!
0545デフォルトの名無しさん2015/02/19(木) 22:33:45.27ID:1LBnym+M
コピペでバージョン管理が要らなくなる訳じゃないような

コピーアンドリネームならネタとしては成立するが面白くはない
0546デフォルトの名無しさん2015/02/20(金) 02:21:50.17ID:g/o9zkKO
俺の人生filter-branchしたい
あの汚点を消したい
0547デフォルトの名無しさん2015/02/20(金) 09:40:21.47ID:SdYWKWEv
10年も経って容量のことなんてだれも気にしなくなれば
バージョン毎のフォルダ圧縮最強の時代が来るよ
0548デフォルトの名無しさん2015/02/20(金) 09:55:58.70ID:IrmHPKvS
来ねえよ
何言ってるんだ
0549デフォルトの名無しさん2015/02/20(金) 11:03:17.05ID:1WGLlPh4
10年以上履歴管理システム使ってるわけだが。
0550デフォルトの名無しさん2015/02/20(金) 11:17:51.54ID:3JjqLKV8
10年以上前に造ったリポジトリ今も使ってるひといる?
0551デフォルトの名無しさん2015/02/20(金) 12:40:49.35ID:1WGLlPh4
>>550
いるよ。
0552デフォルトの名無しさん2015/02/20(金) 19:09:04.40ID:KUTJ82CZ
>>547
沢山のバックアップがあるんだけど、あの関数を変更したのはどのバージョンだったかな、よし遡って検索するスクリプトを書こう。
バックアップのそれぞれに readme ファイルを付けておけば、バックアップ検索のときに表示できるようにしよう。
複数人で開発するときに便利なように、バックアップファイルをトランザクショナルに追加できるようにスクリプトを書こう。
バックアップの追加時には最新のバックアップと自動的にマージするようにして、コンフリクトのチェックもしてあげよう。

もうある。
0553デフォルトの名無しさん2015/02/21(土) 03:44:23.40ID:xSRhDEOz
>>547
容量が大きくなるほど圧縮伸張に時間がかかr
0554デフォルトの名無しさん2015/02/21(土) 06:04:18.20ID:8qvi7euQ
cvs・・・ファイルバージョンの管理
svn・・・複数ファイルのバージョン管理
git・・・プログラムの機能のバージョン管理
0555デフォルトの名無しさん2015/02/21(土) 12:30:48.10ID:kE8wPpLX
容量のことなんてだれも気にしなくても圧縮はする律義さ
0556デフォルトの名無しさん2015/02/21(土) 15:52:52.04ID:B8QFAMlJ
履歴を残す人と、履歴を作る人がいる。
0557デフォルトの名無しさん2015/02/21(土) 15:53:48.73ID:B8QFAMlJ
>>555
IOの速度にも影響がある。
0558デフォルトの名無しさん2015/02/21(土) 22:27:15.52ID:ALKeCC2m
ここの>>464とかでやってるやりとりって、見てて面白いね
極論すれば、別にgitとか関係なくて、
・どのくらいのボンクラまで許容するか
・許容できないボンクラを、どうやって処分するか
って話だよね
0559デフォルトの名無しさん2015/02/22(日) 05:30:36.33ID:vfKk6XwY
日本企業の場合は工場生産での成功体験が強いせいか、
マニュアルさえ作ればボンクラでも使える筈という信仰が強いんだよね。
それがソフトウェアの世界に入ってきておかしい事になっている気がする。
0560デフォルトの名無しさん2015/02/22(日) 12:38:15.01ID:uX3Bvmht
>>558
そうね
0561デフォルトの名無しさん2015/02/22(日) 17:43:50.34ID:/3o/v0h5
40歳になってもいまだ性交体験ない
(´・ω・`)しょぼーん
0562デフォルトの名無しさん2015/02/22(日) 17:48:54.43ID:TfAgRNIZ
G#
0563デフォルトの名無しさん2015/02/23(月) 13:36:42.48ID:Ug+lllyj
ここの奴らは自分がボンクラじゃないと思ってんのか
0564デフォルトの名無しさん2015/02/23(月) 13:42:50.25ID:MRd19mpe
盆暗
0565デフォルトの名無しさん2015/02/23(月) 14:24:43.71ID:QDxEo34K
毎日が盆と暮
0566デフォルトの名無しさん2015/02/23(月) 14:26:47.38ID:gAUzZJwv
正月は来ない
0567デフォルトの名無しさん2015/02/23(月) 14:29:41.21ID:TEncit8E
いい歳した人間が三輪車でドヤ顔でキコキコやってるのを見せられる側の気にもなってもらえませんかね
大仰に話してるけどものすごく低レベルな内容なのわかってる?
0568デフォルトの名無しさん2015/02/23(月) 14:42:39.24ID:Ug+lllyj
>>567
高レベルな奴が光臨しましたよ
0569デフォルトの名無しさん2015/02/23(月) 15:39:34.79ID:UVXbAF4b
自分が作業してきた履歴を修正せずに残すべき。
履歴が汚いのはてめえの作業の仕方に問題があるからである。
履歴を一本に纏める時はブランチをマージするときだけで良い。
それ以外で纏める必要はない。
わざわざ開発ブランチで見栄張ってrebaseしてんじゃねえよ!!!
0570デフォルトの名無しさん2015/02/23(月) 16:51:30.02ID:YVVJ3Jny
windowsで自宅開発してます。
開発はデスクトップとノートPCの両方で行っています。
今まで自宅サーバーのsubversionで二台のバージョン管理をしてきたのですが、サーバーの電気代が無駄の
ような気がしてきました。

そこでgitならサーバーを立てずにファイルのやり取りをできると聞いたのですが、検索してみると
githubのような中央サーバーを作るやり方ばかり出てきます。
windowsのデスクトップとノートPCの二台でバージョン管理を行える参考サイトのような物があれば
教えて頂けないでしょうか。
0571デフォルトの名無しさん2015/02/23(月) 16:58:58.86ID:gAUzZJwv
git push 共有フォルダ

とかでググるのがいいかもね
0572デフォルトの名無しさん2015/02/23(月) 17:08:30.18ID:Kf7W7KjZ
DropBoxでの同期を利用してる人が多いね

安いNASとかでも十分かも
0573デフォルトの名無しさん2015/02/23(月) 17:13:44.39ID:YVVJ3Jny
ありがとうございました。
調べてみます。
0574デフォルトの名無しさん2015/02/23(月) 17:28:04.59ID:Kf7W7KjZ
BuffaloのNASでWeb/DBサーバ機能が使えたんで
MantisとかPukiwikiとか入れたら使えた

消費電力はディスク数でも違うだろうけどタイマーで
ON/OFFをスケジューリングできる機種もあるみたい
0575デフォルトの名無しさん2015/02/23(月) 17:38:38.57ID:jEpPmjFB
dropboxって不正アクセスあったしなあああああああああああ
0576デフォルトの名無しさん2015/02/23(月) 19:56:28.77ID:XHjPb0no
windows自体が使いにくいからなぁ。
0577デフォルトの名無しさん2015/02/23(月) 21:03:24.05ID:YX8pSHyr
ownCloudで自分だけのdropboxを作るお(´・ω・`)
0578デフォルトの名無しさん2015/02/23(月) 21:28:55.41ID:Bc1+Ke94
共有フォルダにリポジトリを置くだけならsubversionでもできるよね
gitならではのサーバを立てずにできる方法がある?
0579デフォルトの名無しさん2015/02/23(月) 21:36:03.59ID:xF5e0cAk
>>578
ファイルシステムをマウントすればできると思うけど、windowsでやったことは無いなあ
0580デフォルトの名無しさん2015/02/23(月) 21:40:21.63ID:dtK9qqJs
subversionはリポジトリを作るのがめんどくさかったなw

ディレクトリ作って、trunk, branches, tagsディレクトリ作って
リポジトリ用のディレクトリ作って、初期化。
そこに対してインポートする。とかだっけ?


gitだったら、普通に作成したディレクトリを
git化したいなって思った時に、
git init実行すれば終わり。
0581デフォルトの名無しさん2015/02/23(月) 22:51:55.32ID:AIz5Wz5r
>>578
状況次第ではformat-patchやamやbundleでメール経由で同期したりdaemonで一時的にサーバー立てるのが便利な場合もある
でも共有フォルダ使ってOKな状況ならソッチのほうがお気楽
0582デフォルトの名無しさん2015/02/24(火) 08:40:49.63ID:trUfTvKQ
>>578
gitはオフラインでもコミットできるだろう
0583デフォルトの名無しさん2015/02/24(火) 08:51:56.47ID:vUnjBdYz
>>578
馬鹿には無理
0584デフォルトの名無しさん2015/02/24(火) 10:44:56.05ID:PQNah075
>>569
> 自分が作業してきた履歴を修正せずに残すべき。
> 履歴が汚いのはてめえの作業の仕方に問題があるからである。
> 履歴を一本に纏める時はブランチをマージするときだけで良い。
> それ以外で纏める必要はない。
> わざわざ開発ブランチで見栄張ってrebaseしてんじゃねえよ!!!

まったくです。
履歴が見づらくなるからとか汚くなるからとか言ってるのがいるけどなんで、
そんなレベルのやつが自分で良いと思ってるやり方広めようと思うのやめて ほ し い
0585デフォルトの名無しさん2015/02/24(火) 12:25:48.63ID:6vv1mCHr
>>584
また釣り?w

前回負けたのがよっぽど悔しかったみたいだねw
0586デフォルトの名無しさん2015/02/25(水) 00:05:08.53ID:Wo4XdcUv
>>584
結局のところは、最終的に履歴がキレイに見えればいいわけで。
自分が会社でSVNを使ってた時は、

1. 自分の修正の途中経過を保存しておけるローカルのSVNのリポジトリで作業して、
2. ちゃんと動くようになったら、他人に見せれるキレイなコードに直して、
3. キレイなコードを会社のSVNにコミットしてた。

Gitはそれが一連の流れとしてできるわけでしょ?
なぜGitの良さを殺して開発効率が悪くなる方向に向かうのかが分からない。
0587デフォルトの名無しさん2015/02/25(水) 00:58:22.22ID:Wo4XdcUv
>>584
>そんなレベルのやつが自分で良いと思ってるやり方広めようと思うのやめて ほ し い

なんでその方法が良いと思ったかというと、その人の経験則によるものなんだろうね。

自分が一番上手く書けると思ってるコーダーと、たくさんのコーダーを抱えるリーダーでは、
重視するものが変わってくる。どっちも経験則によるもので、その経験は否定できない。
0588デフォルトの名無しさん2015/02/25(水) 04:13:45.41ID:kdMsbAel
> なぜGitの良さを殺して開発効率が悪くなる方向に向かうのかが分からない。

なんで、そういう1つの方法を良いと思ったかというと、その人の経験則によるものなんだろうね。
それをgitの良さって。
大体、履歴のみ見るステークスホルダーが注文付け出して生産性下がる。
で、開発の経緯は消されて、あとから来た人が同じこと繰り返す。
0589デフォルトの名無しさん2015/02/25(水) 04:31:12.31ID:zSW92Ygk
特別な条件下での代替手法はそれとはっきり示してさないと
一般に優れた方法だと勘違いするアホがいるから困る
0590デフォルトの名無しさん2015/02/25(水) 04:33:10.33ID:vLMr5bhE
このスレでどうでもいい議論続けたって
お前らの開発チーム内状態が改善されるわけじゃねえからな
文句あるんならこのスレじゃなくお前らの所属する開発チームに直談判しろ
0591デフォルトの名無しさん2015/02/25(水) 08:43:05.38ID:nKN7f0Au
A->B->C->D
と作業したあとで
A と D だけにタグ付けることは可能ですか?
0592デフォルトの名無しさん2015/02/25(水) 09:29:35.29ID:Wo4XdcUv
>>588
どうやら、自分が一番上手く書けると思ってるせいで、周りから煙たがられてるコーダーっぽいな
0593デフォルトの名無しさん2015/02/25(水) 10:33:20.93ID:2phC3Ctb
こまめにブランチを作って小さく作っていけばマージする時以外にコミットをまとめる必要はねえんだよ
下手くそな奴はすぐ開発ブランチで大量コミットするから汚くなる
0594デフォルトの名無しさん2015/02/25(水) 10:40:34.85ID:4rpbMsiu
>>593
そういう当たり前のことができない方が多いのです。
そういう方はコードが汚くなるとか低レベルの環境が前提な
謎のオレオレ手法がうまいやり方と勘違いする。

履歴がきれい 俺すげーw
0595デフォルトの名無しさん2015/02/25(水) 12:22:12.08ID:jNJiSOpZ
履歴がきれい=他の人が読んで修正がわかりやすい履歴になっている。

それはとてもいいことだよ。
0596デフォルトの名無しさん2015/02/25(水) 12:51:36.99ID:6KXCrYox
履歴はバグった時に参照する事が多いと思われる
バグってない所まで戻した後直後のコミットを調査する事になる
そういう場合はコミットが細かい方が見やすいな
関連性が薄い変更まで含まれていると問題の切り分けが難しくなる
0597デフォルトの名無しさん2015/02/25(水) 13:15:30.99ID:4rpbMsiu
>>595
お前が良いと思い込んでるだけ、お前が綺麗だと思い込んでるだけ
他の人は迷惑してるかも知れんということに気づける頭無いのか?

なんで馬鹿な主張にこだわるのかわからん? 勝ち負けw
0598デフォルトの名無しさん2015/02/25(水) 13:22:23.83ID:jNJiSOpZ
>>597
お前、本当に他人のこと何も考えてないよなw
0599デフォルトの名無しさん2015/02/25(水) 13:54:02.16ID:4rpbMsiu
>>595
> 履歴がきれい=他の人が読んで修正がわかりやすい履歴になっている。
(おまえが見て)履歴がきれい(と思う)=他の人が読んで修正がわかりやすい履歴になっている(とは限らない)。

当たり前のことわからんやつやw

> それはとてもいいことだよ。
^_^??
0600デフォルトの名無しさん2015/02/25(水) 17:08:58.50ID:/AlEg9/u
>>599
限らないのは確かにそうだが、そうする努力までハナから投げてるように聞こえるな、お前は
0601デフォルトの名無しさん2015/02/25(水) 17:27:02.77ID:kdMsbAel
>>592
お前は根拠のないことしか言わないの?
0602デフォルトの名無しさん2015/02/25(水) 17:38:45.61ID:wWqE950b
マネージャvsプログラマvsデザイナ
0603デフォルトの名無しさん2015/02/25(水) 17:42:21.49ID:kdMsbAel
主観に基づくキレイにするより、
事実に基づくそのまま残す方がわかりやすい。
0604デフォルトの名無しさん2015/02/25(水) 17:56:28.28ID:jNJiSOpZ
>>603
何を残すかだよ。

gitのログは自分の作業の報告だと思えばいい。

相手に結果だけを報告するか、
あれこれやったんですよ。○○というファイル名にしたんですが
こっちの方がいいんで途中で変えたり、でここでタイポしたんですが
すぐに直しました。途中でコードが重複していたので一つにまとめました。
と、結果に至る作業内容を一つ残らず報告するか。

俺なら、後者を話し出したら途中で遮って「で結論は?」って聞くね。
0605デフォルトの名無しさん2015/02/25(水) 18:02:06.19ID:8z3MJgH1
コミット単位の問題
それこそ、ちょっと席を外すタイミングでもコミットするから
0606デフォルトの名無しさん2015/02/25(水) 18:03:59.38ID:kdMsbAel
>>604
俺はそういう人用にtagだけ振ってるね。

履歴消す人はtagって使わないのかな。
0607デフォルトの名無しさん2015/02/25(水) 18:31:00.18ID:jNJiSOpZ
>>606
え? タグでどうやって
意味のあるコミットにするの?

作業履歴としての歴史のブランチがあって、
それを意味がある見せるようの歴史の別のブランチを作った後
それにタグをつけてるわけ?
タグがあるコミットの歴史は、見るためのコミットなんだよね?

あんたタグの使い方間違ってるでしょw
0608デフォルトの名無しさん2015/02/25(水) 18:33:35.99ID:jNJiSOpZ
>>605
別に作業途中はどうでもいいよw

そのあとマージ前とかレビュー前とか
人に見せる時に、最後の結論だけを見せる。
途中にやったことなんて要らない。

もちろん本流にマージするときも、
そんな作業履歴はなくなっている。

でないと、一番重要な本流が
自分ついさっき書いたコードの小さなミスの
修正とかバグの修正とか
必要ない情報で溢れてしまう。

github見ても、大きな所では
作業履歴なんか残ってないでしょ。
0609デフォルトの名無しさん2015/02/25(水) 18:55:29.97ID:kdMsbAel
>>607
何言ってんの
0610デフォルトの名無しさん2015/02/25(水) 19:05:19.85ID:jNJiSOpZ
>>609
何言ってるのはお前だよ。

あるブランチがあって、
そこに、A、B、C、Dのコミットがある。

レビューする人に見せやすくするために、
意味のないコミットをまとめて
たとえば、A(+C)、B(+D)のように歴史を
まとめましょうって話をしている。

で、タグを使ってどうするわけ?
さっぱりわからんが。
0611デフォルトの名無しさん2015/02/25(水) 19:30:29.95ID:YonVottM
まーたはじまったよ
0612デフォルトの名無しさん2015/02/25(水) 19:36:57.33ID:kdMsbAel
>>610
そんなんBTS使ってるわ。
0613デフォルトの名無しさん2015/02/25(水) 19:38:52.38ID:jNJiSOpZ
なんでBTS(バグ管理システム)がでてくるの?
0614デフォルトの名無しさん2015/02/25(水) 19:39:51.77ID:jNJiSOpZ
BTS用に、別のブランチを作るって話???
BTS使っても、見せるのはgitのブランチでしょう????
0615デフォルトの名無しさん2015/02/25(水) 19:41:10.04ID:kdMsbAel
VCSで履歴を作ったりしてるのに、
BTSでTDDするとかいう発想はできないのか。
開発したことない奴なのかな。
0616デフォルトの名無しさん2015/02/25(水) 19:43:37.67ID:jNJiSOpZ
>>615
話がずれていることについて言ってるんだけど?

BTSでTDDすることに何の問題もないよ。
だけど今の話と無関係だろう。

今は、コミットの歴史の話をしている。
0617デフォルトの名無しさん2015/02/25(水) 19:46:42.04ID:kdMsbAel
レビューの話じゃないのか。
1つのコミットにまとまってないとレビューできないって結論ありきで言われても話になんないわ。
こいつはもう進歩しないんだろうな。
0618デフォルトの名無しさん2015/02/25(水) 19:47:06.14ID:jNJiSOpZ
コミットの歴史の話に戻すと、
オープンソースプロジェクト(例 git)の
masterコミットログ見てみ。
そこに、くだらない作業履歴なんか残っちゃいない。

誰だって開発中に小さなミスはするはず。
細かくコミットするのだから、一つの機能追加で
幾つものコミットがあるはずだが
masterのコミットログにはそんなもの残っていない。

もちろん、リリース済み(masterに入ってしまった)
ミスの修正は記録されるが、
masterにマージされるまでの作業履歴は残っていない。
そんなもの必要ないからだ。
0619デフォルトの名無しさん2015/02/25(水) 19:47:58.10ID:kdMsbAel
自分でずらしといて、ずれてるとか戻すとかw
0620デフォルトの名無しさん2015/02/25(水) 19:49:05.64ID:kdMsbAel
なんでオープンソースの手法が基準なんだ
0621デフォルトの名無しさん2015/02/25(水) 19:51:38.36ID:jNJiSOpZ
>>617
可能か不可能かの話をしてるんじゃない。
なんでいつもそういう話になるんだ?
可能ならどんなに効率悪くてもいいのかよ?

レビューを"しやすく"って言っただろ。
レビューをしやすくするために、見る必要のない履歴は
無い方がいいだろ。

いちいち報告で、やった内容を全部一から語るのか?
途中で間違えたけど修正しました。って。

そして重要なのは最後。masterにマージされる時
そんなくだらない作業内容は残す必要がない。

オープンソースプロジェクトみろよ。
残ってないだろ。
0622デフォルトの名無しさん2015/02/25(水) 19:52:19.85ID:jNJiSOpZ
>>619
> 自分でずらしといて、ずれてるとか戻すとかw

やっぱりBTSが「ずらした内容」だって思ってたんだw
0623デフォルトの名無しさん2015/02/25(水) 19:53:58.79ID:jNJiSOpZ
>>620
クローズドは原則として非公開だから参考にしようがないから。
社内のやり方だけしか知らないと、ガラパゴスになっちゃうよw
0624デフォルトの名無しさん2015/02/25(水) 20:08:13.12ID:17nwZwPi
┐(´д`)┌ヤレヤレ
0625デフォルトの名無しさん2015/02/25(水) 20:10:49.88ID:kdMsbAel
>>622
その前からずれてるのに気づいてないのか。ほんと主観だけで動いてる人間だな。

>>623
お前に他の技術者とのコネクションがないことは、よくわかった。寂しかったんだな。

>>621
差分をまとめて見ればいい話。
それがコミットというgitの最小単位になってないと出来ないという前提が理解できない。
0626デフォルトの名無しさん2015/02/25(水) 20:37:55.63ID:mT1+WygH
差分をまとめて見る手間を減らすためにレビューイがコミットをまとめておいたらレビューアは嬉しいね
ってだけでしょ
0627デフォルトの名無しさん2015/02/25(水) 20:53:14.73ID:s9t0GhOY
うだうだこういう話が続いてると本当うんざりする
VCS運用ポリシーってスレでも立ててそっちでやってくれ
0628デフォルトの名無しさん2015/02/25(水) 22:05:40.90ID:kOMdcG98
>>591
いまDにいるなら
git tag tag-for-D
git tag tag-for-A HEAD^^^
でいける
0629デフォルトの名無しさん2015/02/25(水) 22:17:06.01ID:kOMdcG98
「WindowsのほうがいいOSだ!」
「いやいやLinux使わないとか情弱か!」

っていう言い争いと同じだな。
片方のユーザからみたらもう片方側が頭悪すぎワロタに見えるのも同じだろう。

それぞれ大事にしてるものが違うし、
きっとみんながみんな納得いくような単一の結論は出ない。

お互いを改宗させることに努力するより、
同じ宗派の人同士が有意義なGitライフを送れるように情報交換でもしたらどう?
0630デフォルトの名無しさん 転載ダメ©2ch.net2015/02/25(水) 23:15:48.71ID:yL7bOKNP
2.3.1
0631デフォルトの名無しさん2015/02/26(木) 00:29:40.64ID:EbdO/8nd
>>629
windowsしか使えない
それ以外が良い場合もある
と言っているんだから違うだろ。
0632デフォルトの名無しさん2015/02/26(木) 00:34:46.27ID:kT9/NkZ7
OSの良し悪しなんてPC使う目的次第だろ
0633デフォルトの名無しさん2015/02/26(木) 11:17:42.31ID:rJrYfait
>>629
両方使える人からみても「Windowsしか知らない人」は馬鹿確定で良いんだよ
「Linuxしか知らない人」は全く居ない訳じゃないけど母数が少ないので微妙
0634デフォルトの名無しさん2015/02/26(木) 12:02:34.81ID:0ruku8I/
>>625
> 差分をまとめて見ればいい話。

まとめてみることしか出来ないじゃないかw

小さくコミットをまとめるというのは、
要するに大きな機能でも、小さなコミットにまとめられるということ。

なぜ小さなコミットにまとめるのかというと
小さなコミットのほうがコードがわかりやすいから。

その小さなコミットを、全部まとめて大きなコミットにしたら
小さく分ける意味が無いだろw

またゴミコミットがあるのも、当然小さく分ける意味をなくしている。
0635デフォルトの名無しさん2015/02/26(木) 12:08:23.80ID:0ruku8I/
>>629
> それぞれ大事にしてるものが違うし、

俺が大切にしているのは、
このソフトはどういう修正をして
バージョンを積み重ねてきたかという結果だよ。
リリースもしていないものの作業なんか必要ない。

でもなぜか結果じゃなくて過程を残そうとするやつがいる。
ソースコードに修正履歴を残すのと同じ種類の人間だろうね。
あとから見ても必要にならないものまで残そうとする。
0636デフォルトの名無しさん2015/02/26(木) 12:35:15.42ID:pCR98cc0
>>631>>633>>635
>お互いを改宗させることに努力するより、
>同じ宗派の人同士が有意義なGitライフを送れるように情報交換でもしたらどう?

という意見についてはどう思うんだ?
0637デフォルトの名無しさん2015/02/26(木) 12:42:34.36ID:c8SpDIVp
平和ボケのパンプキン野郎を相手にするつもりはない
0638デフォルトの名無しさん2015/02/26(木) 13:03:34.40ID:0ruku8I/
>>636
改宗させようなんて思っちゃいないw
ここを見たその他の人が洗脳されないようにしているだけだ。
0639デフォルトの名無しさん2015/02/26(木) 13:24:17.25ID:pCR98cc0
>>638
どんな人が洗脳されるというんだろ。
グループで協力してソフトウェアをつくっている人ならこうするのが当然、
ってお互いに言い合っているように見えるんだけど。
0640デフォルトの名無しさん2015/02/26(木) 13:52:37.01ID:0ruku8I/
>>639
バージョン管理ソフトなんだからバージョンを管理するのに
必要な情報のみを入れましょうといってる俺と、
なぜか過去の作業報告書を兼ねて、必要ない修正まで記録して
バージョンごとの違いを見難くしましょうと言ってる人の違い。

作業報告書なら別に管理しろよ。
それがgithubでいうならば、Issueやプルリクなんだが。

第一コードの履歴だけじゃ作業報告にもならりゃしない。
Issueやプルリクなら日本語で書かれた経緯が記録される。
0641デフォルトの名無しさん2015/02/26(木) 14:15:15.10ID:ScTUDd1D
バージョンを管理するのはタグの仕事
人が作業した内容をコミットの仕事
タグだけをみりゃあいい
何も全部のコミットをみなくていいだろ
0642デフォルトの名無しさん2015/02/26(木) 14:20:23.62ID:s5JPbxDv
> バージョンを管理するのはタグの仕事
またおまえかw

タグは特定のコミットに名前をつけるだけだぞw

そのタグの履歴を見たら、
まー、ごみだらけで、何やってるか意味不明。
そんなコミット使い物にならねぇ。

なくすべきだね。
そして不要な情報のない正しいコミット履歴を
持ったものにタグをつける。
完璧♪
0643デフォルトの名無しさん2015/02/26(木) 14:22:54.05ID:s5JPbxDv
コミットを綺麗しないとこうなる。

★タグ 1.0
・ちょっと修正
・さっきの間違えた
・○機能仮実装
・リファクタリング
・○機能ミス修正
・おっと最初の修正のタイポ修正だ
・バグ修正
★タグ 1.1


ほらね。何をやってるのかさっぱりだw
0644デフォルトの名無しさん2015/02/26(木) 14:42:02.65ID:pCR98cc0
>>640
「必要ない修正まで記録してバージョンごとの違いを見難くしましょうと言ってる人」に
洗脳される人が出ないように啓蒙活動をしているということか?

そんなので洗脳される人がいるとは思えないけど。
0645デフォルトの名無しさん2015/02/26(木) 15:37:43.43ID:xcIprWeJ
だんだん状況がはっきりしてきたね。^_^v
洗脳される人が出ないように必死に啓蒙活動している変な奴が少数いて
そいつが騒いで迷惑かけてるということか。やれやれ。
0646デフォルトの名無しさん2015/02/26(木) 19:35:29.87ID:EbdO/8nd
>>643
お前はそんな意味のわからないタグしかつけてないのか?

>>636
履歴をまとめる人は唯一神しか認めてない。
それ以外が良い場合もあるという人は、唯一神を含め八百万の神を認めている。
前者が変わらないとどうしようもない。
0647デフォルトの名無しさん2015/02/26(木) 19:42:03.41ID:cGnKpNs3
立ち見続出
0648デフォルトの名無しさん2015/02/26(木) 19:57:45.91ID:s5JPbxDv
>>646
> お前はそんな意味のわからないタグしかつけてないのか?

お前タグの付け方間違ってるんじゃね?
普通はリリースしたバージョンに対してつけるものだ。
gitだとこうだな。 https://github.com/git/git/tags


お前が言うタグはどういうものか
それと同じ使い方をしている例をgithubでもなんでもいいから
探してきてくれ。
0649デフォルトの名無しさん2015/02/26(木) 19:59:05.68ID:s5JPbxDv
おっとgit 2.3.1がでてるじゃないかw
0650デフォルトの名無しさん2015/02/26(木) 20:23:59.37ID:EbdO/8nd
>>648
それはリリースタグという、タグの一種でしかない。
お前がガラパゴスのイグアナだったな。
0651デフォルトの名無しさん2015/02/26(木) 20:25:20.59ID:s5JPbxDv
いいから、早く探してこいよw
0652デフォルトの名無しさん2015/02/26(木) 22:57:34.06ID:wcxWcVKQ
>>643
ふむ。これをどんなふうに綺麗にするんだ?
作業途中の一時的なcommitのことかと思ってたけど、後から見つかったバグやタイポの
修正なんかもということになると話が違ってくるな。
0653デフォルトの名無しさん2015/02/27(金) 04:26:54.32ID:2fOguya9
みんなが自分と同じやり方じゃなきゃヤダー、とワガママ言ってる害虫が一匹消えれば済む話だな。
0654デフォルトの名無しさん2015/02/27(金) 11:41:41.56ID:qn8r0NuB
>>652
リリース前か、リリース後かだよ。

リリース前ならrebaseするべき。
リリース後ならできない。

ここでいう「リリース」の定義は、みんなで
共有しているブランチにマージされた時。

マージされてないならrebaseして、
マージした後の共有ブランチはみんなが見るのだから
見やすくするのがいい。
0655デフォルトの名無しさん2015/02/27(金) 11:42:46.84ID:qn8r0NuB
>>653
> みんなが自分と同じやり方じゃなきゃヤダー、とワガママ言ってる害虫が一匹消えれば済む話だな。

というか、一般的なやり方を見習えばいいだけだよ。

他の人のやり方は、オープンソースプロジェクトを見ればいいんだから
参考にするべきものがないってことは無いはず。
0656デフォルトの名無しさん2015/02/27(金) 12:00:40.29ID:qn8r0NuB
ゴミコミットを残すと言ってる人は、
git bisectの問題をどうやって解決するわけ?
0657デフォルトの名無しさん2015/02/27(金) 13:10:52.50ID:zjr7XITY
身内相手とかならともかく全く無関係な赤の他人のやり方に口を出すとか何のメリットがあるんだ?
身内に変なのがいたらそいつに直接オレオレルールを叩き込めばいいだけじゃねえの
0658デフォルトの名無しさん2015/02/27(金) 16:24:47.33ID:vP93htBG
まあそれも迷惑きわまりないけどなw
0659デフォルトの名無しさん2015/02/27(金) 16:53:17.23ID:qn8r0NuB
オレオレルールじゃなくて
一般的なルールだって言ってるだろw
gitの基本的な使い方だよ。
0660デフォルトの名無しさん2015/02/27(金) 17:08:09.39ID:zjr7XITY
んな細かいことどうでもいいよ
0661デフォルトの名無しさん2015/02/27(金) 20:15:42.29ID:QLxLlF4F
>>659
> 一般的なルールだって言ってるだろw

お前にとっては
だろ?

> gitの基本的な使い方だよ。

勝手に決めるな、ボケ
0662デフォルトの名無しさん2015/02/27(金) 20:21:22.73ID:zjr7XITY
んな細かいことどうでもいいよ
0663デフォルトの名無しさん2015/02/27(金) 20:26:55.17ID:2fOguya9
>>655
自分が見てるものだけを持ち出して一般的って何だよ。
その理論だと、やり方はひとつのみが正しいということにならないか。
まあ、お前がやってない一般的なやり方は屁理屈つけて、例外とされるんだろうけどな。
0664デフォルトの名無しさん2015/02/27(金) 20:57:44.76ID:ecUd+uRQ
一般的な使い方とか正しい使い方とかどうでもいいよ
開発する上で都合の良い方法をその人たちで決めればいいことだろ
チームに変な奴がいるんならここでやらずにそいつを説得すべきだし、「俺の思う正しい使い方」を啓蒙したいんだったらQiitaにでも行ってくれ
0665デフォルトの名無しさん2015/02/27(金) 23:16:10.22ID:0rXS1k1W
>>654
うん、だから、リリース後のコミットが>>643のようにならないようにするために
どう「コミットを綺麗に」すると言っているんだろう?
まさか、すべてのバグを出し切るまでリリースすべきじゃないとか?
0666デフォルトの名無しさん2015/02/27(金) 23:43:44.73ID:3vgt2owk
もうどっちでもいいよ。俺は俺のやり方でやるから。
0667デフォルトの名無しさん2015/02/28(土) 00:31:26.07ID:NODjEs0Y
>>666
そいつがオレのやり方
0668デフォルトの名無しさん2015/02/28(土) 02:45:52.64ID:j2d9gp8Y
まっちさん乙
0669デフォルトの名無しさん2015/02/28(土) 06:58:11.35ID:rF9gi1YF
こいつと同じチームのメンバ大変なんだろうなぁ。
下っ端で聞いてもらえないから、ここて言ってるだけかもだけど。
0670デフォルトの名無しさん2015/02/28(土) 07:02:32.75ID:Mpa44gki
チームメンバーを俺色に染め上げる
0671デフォルトの名無しさん2015/02/28(土) 11:13:43.53ID:0J8+8Slx
>>663
それで君が見ているものは何なんだ?

まさか、自社限定の井の中の蛙とか?

もっと広い世界を見ようぜ。
それが一般的というものなんだからさ。

例として、gitのやり方を見てみよう。
https://github.com/git/git/commits/master
どんな機能が追加されたのかわかりやすい。
0672デフォルトの名無しさん2015/02/28(土) 11:50:04.81ID:ZxxxP0A6
Web とか、誰でも読めてレビューするようなモンなら
レビュー前提である程度まとめてコミットした方がいいし、
ゲームとか、レビューが現実的じゃないケースで
バグったら洒落にならんもんなら細かい方がいいんじゃないの。
0673デフォルトの名無しさん2015/02/28(土) 12:13:36.38ID:0XiMknGf
レビューがあろうがなかろうが変更意図の最小単位でコミットするのがいいことに変わりはないでしょ
修正の修正はどっちのケースでもまとめてあった方が後から読みやすいと思うが
それを無駄・有害・有用のどれにとるかはPLの好み次第
0674デフォルトの名無しさん2015/02/28(土) 12:23:48.66ID:Fo4WfMm1
gitにはpull requestって機能はないんですか?
0675デフォルトの名無しさん2015/02/28(土) 13:08:09.13ID:1GqpuynK
>>674
git request-pull
0676デフォルトの名無しさん2015/02/28(土) 13:14:50.76ID:ZxxxP0A6
>レビューがあろうがなかろうが変更意図の最小単位でコミットするのがいいことに変わりはないでしょ
複雑なシステムだと意図通り動くとは限らないよ
0677デフォルトの名無しさん2015/02/28(土) 13:48:17.58ID:rF9gi1YF
>>671
そうじゃないよ。
自分の見ているものが絶対と思っているかどうかの違いだ。

ホント救いようないな。
0678デフォルトの名無しさん2015/02/28(土) 17:50:22.20ID:qDsQcJHp
コミットログの先頭に記入漏れがあったので修正したいんですが20個もあるんです
git rebase -i HEAD~20でエディット画面になりますが
修正したいログのpickをeditに書き換えて保存して終了後、git commit --amendでまたエディット画面になるので修正してgit rebase --continueをするんですが
20個もやってられないので、最初のgit rebase -i HEAD~20ときに立ち上がるエディット画面のところでまとめてログを書き換える方法を教えてください
0679デフォルトの名無しさん2015/02/28(土) 18:07:46.23ID:Mpa44gki
修正したいコミッログトのとこで別ブランチを作ってコミットログを書き換えてマージで統合
0680デフォルトの名無しさん2015/02/28(土) 19:47:26.42ID:0J8+8Slx
>>677
一般論はどうでもいいよw

自分が見ているもの=さまざまなプロジェクトが
俺の言ってるとおりになっているんだが。
0681デフォルトの名無しさん2015/02/28(土) 19:54:48.06ID:qDsQcJHp
>>679
それだとブランチを変えてもコミットログを20個編集するために
commit --amend
rebase --continueを20回やるのには変わらないと思うんですが・・・
0682デフォルトの名無しさん2015/02/28(土) 20:14:15.86ID:b3fgjTUc
>>680
「俺の言ってるとおり」っていうのはどのレスのことなんだろう。
もしあんたが ID:s5JPbxDv ID:qn8r0NuB ならとりあえず>>665に答えてくれんか。
0683デフォルトの名無しさん2015/02/28(土) 21:31:24.89ID:rF9gi1YF
>>680
それしか見てないなら、他のを批評するのは何故か。
俺は他のパターンも見てるし、
そのやり方でコストが割に合ってないのも見てる。
0684デフォルトの名無しさん2015/02/28(土) 22:27:13.82ID:HNTVjZlm
>>678
エディット画面で
pick ハッシュ メッセージ
exec git commit --amend -m'新しいメッセージ'
って言う風にexecを使えばまとめてできそう
http://qiita.com/yuku_t/items/fed530acb97385ecbeee

ちなみにコミットメッセージを書き換えるだけならeditよりrのほうが楽だよ
0685デフォルトの名無しさん2015/03/01(日) 01:32:38.05ID:XRCWDhmX
source treeを使っているんですが、
履歴を削除したいです。

1,2,3,4,5があったとして、
5だけ残したいです。

やり方を教えていただけないでしょうか?
0686デフォルトの名無しさん2015/03/01(日) 10:32:38.67ID:Lvi8ZCHX
>>678
20個前のコミットのメッセージを1個書き換えるだけじゃなくて20個全部書き変えたいってことでいい?

git commit は-Fでエディタを立ち上げずにコミットメッセージを書いたファイルを指定できるから予め20個編集済みのファイルを用意しとくか、
既存のメッセージを機械的に書き換えられるなら git showのオプションを調整してログメッセージだけ表示させたやつを
perlなりsedなりで書き換えた後git commit -F - --amend にパイプで食わせるようにするとかで一気に行けそうだが。
0687デフォルトの名無しさん2015/03/01(日) 10:50:10.22ID:Lvi8ZCHX
手間を考えると >>684 の書いてるようにTODOリストで r (reword) 使うのが一番楽だな
0688デフォルトの名無しさん2015/03/01(日) 13:53:52.15ID:odvvrg+G
>>683
検証できるもので語ろうよw

検証できない事だと嘘付いても調べようがないからね。
それを利用して、さも自分が知っている秘密の世界(笑)では
自分の都合のいいことが起きているという。

でも科学の世界では第三者が検証できなければ意見としてみなされない。
だから検証できるものを出すのが重要。

俺は出した。git本家のリポジトリだ。
君はなにか出したかね? 信用される行動を取りましょう。
0689デフォルトの名無しさん2015/03/01(日) 13:55:38.63ID:Sga1DM1F
なるほど
一理ある
0690デフォルトの名無しさん2015/03/01(日) 14:02:41.32ID:gGwPkrj1
>>688
では、それが一般的というのを立証してください。
0691デフォルトの名無しさん2015/03/01(日) 14:15:17.53ID:odvvrg+G
>>690
立証方法は数でいいかな?

より多くのプロジェクトでやっているやり方が
より一般的である。

この定義は問題ないだろう。


今のところgitという例がひとつ出た。
反対意見のプロジェクトは0だから
今の所一般的なのはgit風である。

反対プロジェクトが出たら、また一つ探してくることにするよ。。
0692デフォルトの名無しさん2015/03/01(日) 14:21:22.22ID:gGwPkrj1
>>691
いくら数を挙げようと母集団の数が不明なので一般的かどうかわからない。
そんなの語るなよ。
ということになる。
0693デフォルトの名無しさん2015/03/01(日) 14:22:48.73ID:gGwPkrj1
相手より多かったら一般的とか、どんだけ狭い世界で生きてるんだろう。
0694デフォルトの名無しさん2015/03/01(日) 14:24:45.39ID:odvvrg+G
>>692
じゃあ、検証可能でもっといい方法があったら
それに変更することにするよ。

それまでは、より多くのプロジェクト(誰でも検証可能なものに限る)で
使われている方が一般的という定義にしておくね。

あ、仮だから、仮。

文句ばかり言って、何もだいたい手段を言わない人を
黙らせるための仮の定義だからね〜。
0695デフォルトの名無しさん2015/03/01(日) 14:25:03.53ID:xRGCCXFw
ニセ科学は、数だけなら多いんだyo
0696デフォルトの名無しさん2015/03/01(日) 14:32:47.00ID:M4V41Yry
>>691
「ほら、gitも俺の主張するやり方してるだろ?」と言われても、その「俺の主張するやり方」が
よくわからないんだが。
>>643>>671の決定的な違いと考えている点は何?
commit直後に修正入れるようなみっともないことしないよう、ちゃんとデバッグしろということ?
0697デフォルトの名無しさん2015/03/01(日) 14:33:18.51ID:gGwPkrj1
アホすぎる
0698デフォルトの名無しさん2015/03/01(日) 14:36:02.18ID:gGwPkrj1
それぞれの環境に合ったやり方があると言っているのに、
より多くのプロジェクトで使われてるやり方がいいとか。
0699デフォルトの名無しさん2015/03/01(日) 14:36:18.63ID:odvvrg+G
>>696
> commit直後に修正入れるようなみっともないことしないよう、ちゃんとデバッグしろということ?

コミットはこまめにやるべきだから、ちゃんとデバッグしなくてもいいというか
事実上できないよ。

その代わり、ちゃんとデバッグしてからmasterなり
他人に公開しているブランチにマージする。

こまめにやったコミットをデバッグして、
問題があったらもちろんrebaseして、
きれいなコミットにしてからマージする。

それがgitなどの多くのプロジェクトで極普通に行われている方法。
0700デフォルトの名無しさん2015/03/01(日) 14:38:01.87ID:odvvrg+G
>>698
それぞれの環境にあったやり方はあるだろう。

例えば、ソースコード管理をせずに
ソースコードに修正履歴のコメントを書く
という環境もあるだろう。

そういう環境があることを否定しているのではなく、
より良い環境とは何か?というのを
多くのプロジェクトをみて学びなさいということ。
0701デフォルトの名無しさん2015/03/01(日) 14:38:45.42ID:gGwPkrj1
>>700
より良いって何だよ。オマエの自己満足だけだろ。
0702デフォルトの名無しさん2015/03/01(日) 14:39:59.34ID:gGwPkrj1
>>700
オマエの言う方法が絶対的に良いのなら、何故他の方法を取れるような実装になっているのだと思う?
0703デフォルトの名無しさん2015/03/01(日) 14:50:02.94ID:M4V41Yry
>>699
あぁ、もちろん、commitというのは公開するcommitのつもりで書いた。
>>699の内容はおおむね理解できる。結局のところ>>643>>671の違いは、共有する
branchにマージする前にちゃんとデバッグしたかどうか、ということでいいんだね?
0704デフォルトの名無しさん2015/03/01(日) 14:50:29.67ID:gGwPkrj1
発端は開発効率が上がるからより良いって話だったが、こいつとは別のやつなのかな。

586 デフォルトの名無しさん sage 2015/02/25(水) 00:05:08.53 ID:Wo4XdcUv
>>584
結局のところは、最終的に履歴がキレイに見えればいいわけで。
自分が会社でSVNを使ってた時は、

1. 自分の修正の途中経過を保存しておけるローカルのSVNのリポジトリで作業して、
2. ちゃんと動くようになったら、他人に見せれるキレイなコードに直して、
3. キレイなコードを会社のSVNにコミットしてた。

Gitはそれが一連の流れとしてできるわけでしょ?
なぜGitの良さを殺して開発効率が悪くなる方向に向かうのかが分からない。
0705デフォルトの名無しさん2015/03/01(日) 14:57:42.12ID:lheYQzbz
とりあえず俺は初心者だからどっちの意見が正しいのかわかんないのでおしえて

まずコミットをまとめる派の意見
git init
touch a
git add a
git commit -m "Initial commit"
git checkout -b testbranch
touch b
git add b
git commit -m "add b"
touch c
git add c
git commit -m "add c"
このあと何をしてコミットをまとめるのかおしえてくれ
0706デフォルトの名無しさん2015/03/01(日) 17:51:56.32ID:DwkMIW7d
このスレも明後日で終わりか
0707デフォルトの名無しさん2015/03/01(日) 19:03:16.52ID:WF1g/fUF
プログラムなんて完成させりゃいいのに、
より完璧にバージョン管理する方法とか、手続きにとらわれすぎて可哀想。
0708デフォルトの名無しさん2015/03/01(日) 19:24:04.81ID:1tKuG656
>>685
スカッシュしようz
0709デフォルトの名無しさん2015/03/01(日) 20:58:42.01ID:Lvi8ZCHX
Git本家のやり方は良いよね。
俺もあの考え方をベースに単純化して運用してる。
0710デフォルトの名無しさん2015/03/01(日) 21:33:37.81ID:odvvrg+G
>>705
その例じゃわかりづらいだろw

まずmasterブランチがあるとする。
そのmasterを元にAさんがある機能を作るとする。

git checkout master // masterにいる
git checkout -b new_feature // 新しい機能作成

そのブランチで開発をする。
touch new_class && vi new_class
git add new_class
git commit -m 'add new_class' # new_classを作成

vi existing_class
git add existing_class
git commit -m 'improve existing_class' # 新機能追加のために、既存のexisting_classクラスを拡張

vi new_class
git add new_class
git commit -m 'fix new_class' # existing_classを書いている時に、new_classにバグや修正やタイポが発覚して修正した

git checkout master
git merge new_feature # 新機能をmasterにマージ

この時のmasterのコミット履歴がこんなふうになったってしょうがないってこと。

* Merge new_feature
- fix new_class (新クラス完成版)
- improve xisting_class (既存クラスの拡張)
- add new_class (バグがある新クラス)
0711デフォルトの名無しさん2015/03/01(日) 21:34:46.93ID:odvvrg+G
この例はまだ機能がまだ少ないからいいけど、例えば、2つのファイル修正。
2つのファイル作成で成り立つ機能を1週間かけて作る。コミットはこまめにする。
その1週間の作業で間違えることなく完璧に作業していればこれだけで良くなる。

new_featureブランチ(rebase版)
- add new_classB (新クラスBの追加)
- add new_classA (新クラスAの追加)
- improve existing_class2 (既存クラス2の拡張)
- improve existing_class1 (既存クラス1の拡張)

だが1週間かかるような仕事をミスせずにやれる人はいなし
理想的な順番で修正できる人も居ないので、作業履歴的にはこうなる。

new_featureブランチ(全部履歴残す版)
- fix existing_class1
- fix new_classB
- fix existing_class2
- fix new_classA
- fix new_classA
- fix existing_class1
- fix new_classB
- fix existing_class2
- fix new_classA
- fix existing_class1
- add new_classB (新クラスBの追加)※この時点ではバグあり
- fix new_classA
- fix existing_class1
- improve existing_class2 (既存クラス2の拡張)※この時点ではバグあり
- fix existing_class1
- add new_classA (新クラスAの追加)※この時点ではバグあり
- fix existing_class1
- improve existing_class1 (既存クラス1の拡張)※この時点ではバグあり
0712デフォルトの名無しさん2015/03/01(日) 21:35:36.94ID:odvvrg+G
new_featureブランチ(全部履歴残す版)をみて
他人が結局何をしたのか?なんて把握できるわけがないし、

squash等で全部まとめてみるという考えもあるがそうすると

new_featureブランチ(squash版)
- existing_class1 + existing_class2+ new_classA + new_classB (新クラスA,Bの追加と既存クラス1,2の修正)


diffの内容=new_classBとnew_classA とexisting_class2とexisting_class1の
修正内容を一度に全部まとめてみることになる。

既存クラスの拡張が、単純な関数の追加だけならまだわかるけど、
それぞれいくつかの既存の関数の修正だと、
全部まとめてみると、二つの独立した機能拡張をまぜて見ないといけなくなる。

小さな修正を見るよりも、大きな修正を見るほうが大変なのは言うまでもない。

で、もちろん、new_featureブランチ(全部履歴残す版)のようなものをmasterに入れることはない。
入れると、git bisectで問題箇所を調べるときの障害にもなる。
(使ったことある? 二分探索で自動的にコミットをチェックアウトしてバグを調べる機能)

ブランチの段階でプルリクエスト(レビュー依頼)する。
もちろんレビュー依頼をするときには、rebaseしておく。
そこでまた修正があるとしたら、途中もしくは最後にrebaseしてからマージ

有名なプロジェクトをみても途中の作業履歴が残っていないので
それが一般的であるとうことがわかる。
0713デフォルトの名無しさん2015/03/01(日) 21:37:40.19ID:odvvrg+G
>>707

> プログラムなんて完成させりゃいいのに、
> より完璧にバージョン管理する方法とか、手続きにとらわれすぎて可哀想。

その考えもわかるけど、それだとsquashするほうがまだましだだから
どちらにしろ履歴は残さないよ。
0714デフォルトの名無しさん2015/03/01(日) 22:02:54.92ID:IMZWcmr0
>>710
まって、俺初心者だからそのあとのコミットのまとめかたをおしえて
実際に打って確認しないとどっち派がいいのか判断できない
態度がでかい初心者で申し訳ないが重用なのでたのむ
0715デフォルトの名無しさん2015/03/01(日) 22:14:43.93ID:Lvi8ZCHX
>>712 解説乙。
bisectについて補足する。

「new_featureブランチ(全部履歴残す版)」だと
bisectが止まったコミットが本当にmasterのHEADに影響してるか信頼できない。
(bisectが止まったコミットを調べて原因発見したと思っても、
後の修正コミットで何度も試行錯誤されて変更されたりしてると、
最終的にHEADで問題を引き起こしてる原因とは違ってたなんてことがおこる)

逆にトピックブランチのコミットを全部ひとつにスカッシュしてしまうと
bisectで止まったときに見ないと行けない変更量が必要以上にでかくて調べるのが面倒。

「new_featureブランチ(rebase版)」くらいの
ひとつひとつは意味のある単位で、かつできるだけ小さい粒度の複数のコミット
にまとめるのが妥当な落とし所って感じ。

もちろんbisect以外に「あのトピックでどうなってたっけ?」みたいに見直すだけの時も、
そのトピックの成立がわかりやすいストーリーになってるほうが読み解くのに効率が良い。
(むしろこっちのほうがシチュエーションとしてはよくある)
0716デフォルトの名無しさん2015/03/01(日) 22:15:59.98ID:odvvrg+G
>>714
まとめること自体は、rebaseだよ。
git rebase -i (編集を開始したいコミット)
ってやればエディタが表示される。

そこで順番を並び替えたり
まとめたりするものを選ぶだけ。

ただ、ここでコンフリクト起きたりすると
それを解消するのに時間がかかって本末転倒になるから、
コミットはほんとうに小さく分けてこまめに整理しながらやること。

あと大きな機能は小さな機能に分割してリリースすることだね。
ただしちゃんとした設計ができてないと、あとから大幅に変更することになって
最悪コードやレビューがムダになりかねないから、
小さな機能でもリリース(master等の共有ブランチにマージ)するなら
しっかり作りこまないといけない。

基本は小さく作ることだよ。そうすればコミットをまとめるのも楽になる。
0717デフォルトの名無しさん2015/03/02(月) 01:36:08.77ID:Hi7dFbSg
1チン毛セットにつき1コミットだ
0718デフォルトの名無しさん2015/03/02(月) 12:18:20.70ID:D9yRCRO6
                  彡 ⌒ ミ
    彡ハヽヽミ          (`・ω・´ ) ブゥーチッブゥーチッ♪
   ( ´・ω・`)        ./ >‐ 、-ヽ   ペーペケッペッペペーペーペペ♪
   /     ヽ      /丶ノ、_。.ノ ._。) ブゥーチッブゥーチッ♪
   / /    ヽ|  →  〈 、〈Y ,ーiー〈ト   ペーペケッペッペペーペーペペ♪
  (_二つ    )      .\_ξ ~~~~~~Y
   |      イ         |__/__|
   |  l⌒ヽ  ヽ         |、,ノ | 、_ノ
  
      結 果 に コ ミ ッ ト す る   ラ イ ザ ッ プ
         _____________  __
        ┃ライザップ             | |検索|←をクリック!!
0719デフォルトの名無しさん2015/03/02(月) 16:26:14.86ID:gM8IX5Rj
まだ主観をルール化しようとしてる奴がいるのか。
企業なんかではうまく行かない。
0720デフォルトの名無しさん2015/03/02(月) 17:22:43.92ID:EtBBafF0
という主観でした(笑)
0721デフォルトの名無しさん2015/03/02(月) 18:26:22.01ID:zSbcYqf6
>>712
> 有名なプロジェクトをみても途中の作業履歴が残っていないので
> それが一般的であるとうことがわかる。
オープンソースとか参考にしている時点で、レベル低すぎて話にならん

>>719
> まだ主観をルール化しようとしてる奴がいるのか。
> 企業なんかではうまく行かない。
それがわからない、一本道真理教がキコキコ三輪車漕いでるっぽい
0722デフォルトの名無しさん2015/03/02(月) 23:15:51.93ID:dTBqd0rI
>>721
一本道真理教だとか、キコキコ三輪車だとかが、必ずしも悪いわけじゃないんだけどね
プロジェクトにいる技術者のレベルが低い場所では、そういうやり方の方がうまく行く場合がよくある
0723デフォルトの名無しさん2015/03/02(月) 23:54:14.33ID:EtBBafF0
>>721
> オープンソースとか参考にしている時点で、レベル低すぎて話にならん

gitを作ってるgit本家もオープンソースですよ(笑)

何を勘違いしているのか。

むしろ参考にするべきものだ。

社内のオレオレルールを一般的と勘違いしているのかね?
それともうちは馬鹿ばかりだからgitを使うことで精一杯。
正しい使い方ができるレベルにないって話かね?
0724デフォルトの名無しさん2015/03/03(火) 00:44:29.63ID:MRrEf2ES
オープンソース開発と、社内チーム開発じゃ性質が全然違うってことだろ。
どっちが上とかそういう問題ではなく。
0725デフォルトの名無しさん2015/03/03(火) 01:13:52.24ID:/le7LDNv
社内チーム開発じゃ性質が違うという主張をするのはいいが、
その理由が全く述べられてないのが問題。
だから説得力が全くない。
0726デフォルトの名無しさん2015/03/03(火) 01:15:51.42ID:/le7LDNv
>>724
それならそもそもgitを使わないほうがいいんじゃないですかね?w
0727デフォルトの名無しさん2015/03/03(火) 01:42:06.19ID:E+oz4UV1
ここまでの流れまとめ

馬鹿「社内の開発はオープンソースとは違う!」
みんな「それで?」

馬鹿「え?」
みんな「え?じゃなくて、何が違うの?」

馬鹿「オープンソースとは違う」
みんな「いや、違うのは分かったから、何が違うの?」

馬鹿「・・・」
みんな「違うは違うだろうけど、それがどうgitの使い方に影響を与えるの?」

馬鹿「・・・」
みんな「社内の開発は、オープンソースとは違うから、こうするべきだっていいたいんだよね?」

馬鹿「・・・」
みんな「なにか言おうよ?明確な理由があるんでしょ?」

馬鹿「り、履歴は全部残すべき」
みんな「だからさぁ。その理由を言えって」

馬鹿「社内はオープンソースとは違う。」
みんな「違うのは分かったから、どこがどういうふうに違って、だから履歴を残すべきって結論になるのさ?」

馬鹿「違うから、残すべき!」
みんな「だからその理由は?」

馬鹿「オープンソースを参考にしている時点でレベルが低い!」
みんな「だめだこいつ。話にならない。」
0728デフォルトの名無しさん2015/03/03(火) 01:47:09.05ID:MRrEf2ES
>>726
あなたが、gitをオープンソース開発の手法専用にしか使えないのならそうだろう。
まあ、いくつも使い方があると混乱してしまう人も居るから、手法ごとにツールを変えるのもひとつの手だよね。
0729デフォルトの名無しさん2015/03/03(火) 01:51:36.20ID:dPTRZFO0
>>728

>>727の続きですか?

馬鹿「gitはオープンソース開発の手法専用ではない!」
みんな「うん、で、どんな手法で使っているから、履歴は残すべきってなるの?」


いつもの手だね。否定するだけしてじゃあどうするのか?の答えが全くない
言われたことに「それは違う」というだけの簡単なお仕事w
0730デフォルトの名無しさん2015/03/03(火) 01:56:12.15ID:MRrEf2ES
>>725
あなたがわからないなら説明してもいいが、両方経験したことある人は大抵わかるんじゃないかな。

例えばある日、開発を行ってたAさんが交通事故にあった。Bさんが引き継ぐことになったが、やりかけのチケットが意味のあるコミットになってないからと共有されてなかった。
オープンソースなら、なかったものかそもそも気付かれずに、他の人がやるだろう。
社内ならそれには社のリソースを使っていたのだから、共有されているべきだ。
ストレージを共有するとか他の手段もあるが、gitで共有するのもひとつの手段だ。
0731デフォルトの名無しさん2015/03/03(火) 01:56:52.85ID:2hZYgmel
>>728

なんか、ファイルコピーを利用した履歴保存テクニックとか
エクセルで作る仕様書講座。みたいな臭いがするなw

専用に作られたものを使わずに、今の俺が知ってるのがこれだけだからという
消極的な理由で、適していない道具を使って無理やりやろうとする。

より良い方法を調べて改善していこうよ。それともそれをしないのが
(あんたの)社内の伝統なのかな?
必死で主張しているあなたの"社内"が透けて見えるね。
0732デフォルトの名無しさん2015/03/03(火) 01:57:42.96ID:MRrEf2ES
>>729
その話じゃないよ。馬鹿乙。
0733デフォルトの名無しさん2015/03/03(火) 02:02:40.38ID:MRrEf2ES
>>731
会うこともない数万人が見るものと、
席を隣にしてる数人が見るものを、
同じ方法でコストも含め同じく良い結果が得られるの?
0734デフォルトの名無しさん2015/03/03(火) 02:03:35.72ID:2hZYgmel
>>730
> 例えばある日、開発を行ってたAさんが交通事故にあった。Bさんが引き継ぐことになったが、やりかけのチケットが意味のあるコミットになってないからと共有されてなかった。

それはプッシュすればいいだけの話だが?
git使ってるならコミットは毎日よりも短いタイミングで行ってる。

もしかしてコミット=プッシュと勘違いしている?

コミットを共有リポジトリにプッシュすればいいだけの話で、
過去の意味のない履歴を残す理由にはなってないよ。

プッシュした後も、そのブランチが個人のものならrebaseできるし
してもいいってわかってるかな?

リモートの誰からも見える個人の情報をプッシュするのと
(リモートにある)共有されたブランチにマージするのは別の話。

交通事故〜の話なら、個人のリモートブランチ(またはリポジトリ)にプッシュすれば十分。
そしてこれは履歴を残す話とは全く関係ない。

わかってるのかな?
0735デフォルトの名無しさん2015/03/03(火) 02:05:10.00ID:2hZYgmel
>>733
違うと主張したいのなら
「違う」と言うだけではなく、
その理由を書くように
0736デフォルトの名無しさん2015/03/03(火) 02:11:11.03ID:2hZYgmel
>>730を見てると、subversionの根本的な設計ミスによる悪しき習慣と
「どんな場合でもpushしたものはrebaseしたらいけない。」という
gitを中途半端に学習した初心者の間違った理解っていうものを
ひしひしと感じるね。
0737デフォルトの名無しさん2015/03/03(火) 02:13:42.82ID:MRrEf2ES
>>734
オープンソース開発で個人のブランチを共有するの?
0738デフォルトの名無しさん2015/03/03(火) 02:14:17.63ID:2hZYgmel
そういや、交通事故の話、subversionの方が悪影響あってね。

subversionはコミット=プッシュだから、
「作りかけだからプッシュしない」と考えるようになる。

gitだと作りかけでプッシュしても、後から直せるから
どのタイミングでもプッシュっ出来るんだよ。
0739デフォルトの名無しさん2015/03/03(火) 02:16:33.03ID:MRrEf2ES
>>735
わからないのに知りたいなら、
教えてください、お願いします。だろが。
なんで馬鹿様基準で書くと思ってるんだ。
0740デフォルトの名無しさん2015/03/03(火) 02:16:51.79ID:2hZYgmel
>>737
オープンソースとか関係なく、他人に見せるべき情報なら共有するが?

githubの例で言えば、オリジナルのリポジトリを
個人がフォーク(これは共有される)して
ブランチを作ってプルリクエストを送る。

もちろんしたくないなら、ローカルで作業しても構わないが、
少なくともプルリクの段階では、個人リポジトリに作った
個人のブランチを共有することになる。
0741デフォルトの名無しさん2015/03/03(火) 02:18:16.14ID:7ibvECcg
>>739
いえ、知りたくありません。
だって反論はここにない方が
私にとっては都合がいいですから(笑)
0742デフォルトの名無しさん2015/03/03(火) 02:37:55.45ID:MRrEf2ES
>>741
うん、経験のある多くのやつはわかってると思うから、わからない奴は黙ってればいいよ。
0743デフォルトの名無しさん2015/03/03(火) 02:39:35.46ID:MRrEf2ES
>>740
見せたい、見せたくないに関わらず、社のリソースを使ってやってることだから見せるってこと。
0744デフォルトの名無しさん2015/03/03(火) 03:11:03.14ID:7ibvECcg
>>742
そのセリフはみんなから「あぁ、言い返せないんだ」って思われるだけですよw

「反論意見はない」

あなたも私も両方が満足する答えでだからこれでいいと思います。



>>743
はい、見せればいいと思いますが?

ちなみに世の中にはこんな人がいるかもしれませんね。

「赤ペンで添削された報告書をそのまま出す人」

いわく。修正した過程が重要なんです!
0745デフォルトの名無しさん2015/03/03(火) 03:25:27.82ID:MRrEf2ES
>>744
わかってる人からは、なんでそんな馬鹿な質問してるんだろうと思われてるよ。
0746デフォルトの名無しさん2015/03/03(火) 03:26:49.98ID:MRrEf2ES
>>744
作業量を評価する時に試行錯誤を評価する場合がある。
コミット量のグラフとか見たことないか?
0747デフォルトの名無しさん2015/03/03(火) 03:32:46.41ID:7ibvECcg
>>745
だといいですねwww

思っていることは想像

事実をだけを見れば「反論理由はない」

あなたも私も満足する結論ですw

>>7466
> コミット量のグラフとか見たことないか?

githubにあるやつですね。gitlabにも最近つきました。

で、それがどうかしたんですか?

あーわかった。rebaseすると、コミット量が減ると思っってるんですね。
それはマヌケです。
0748デフォルトの名無しさん2015/03/03(火) 03:34:40.93ID:7ibvECcg
fix typo
fix typo
fix typo
fix typo

というコミット数の水増しで
評価を水増しできる会社で働きたいですw
0749デフォルトの名無しさん2015/03/03(火) 03:51:13.37ID:MRrEf2ES
こういう風にツリーをごちゃまぜにする奴が居るから、消したりして読みやすくしなきゃなんないのかw
0750デフォルトの名無しさん2015/03/03(火) 03:52:37.28ID:MRrEf2ES
途中の説明も結論には必要ないのでコミット同様消しますw
0751デフォルトの名無しさん2015/03/03(火) 03:55:23.75ID:7ibvECcg
> 750
説明が必要なものなら、コミットログ
(場合によってはソースコード)に書けば?

fix typo
fix typo
fix typo
fix typo

のようなコミットに説明が必要だから残さないといけないと
いう考えがわからない。


全部残す or 全く残さない
の二元論になってるね。

考えているようで全く何も考えてないよね。
必要か必要でないかを考えないで
全部残しておくなら、馬鹿でもできるもの。
0752デフォルトの名無しさん2015/03/03(火) 03:57:39.57ID:7ibvECcg
報告で結論だけ言ったら、説明を求められたので、
間違って直したものも含めてやったこと全てを
報告したら怒られました。何が行けないんでしょうか?


みたいなレベルで仕事している人いるのかなぁ?_

報告は必要な物を簡潔にでしょ?
0753デフォルトの名無しさん2015/03/03(火) 04:52:02.58ID:MRrEf2ES
人を使う立場に立つと、こういうバカがいることも考えて、やり方を決めなきゃいけない。
0754デフォルトの名無しさん2015/03/03(火) 06:49:47.01ID:gtrHHVSl
「社内チーム開発」とやらががそんなにすごいなら利用できるかもと思って期待してたんだけど、
「おーしおまえら、帰宅前は作業中の状態でもいいからコミットしてリポジトリにプッシュしとけよ。
でもマージ依頼するときはちゃんとコミット整理してからな」
で終わる話だった。
0755デフォルトの名無しさん2015/03/03(火) 07:24:17.62ID:QODsipDB
>>751
それ、残さないとしたらどうやるの?
0756デフォルトの名無しさん2015/03/03(火) 08:05:07.45ID:t8TD3w31
WIPコミットでもブランチ切って触るなアピールしとけば履歴気にする必要もないし
0757デフォルトの名無しさん2015/03/03(火) 08:30:26.65ID:gtrHHVSl
>>755
公式ドキュメントのチュートリアルとrebaseのman(特に -i 関連)を10回くらい読んでから
>>710 からの流れを10回くらい読め
0758デフォルトの名無しさん2015/03/03(火) 08:47:18.20ID:QODsipDB
そういう話じゃなくて。
その関係あるかないかわかんないfixを全部ひとつのcommitにまとめちゃうの?
0759デフォルトの名無しさん2015/03/03(火) 09:00:37.58ID:5uN1b58U
タイポのコミット同士をまとめるんじゃなくて
タイポした元のコミットとまとめて、機能変更の履歴としては不要なタイポしたというログをなくす
0760デフォルトの名無しさん2015/03/03(火) 09:15:53.35ID:QODsipDB
その機能変更がまだローカルだったらそれでいいけど、bugやtypoって
たいがい後から見つかるものじゃない?
その場合は>>761のままでいいってこと?
0761デフォルトの名無しさん2015/03/03(火) 10:04:18.64ID:7ibvECcg
>>760
テストしてリリース(レビューも終わって共有しているブランチにマージ)して
しまったものは仕方ないよ。 その歴史は改ざんできない。

だけど、バグやタイポっていうのは確かに後から見つかるが、
ずっとあとではなく、より近い未来の方が見つかる。
修正した所にバグが発生するのだからね。

だからリリースよりも前に見つかる物の方がより多い。
その多い問題を直すことが出来るし、直した方がいいという話をしている。

ちなみに、
> その機能変更がまだローカルだったらそれでいいけど

共有と公開は違う。

1. ローカルは非公開
2. 公開は他の人が参照できるリモートリポジトリやブランチにプッシュすること
3. 共有とは、他の人も修正を加えるブランチにマージすること


ローカルでない = 共有 ではない。
共有する前に公開して、そこにレビューが行われてから、共有される。

情報共有みたいな言葉があるから勘違いするかもしれないけど
公開したからって直ちにそれが共有されるわけじゃない。
0762デフォルトの名無しさん2015/03/03(火) 10:09:33.13ID:7ibvECcg
ちなみに、masterは共有ブランチと誰もがはっきりわかるだろうが、
その他のブランチは共有されたものなのか、個人のものなのかわかりづらいだろう。
そこは名前つけルールなどで解決できるが、個人的には
「公開された個人専用のリモートリポジトリ」を用意することをおすすめする。

githubであるプロジェクトをフォークして、自分専用の
公開されたリポジトリを作るのと同じようなもの。

俺が社内用として勧めるgitlabでも標準的な機能として採用されている。

個人のリポジトリは、gitlabにおける個人のネームスペース以下に
作られるから、それが共有されたものなのか、
単に公開されたものなのかはっきりわかる。
0763デフォルトの名無しさん2015/03/03(火) 11:36:18.76ID:QsPjojm3
オープンソースと社内プロジェクトじゃ
履歴を利用する人も目的も違いから必要な粒度も違うっしょ
0764デフォルトの名無しさん2015/03/03(火) 11:44:51.25ID:7ibvECcg
>>763

それは>>727にまとめてあるから言わなくていいよw

ここまでの流れまとめ

馬鹿「社内の開発はオープンソースとは違う!」
みんな「それで?」

馬鹿「え?」
みんな「え?じゃなくて、何が違うの?」

馬鹿「オープンソースとは違う」
みんな「いや、違うのは分かったから、何が違うの?」

馬鹿「・・・」
みんな「違うは違うだろうけど、それがどうgitの使い方に影響を与えるの?」

馬鹿「・・・」
みんな「社内の開発は、オープンソースとは違うから、こうするべきだっていいたいんだよね?」
馬鹿「・・・」
みんな「なにか言おうよ?明確な理由があるんでしょ?」
馬鹿「り、履歴は全部残すべき」
みんな「だからさぁ。その理由を言えって」
馬鹿「社内はオープンソースとは違う。」
みんな「違うのは分かったから、どこがどういうふうに違って、だから履歴を残すべきって結論になるのさ?」
馬鹿「違うから、残すべき!」
みんな「だからその理由は?」
馬鹿「オープンソースを参考にしている時点でレベルが低い!」
みんな「だめだこいつ。話にならない。」
0765デフォルトの名無しさん2015/03/03(火) 14:26:24.69ID:e2dsJS3J
オープンソースでのソースは見せるためのものであり
履歴もその中に含まれるからだろ

社内開発はそうじゃない
1に生活ぶ、2に納期、34がなくて5に責任
0766デフォルトの名無しさん2015/03/03(火) 14:38:08.25ID:DHBCPxMI
それが履歴残すことで、解決できるのかよw
0767デフォルトの名無しさん2015/03/03(火) 14:44:36.11ID:gcsDknOw
>>766
お前日本語理解出来ないのな…
0768デフォルトの名無しさん2015/03/03(火) 14:45:40.16ID:DHBCPxMI
そうか? 誰か本人以外に理解できた人いる?
アレを理解できる人がいるのなら、説明して見せてよ。
本人以外がw
0769デフォルトの名無しさん2015/03/03(火) 14:46:43.94ID:DHBCPxMI
馬鹿「社内はオープンソースとは違う。」
みんな「違うのは分かったから、どこがどういうふうに違って、だから履歴を残すべきって結論になるのさ?」

馬鹿「社内開発は1に生活ぶ、2に納期、34がなくて5に責任 」
みんな「だから違うのは分かったから、どこがどういうふうに違って、だから履歴を残すべきって結論になるのさ?」
0770デフォルトの名無しさん2015/03/03(火) 14:51:58.03ID:5yCpJehD
履歴の潔癖さにかまけてる暇などないって事いいたいんじゃないの?
0771デフォルトの名無しさん2015/03/03(火) 14:52:22.13ID:DHBCPxMI
なんか勘違いしてそうだから念の為に言っておくけど、
gitはリリースされたものを改ざんすることは難しいよ。

なぜなら、リリースされたものの複製を
みんなが持っているから。
0772デフォルトの名無しさん2015/03/03(火) 14:57:06.05ID:DHBCPxMI
>>770
それをいうのなら、忙しすぎて他人が何やったか
誰もコードをレビューをしてないって言うべきじゃないの?

誰かにレビューを依頼する時、その依頼をされた人は
そのコードを見ないといけない。当たり前だけど。
その時大量の修正をいきなり渡しても、
その修正が妥当か判断することは出来ない。

書いた本人は、何をやったかわかっているのだから
書いた本人が、綺麗にしてからレビューを依頼するほうが効率的だよね?

コードを他人に見てもらおうと考えてないし、見ることを全く考慮しないコード
何を修正するにも、影響が範囲がわかりません、どこで問題が起きたのかわかりません
解析に時間がかかります。というのが忙しい原因の一つだろうね。
0773デフォルトの名無しさん2015/03/03(火) 15:00:06.53ID:BotLogjU
某傾いてる電気系メーカ(いっぱいありすぎるかw)のプロジェクトで
ソース出せって言っても出さない朝鮮人の下請けが居たよ
コミッターだったらしいけどまあ微妙で赤字になった

だからさっさとコミットしろって意味じゃねーの?
0774デフォルトの名無しさん2015/03/03(火) 15:02:09.72ID:gcsDknOw
>>766
>>765はオプソは履歴を残すが社内開発はそうじゃない(残さない)と書いてある

その是非は置いといて、それ以前にその日本語が理解出来てないって馬鹿にしてたんだが
それすら分からんのな…
0775デフォルトの名無しさん2015/03/03(火) 15:02:24.23ID:DHBCPxMI
>>773
それだと、ソース出したくないなら、コミットしないから意味無いでしょ?
内部でちゃんと保存していますといって終わり。

コミットしろという言葉が通用するなら、
プッシュしろっていう言葉も通用するわけで、
それは人の問題。
0776デフォルトの名無しさん2015/03/03(火) 15:03:11.55ID:DHBCPxMI
>>774
> その是非は置いといて、それ以前にその日本語が理解出来てないって馬鹿にしてたんだが

日本が理解できてないってどこの部分が?

あんたこそ日本語が理解できてないんじゃないの?w
0777デフォルトの名無しさん2015/03/03(火) 15:04:34.17ID:e2dsJS3J
後で変更できないからコミット自体をためらうという弊害はあるな
0778デフォルトの名無しさん2015/03/03(火) 15:04:40.40ID:DHBCPxMI
>>765の会社って、きっと何の資料も残してないよ。
議事録とかもなさそうだね。
社内開発の内容を残さない会社なのだから。
0779デフォルトの名無しさん2015/03/03(火) 15:08:27.57ID:JJuvbvrG
>>777
> 後で変更できないからコミット自体をためらうという弊害はあるな

そうそう。それがsubversionで実際に起きていた問題の一つなんだよ。

作りかけでもいいから、とりあえず提出しろ、もし問題があればすぐに指摘できるから。
問題があればそれを直せばいいだけ。完成してから出すんじゃない。
その時に問題がわかっても既に手遅れになっている。

これが最近俺が言っている事。
最低でも一日に一回は作りかけのものをプッシュするようにって
言っているよ。ミスはあとで変更すればいいだけだからね。
git使ってるならプッシュしない理由がない。

作業途中も見れるから、完成したときには問題のないコードになっていることもある。
0780デフォルトの名無しさん2015/03/03(火) 15:13:55.10ID:gcsDknOw
>>776
>>765
オプソは見せる為のもので履歴も含まれる

社内開発はそうじゃない(残さない、他に優先すべき事がある)

>>766
> それが履歴残すことで、解決できるのかよw

ぷっ
0781デフォルトの名無しさん2015/03/03(火) 15:16:59.83ID:JJuvbvrG
>>780
あー本当にわかってなかったのかw

>>765
オプソは見せる為のもので履歴も含まれる

社内開発はそうじゃない(残さない、他に優先すべき事がある)
(他に優先するべきもののために、履歴は全部そのままとっておくほうがいい)

>>766
> それが履歴残すことで、解決できるのかよw


こういう流れだよ?
最初から、履歴を整理する? or 履歴を全部残すか?
って話だっただろ。
0782デフォルトの名無しさん2015/03/03(火) 15:23:47.78ID:gcsDknOw
>>781
あっそ
結局全部残すのが前提で糞みたいな議論を延々続けてんのかよ
0783デフォルトの名無しさん2015/03/03(火) 15:36:50.84ID:JJuvbvrG
>>782
分かったならいちいち勘違いで噛み付くなよ。
せっかく履歴はあとで見やすいように整理するべきって
結論になってたんだから。
0784デフォルトの名無しさん2015/03/03(火) 16:39:18.61ID:MRrEf2ES
> オープンソースプロジェクトみろよ。

○○ちゃんはこうやってるから

> みんな「違うのは分かったから、

自分=みんな

これは…典型的な小学生だな
0785デフォルトの名無しさん2015/03/03(火) 16:42:57.93ID:MRrEf2ES
勝手に自分一人で結論づけといて、さも総意であるかのように言うところもか。
結局印象操作によるゴリ押ししかできないと。
0786デフォルトの名無しさん2015/03/03(火) 16:56:09.55ID:1CZ2jV0Y
まず双方どんなプロジェクトを想定しているのか
はっきりさせようか。
0787デフォルトの名無しさん2015/03/03(火) 18:02:00.73ID:MRrEf2ES
>>786
それ1つで、どんなプロジェクトにも対応できるという主張と、
プロジェクトごとに、それぞれ違う手法が最適という主張だから、
後者は想定がないんじゃ。
0788デフォルトの名無しさん2015/03/03(火) 18:13:41.29ID:4hsfxXF6
このスレのアスペどもはどうでもいい議論をいつまで続ける気なの
0789デフォルトの名無しさん2015/03/03(火) 18:52:03.07ID:rHlcBo7G
例えばgithubで複数人で開発していく時にさ
コミットをまとめるっていっても、すでにgithubにあがっているコミットまで間違えてまとめてしまうリスクもあるじゃん
そしたらそれを修正するためのコストがかかるんだよ
だからコミットを何でもかんでもまとめるべきではない
まとめるときはまとめるという行動を必要最低限にするべき
プッシュスルまでにこまめにまとめると自爆するんだよ
0790デフォルトの名無しさん2015/03/03(火) 19:23:00.20ID:S1+TduGP
github登録したけど何を上げたらいいのかわからない・・・
そこまででっかいもの作ってないし、何を上げていいのかサッパリだ
0791デフォルトの名無しさん2015/03/03(火) 19:34:01.44ID:rHlcBo7G
売名していくならgithub
誰にも見せたくないならbitbucket
0792デフォルトの名無しさん2015/03/03(火) 21:31:57.00ID:gtrHHVSl
>>789
> コミットをまとめるっていっても、すでにgithubにあがっているコミットまで間違えてまとめてしまうリスクもあるじゃん

コマンドの使い方が適切ならそんな間違いは大抵防げると思うけど。
例えばどんなシチュエーション?
0793デフォルトの名無しさん2015/03/03(火) 21:37:30.08ID:/6Kzu3OZ
git rebase -i HEAD~n
nの打ち間違えとか
0794デフォルトの名無しさん2015/03/03(火) 21:38:09.51ID:QODsipDB
>>761
うーん、わかったようなわからんような。
要はレビュー等でリリース前にバグを潰せればfixの履歴を残す必要がない、と。
それはそれでいいけど、gitの運用ポリシーとかそういうのとは関係ない話のような。
0795デフォルトの名無しさん2015/03/03(火) 21:58:50.48ID:Lc+IT+xe
共有リポジトリを上書きしようとしても蹴られるだけだから間違えて困るのは自分だけ
0796デフォルトの名無しさん2015/03/03(火) 22:04:50.52ID:gtrHHVSl
>>793
nが小さい分には無害だから大きく指定してしまうってことだよな?
それをよくやってしまうようなら git log --oneline で出てくるハッシュをもとに指定するようにするだけで、かなり防げそうだ。

例えば master から分岐してるトピックだとして git log --online master で
cccccc Yet another good change
bbbbbb Add another good change
aaaaaa Add my good change
と表示されるなら
git rebase -i aaaaaa^
とするように習慣づけるとか。

master が分岐後進んでないならシンプルに
git rebase -i master
でもいけるので、トピックいじってるときは master を pull しないようにしとく、とかでも良いかもしれん。
上流のmasterを見るだけなら origin/master を見ればいいわけだし。
0797デフォルトの名無しさん2015/03/03(火) 22:16:09.02ID:gtrHHVSl
git rebase -i `git merge-base master HEAD` でもいいかもしれん。
0798デフォルトの名無しさん2015/03/03(火) 23:59:48.29ID:EHrBe6ew
>>782-783
自分一人でやってるなら、自分が好きなように履歴をまとめていいと思う。

ただし技術レベルが低い他の人が入ってくると、
・typoとかう○こしに行ったとか、どうでもいいコミットをリモートリポジトリに入れまくって場を荒らす
・まとめちゃいけない履歴をまとめてしまって、とんでもない状態になる

という、2つのリスクが生じる。
それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう
Git運用ルールができたとしても、短絡的ではあるが分からなくはない
0799デフォルトの名無しさん2015/03/04(水) 00:49:25.14ID:g/89t28n
>>792
> コミットをまとめるっていっても、すでにgithubにあがっているコミットまで間違えてまとめてしまうリスクもあるじゃん

ありえないなw

自由にまとめられるのはローカルにあるもの、もしくは
自分専用リポジトリにあるものだけ。

ローカルにあるmasterの過去の履歴を変えてpushしたら他人に影響出るけど
過去の履歴を変えているならば、いつもどおりにpushはできずにエラーになる。
push --forceしなければ変えられない。

その上、みんなが共有しているものはgit push出来ないようにしている。
(gitlabならウェブ管理画面から設定するだけ。githubはしらないがpre-commitに仕込めば良さそうだ)

つまり共有しているものに対しては、pushは許されずに、マージのみ可能にしているから
すでにgithubに上がっているコミットを間違えて修正することはない。
0800デフォルトの名無しさん2015/03/04(水) 00:53:09.34ID:OQ0tAhEv
いい加減やめろマジで
0801デフォルトの名無しさん2015/03/04(水) 00:54:43.94ID:OQ0tAhEv
ん?長文だけど違う人か
サーセン
0802デフォルトの名無しさん2015/03/04(水) 00:57:59.30ID:g/89t28n
>>798
> ただし技術レベルが低い他の人が入ってくると、
> ・typoとかう○こしに行ったとか、どうでもいいコミットをリモートリポジトリに入れまくって場を荒らす
> ・まとめちゃいけない履歴をまとめてしまって、とんでもない状態になる
そういうのはsubversionでも同じでしょ?

そういうのを防ぐために、githubやgitlabといったものがあるんだよ。

さっきも書いたように、masterや特定の共有ブランチには誰もpush --forceできない。
そして技術レベルが低い人には、masterへのマージ権限もなくしてしまう。

そうすると履歴を荒らすなんてことは不可能になる。
もちろんローカルは自由になんでもできるが、
それを共有するためには、正しい履歴で技術レベルが低い人は
レビューを通さないとマージされない。

運用ルールを決めるのではなく、まずツールを導入して正しく理解して使うことが重要。

よく日本はパッケージを買って、そのパッケージに業務を合わせようとするのではなく
パッケージのほうを業務にあわせてカスタマイズしようとするから、無駄が多いって言われるね。
0803デフォルトの名無しさん2015/03/04(水) 01:07:38.89ID:g/89t28n
>>798

> それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう
> Git運用ルールができたとしても、短絡的ではあるが分からなくはない

そういうルールができたら、
「機能がひと通り完成して全体が出来るまでプッシュしない」
ってなってしまうと思うけど?

マージする段階では綺麗になっていないといけないが、
それよりか前の段階では、自由にrebaseしていいならば、
小さくコミットしていけるわけだが。

ま、git使ってるならばローカルで何やっても自由で他人にはわからないんだがねw

共有 と 共有していない 状態で、ルールが違うってことを認識しないとね。
0804デフォルトの名無しさん2015/03/04(水) 07:56:20.04ID:UWB+qgaN
gitみんな好きになる
0805デフォルトの名無しさん2015/03/04(水) 09:24:37.42ID:bZIB5PLE
>>802
あなたが言ってるのはツールの使い方であり、他人の使い方ではない

同じ年次の、Aさんに権限を与えてBさんに権限を与えない、とかを安易にやると、
チームがこじれることって多い

日本はパッケージのほうを業務にあわせてカスタマイズしようとする・・・としたら、
それはおそらく文化的な側面によるものだろう
0806デフォルトの名無しさん2015/03/04(水) 12:41:41.68ID:Rd+EJUJR
ログを整理したいならコミット台帳を別個に作ってそこで清書しろ
履歴を改ざんリスクに晒す必要などない
権限ユーザがいないと共有リポジトリの更新が止まるならより悪化してるじゃないか
0807デフォルトの名無しさん2015/03/04(水) 12:45:58.77ID:EBrrhcuH
履歴の書き換えぐらいで何のリスクになるん?
大げさに言い過ぎじゃね?
0808デフォルトの名無しさん2015/03/04(水) 13:45:30.69ID:r+Qv6+bp
もはやVCS一般のどうでもいい話をする糞スレに成り下がったな
0809デフォルトの名無しさん2015/03/04(水) 13:58:04.42ID:aiebJTF+
自分の意見のゴリ押しばかりでソース管理以上にチームの意思あわせ大変そうだな
0810デフォルトの名無しさん2015/03/04(水) 15:08:40.97ID:eBFKbFS9
てs
0811デフォルトの名無しさん2015/03/04(水) 15:21:59.38ID:b8zh+3o7
.gitconfigに
[alias]
a=add .
ac=!git a&&git commit
って書いてあったんですが、エイリアスの中からエイリアスを書いたら不具合でませんか?
あと!ってなんですか?
0812デフォルトの名無しさん2015/03/04(水) 21:03:17.57ID:g/89t28n
>>805
> 同じ年次の、Aさんに権限を与えてBさんに権限を与えない、とかを安易にやると、
> チームがこじれることって多い

意味がわからん(苦笑)

じゃあ両方に権限与えればいいんじゃね?

この際だからさ、git以外も含めて全部権限与えろよ?
それで混乱したって、チームがこじれるよりマシだだから
お前はそれを選択するんだろう?

git関係ないじゃん。
0813デフォルトの名無しさん2015/03/04(水) 21:05:07.53ID:g/89t28n
>>807
> 履歴の書き換えぐらいで何のリスクになるん?
> 大げさに言い過ぎじゃね?

全くその通り。

共有されてない所でやるのだから、
単に最初から間違えなかった形にしてから
提出するだけの話。

なんのリスクなのかさっぱりわからんよね。
0814デフォルトの名無しさん2015/03/04(水) 21:32:20.16ID:1PNNe6DT
間違いは直せばいい。
共有するコードに要求される品質レベルはプロジェクト次第なんだから
ルールだって違って当たり前。
0815デフォルトの名無しさん2015/03/04(水) 21:42:45.98ID:zH//+mv4
>>812
>じゃあ両方に権限与えればいいんじゃね?
>この際だからさ、git以外も含めて全部権限与えろよ?
>それで混乱したって、チームがこじれるよりマシだだから
>お前はそれを選択するんだろう?

いや、自分ならこっちを取るな
 『それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう
 Git運用ルールができたとしても、短絡的ではあるが分からなくはない』


>git関係ないじゃん。

「rebase禁止」も「rebaseオッケー」も、Gitの機能とは関係ない、Gitの運用ルールの話だよ
0816デフォルトの名無しさん2015/03/04(水) 21:46:27.28ID:g/89t28n
>>815
>  『それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう

え? なんの関係があるの? 権限の話でしょ?

そのコードをマージするのは誰?
メインブランチにマージするのは誰?
マージするのは入社何年目の人?

入社何年目かの同じ年次の人は
全員、同じ権限を与えるっていうのが
あんたのやり方なんでしょ?

ならどんなにダメな人でも、マージする権限持ってるわけだよね。

手をつないでみんなでゴールしましょう的な
ゆとりの発想。
0817デフォルトの名無しさん2015/03/04(水) 21:46:37.95ID:zH//+mv4
>>814
>共有するコードに要求される品質レベルはプロジェクト次第なんだから
>ルールだって違って当たり前。

自分もそう思う
違う点があるとすれば、自分は「Gitの運用ルールを決めるのは、要求される品質レベルじゃなく、
プロジェクトに集まった人の技術レベルじゃないか」と思ってるところだ
0818デフォルトの名無しさん2015/03/04(水) 21:49:02.70ID:g/89t28n
つまりは馬鹿向けのやり方ってことかw

正しいやり方っと言うのはある。
それは当然高い技術を持った人のやり方。


そして技術が低いものがやる
初心者向けのやり方。
それは、正しいやり方よりも劣っているが仕方ない。
初心者なのだから。
0819デフォルトの名無しさん2015/03/04(水) 21:49:34.02ID:zH//+mv4
>>816
>ならどんなにダメな人でも、マージする権限持ってるわけだよね。

いや、自分なら逆の方向をとる。

どんな良い人でも○○の職階を持っていない人、または自分以外は
マージする権限を与えない、って方に倒す。
0820デフォルトの名無しさん2015/03/04(水) 21:50:47.84ID:g/89t28n
> どんな良い人でも○○の職階を持っていない人、または自分以外は
> マージする権限を与えない、って方に倒す。

同じ年次の、Aさんに権限を与えてBさんに権限を与えない、とかを安易にやると、
チームがこじれることって多い

↑これお前が言った言葉。

年次が同じなら同じ権限を与えるんでしょう(笑)
0821デフォルトの名無しさん2015/03/04(水) 21:52:03.71ID:zH//+mv4
>>818
>つまりは馬鹿向けのやり方ってことかw

その通り。
例えプロジェクトリーダーでも、プロジェクトに集まったバカをクビにする権限は持たないしね。

だから、まさにこの言葉の通りだ
 『それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう
 Git運用ルールができたとしても、短絡的ではあるが分からなくはない』
0822デフォルトの名無しさん2015/03/04(水) 21:52:57.09ID:zH//+mv4
>>820
>年次が同じなら同じ権限を与えるんでしょう(笑)

そう。
だから、両方に権限を与えない方に倒す。
0823デフォルトの名無しさん2015/03/04(水) 21:53:13.82ID:g/89t28n
>>821
それじゃ意味がわかりにくいから
ちゃんと正確に言おうよ。

※↓正しいやり方が出来ない人のための馬鹿向けのやり方です
 『それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう
 Git運用ルールができたとしても、短絡的ではあるが分からなくはない』
※↑正しいやり方が出来ない人のための馬鹿向けのやり方です
0824デフォルトの名無しさん2015/03/04(水) 21:53:46.10ID:g/89t28n
>>822

じゃあ誰もマージする権限を持てないってことになるなw
0825デフォルトの名無しさん2015/03/04(水) 21:54:51.08ID:zH//+mv4
>>823
元の文章より長くなっただけで分かりにくい。
0826デフォルトの名無しさん2015/03/04(水) 21:55:20.81ID:zH//+mv4
>>824
そう。自分以外は。
0827デフォルトの名無しさん2015/03/04(水) 21:55:35.90ID:g/89t28n
>>825
正しいやり方、普通の人のやり方ではないということが
一番重要な点だから、これは省略してはいけない。

※↓正しいやり方が出来ない人のための馬鹿向けのやり方です

 『それに対して、「1コミットで意味を成すようにしろ、typoも許さん」「rebaseは絶対にするな」っていう
 Git運用ルールができたとしても、短絡的ではあるが分からなくはない』

※↑正しいやり方が出来ない人のための馬鹿向けのやり方です
0828デフォルトの名無しさん2015/03/04(水) 21:56:26.55ID:g/89t28n
>>826
勝手にルールかえんなよw

お前と同じ年次であれば全員同じ権限だ。

お前が言ったことだろドアホw

まさにゆとりの発想w
同じ年なら、権限も一緒♪
0829デフォルトの名無しさん2015/03/04(水) 21:58:45.40ID:aiebJTF+
連日チャットみたいな勢いだなー
0830デフォルトの名無しさん2015/03/04(水) 21:59:03.84ID:zH//+mv4
>>827
もとの文章の>>798の方が分かりやすい。
08318112015/03/04(水) 22:00:25.21ID:YgBYjps4
だれか〜
0832デフォルトの名無しさん2015/03/04(水) 22:00:54.46ID:zH//+mv4
>>828
そこは>>828に書いてある通りだ

>どんな良い人でも○○の職階を持っていない人、または自分以外は
>マージする権限を与えない、って方に倒す。

自分だけはプロジェクトリーダーだから特別なんだ。
0833デフォルトの名無しさん2015/03/04(水) 22:01:46.44ID:zH//+mv4
ごめん、>>821でした。
0834デフォルトの名無しさん2015/03/04(水) 22:02:25.17ID:zH//+mv4
ごめん、>>819だ。
0835デフォルトの名無しさん2015/03/05(木) 06:14:47.33ID:gzqC2V5Z
>>832
> 自分だけはプロジェクトリーダーだから特別なんだ。

関係ないよ。
同じ年次であれば、同じ権限を持たせないと
チームがこじれる。

俺だけは特別だって言ってるならなおさら。
0836デフォルトの名無しさん2015/03/05(木) 06:15:56.70ID:gzqC2V5Z
むしろ同じ年次であれば、一人がプロジェクトリーダーなら
他の人もプロジェクトリーダーにするべきだな。
0837デフォルトの名無しさん2015/03/05(木) 16:38:24.90ID:7kn/eyTE
なあgit使いってバカばっかりだろ
このスレ見て分かるように
年中揉めてるよな君ら
なんか構造的な欠陥があんじゃねえの
0838デフォルトの名無しさん2015/03/05(木) 16:52:43.04ID:wT1PXWMM
自演にしか見えない
0839デフォルトの名無しさん2015/03/05(木) 17:58:44.68ID:yLaAbW6D
バカでも手出しちゃうくらい普及しちゃったってことでひとつ
0840デフォルトの名無しさん2015/03/05(木) 18:27:01.72ID:wT1PXWMM
なるほど
一理ある
0841デフォルトの名無しさん2015/03/05(木) 22:04:15.46ID:2/2fvpIn
>>839
納得
0842デフォルトの名無しさん2015/03/05(木) 22:11:46.42ID:gzqC2V5Z
馬鹿が使うのはいいんだが、馬鹿が管理者もどきみたいなものになって
gitをぶち壊すような使い方を押し付けるのだけはやめてほしいね。
0843デフォルトの名無しさん2015/03/05(木) 23:48:41.01ID:BXUnQ96Q
別に馬鹿が管理者でも、運用しながら意見出してきゃいーやん。gitという仕組みに収まるようになってんだから。
0844デフォルトの名無しさん2015/03/06(金) 01:13:51.86ID:dcg9agNJ
馬鹿を侮ってはイクない
馬鹿を舐めてはイクない
馬鹿を相手にしてはイクない
0845デフォルトの名無しさん2015/03/06(金) 10:42:00.29ID:IZ+FNf9n
物を知らない馬鹿なweb屋が吠えてるなあ
0846デフォルトの名無しさん2015/03/06(金) 19:38:38.75ID:96rr2Nz5
>>842
gitをぶち壊すような運用にはならないと思う
gitのコンセプトが活きない運用には、なるかもしれないけど
0847デフォルトの名無しさん2015/03/06(金) 19:49:32.53ID:96rr2Nz5
>>837
git使ってるやつらがgitなんだから、しゃーない
だけど、開発者が自虐でgit(バカ)って付けたつもりが、
ユーザは本当にバカの集まりだったんだから、開発者も愕然としたろうな
0848デフォルトの名無しさん2015/03/07(土) 01:18:14.91ID:xwMIcR01
>>846
まあ確かに。個人のPCの中まで覗いてあれこれ言う訳もないのだから
rebaseし放題ではあるなw

レビューによる細かい修正が入ったら、別のブランチに変更すればOKだろう。
(見える所で)rebaseはしてない。ただ綺麗にしたブランチに仕切り直ししただけ。
意味をわかってないのにルールを作ろうとする人には、この程度の技で乗りきれるだろうw
0849デフォルトの名無しさん 転載ダメ©2ch.net2015/03/08(日) 13:23:19.05ID:D6u4eQdv
2.3.2
0850デフォルトの名無しさん2015/03/08(日) 16:36:03.50ID:Zck1rhOd
複数人で開発するなら
add
commit
merge
rebase
status
log
branch
reflog
checkout
これしか使いませんよね、他にもありますか?
これ以上何か覚えるのは無駄な気がします
0851デフォルトの名無しさん2015/03/08(日) 16:36:58.19ID:Zck1rhOd
cloneとpushとfetchとpullも追加します
initは一回しか使わないので除外しました
0852デフォルトの名無しさん2015/03/08(日) 16:39:06.22ID:VvSj/2Rg
>>850
remoteがなければ、他人のブランチ追加できないし、
bisectがなければ、バグの箇所の二分探索ができないだろ。

よく使うものをリストを作成してあげた
しかもコメント付きだぞ。
これを覚えれば良い。

The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty Git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
show Show various types of objects
status Show the working tree status
tag Create, list, delete or verify a tag object signed with GPG
0853デフォルトの名無しさん2015/03/08(日) 17:17:38.08ID:Zck1rhOd
remoteってcloneした時点で設定されてるので入りますかね?
0854デフォルトの名無しさん2015/03/08(日) 17:23:00.48ID:YHgFNUWD
git helpだけ覚えればあとは何も覚える必要はない
0855デフォルトの名無しさん2015/03/08(日) 18:59:26.56ID:Q2y8dnyF
開発ブランチでコミットを何回かしてmasterにチェックアウトしてプッシュ、そしてまた開発ブランチにチェックアウトしてコミットして・・・の繰り返しでリポジトリって壊れますか?

なんか壊れてしまって、最後にコミットした内容がなくなってるんですがどうやって復活できますか?
reflogで最後にコミットしたのにチェックアウトしても内容が空でした
0856デフォルトの名無しさん2015/03/08(日) 19:08:09.67ID:Q2y8dnyF
git のバージョンは2.3.0です
0857デフォルトの名無しさん2015/03/08(日) 19:53:36.90ID:YHgFNUWD
reflogでコミットって何?
壊れたってのはローカルリポジトリ?
かなりの確率で「壊れた」じゃなくて「壊した」だと思うけど

reflogに頼らざるを得ない状況で
最後の1コミットを試行錯誤で復元するくらいなら
書き直した方が早いんじゃね
0858デフォルトの名無しさん2015/03/08(日) 20:17:53.01ID:YHgFNUWD
ああ接続助詞「のに」じゃなくて最後にコミットした「状態」にってことか

結論は変わらないが

コミット時にaddし忘れてたとか間違ってaddしたとか
IDEが同期できてないとかいうオチじゃないの

diffはなんて言ってるの?
0859デフォルトの名無しさん2015/03/08(日) 23:30:13.34ID:i6ndjJIT
気持ちの悪い擬人法だなぁ
0860デフォルトの名無しさん2015/03/09(月) 01:52:44.65ID:vDboz7xO
0861デフォルトの名無しさん2015/03/09(月) 02:01:10.71ID:qBHtyy+C
sourcetreeで今実行したgitコマンドを確認する方法を教えて
0862デフォルトの名無しさん2015/03/09(月) 08:36:43.74ID:tTQKX5CU
>>860
858の最後の、「コマンドが喋った!」的なところだろう
0863デフォルトの名無しさん2015/03/09(月) 09:11:49.55ID:vDboz7xO
git pushはユーザがpushしているという解釈ができなくもないが
git showはどう考えてもgitにshowさせている

そういう文化で気持ち悪がられても強くなれ!としか
0864デフォルトの名無しさん2015/03/09(月) 09:29:41.11ID:tTQKX5CU
>>863
こちらは、diffたんは何て言ってるの?ってことを指したつもりだ

>そういう文化で気持ち悪がられても強くなれ!としか
ちなみに、この返しも相当気持ち悪い
0865デフォルトの名無しさん2015/03/09(月) 12:37:48.79ID:GhZk1PLG
>>863
> git showはどう考えてもgitにshowさせている
無意識だろうけど、擬人法になってる
コンピューターをこういう理解の仕方してる事が気持ち悪い
0866デフォルトの名無しさん2015/03/09(月) 14:57:09.19ID:dbEYjzPy
コマンドという言葉も命令という擬人化が気持ち悪い?
08675602015/03/09(月) 15:46:15.83ID:R+XoG9o+
>>865
良し悪しは別にして、OOP の説明とかでよく見ると思うが
0868デフォルトの名無しさん2015/03/09(月) 16:55:11.05ID:c72WnppV
単なる使役動詞だろ。
0869デフォルトの名無しさん2015/03/09(月) 18:42:02.52ID:gk6yvFxP
今日プッシュしたコミット一覧を調べる方法ない?
0870デフォルトの名無しさん2015/03/09(月) 18:45:15.14ID:gk6yvFxP
開発ブランチをマージしたらいったんその開発ブランチを削除して作りなおしたほうがいい?
08718522015/03/10(火) 00:40:13.55ID:cMNbMZ7x
これだけじゃ足りないな。

revertがない、stashがない
0872デフォルトの名無しさん2015/03/10(火) 01:08:52.11ID:gHEPbU2O
>>863自体の気持ち悪さが半端ない
0873デフォルトの名無しさん2015/03/10(火) 02:58:23.06ID:8d1ozIG0
開発・テスト用リポジトリ・・・DBパスワード等はテスト鯖用あるいはダミー

運用リポジトリ・・・開発・テスト用リポジトリから最新のバージョンをフェッチしマージして使う、DBパスワード等は当然実際のもの

こんな感じでおk?
0874デフォルトの名無しさん2015/03/10(火) 03:19:48.67ID:cA+NWIlx
> DBパスワード等は当然実際のもの
そういう運用がありえないとは言わんが
少なくとも当然ではないだろう
0875デフォルトの名無しさん2015/03/10(火) 03:25:07.57ID:++yEJXLu
この人たちいったいどこから流れてきてるんだろう
0876デフォルトの名無しさん2015/03/10(火) 11:44:38.42ID:yUlh75KQ
sourcetreeで今実行したコマンドを確認する方法教えて
0877デフォルトの名無しさん2015/03/10(火) 15:03:46.74ID:cVDS0tan
linuxで定番のGUIってなんですか?
0878デフォルトの名無しさん2015/03/10(火) 18:47:46.87ID:AWzDSsUv
XWindowSystem
0879デフォルトの名無しさん2015/03/10(火) 20:16:07.93ID:cMNbMZ7x
>>873
一般的にはデータベースのパスワードはリポジトリに入れない。
リポジトリに入れない設定ファイルとして分離しする。
そのリポジトリをオープンにしたら?って考えればわかるでしょ?

パスワード関連の設定はアプリのデプロイに関連する話
そういうデプロイのシステムがなければ、
単にサーバーに設定ファイルを置く。

あと開発・テスト・運用リポジトリなんて分け方はしないしブランチにもしない。
すべて同一のリポジトリの同一のブランチを使う。
でないとそれぞれが本当に同じものなのか分からないし、
同期をとる作業が面倒になる。
0880デフォルトの名無しさん2015/03/10(火) 20:33:04.05ID:AWzDSsUv
ブランチを切るんじゃなくてタグを振れってことであってる?
0881デフォルトの名無しさん2015/03/10(火) 20:56:42.81ID:cMNbMZ7x
>>880
誰にいってんの?

このタイミングだと俺に言ってるように見えるから言っておくけど、
リポジトリのどこにもパスワードは入れない。

タグはバージョンと考えればいい。
1.0、1.1、2.0bata1、2.0rc1 こういったものがタグ名の候補
0882sage2015/03/11(水) 11:52:10.48ID:MzuOpnCI
git勉強中の身ですが、僕の理解を確認させてください

結論から言えば、 >>654 のやりかたがいいとおもいました。

自分だけ(あるいは十分に小さなチーム内)で閉じている時なら、rebaseにより歴史を改竄して「分かりやすい歴史」「重要な部分のみを含む歴史」にする。

一旦、統合ブランチ(通常は開発ブランチ/場合によってはmasterブランチが統合ブランチになる)などにマージして、他の人と共有したら、もうrebaseによる歴史の改竄はしない、バグやtypo修正もそのまま正直に表す。

これが上手くいくのは、自分だけで開発している段階が、一番小さく重要でない修正が多いから。

こういう理解でいいでしょうか?
0883デフォルトの名無しさん2015/03/11(水) 12:45:23.30ID:s6Q6JS6J
rebaseなんていらねえんだよ
rubyのまつもと先生のリポジトリだってrebaseされずmergeログ残しまくってるな
天才がそうしてるんだからrebase厨が間違ってる
0884sage2015/03/11(水) 13:06:09.72ID:MzuOpnCI
>>883
いらない人がいるのはわかっています。
だからといって要る人からrebaseを奪うのはどうなのでしょう?

・ローカルのfeatureブランチの小さなfixやtypo修正のコミットが統合ブランチに残って邪魔
・bisectがうまくいかない

という話には、どう反論されますか?
0885sage2015/03/11(水) 13:10:52.39ID:MzuOpnCI
>>879

A successful Git branching model では、安定(運用)ブランチと、開発ブランチと、
機能の実装とテストのブランチを分けているように思います。

リポジトリを分けるという話はまだ聞いたことがないけど。
0886sage2015/03/11(水) 13:19:52.06ID:MzuOpnCI
>>883

質問なのですが、まつもと先生がマージ前にrebaseしていないということは、どのようにして分かるのですか?

初心者の僕の疑問なのですが、
ローカルリポジトリにあるローカルブランチでrebaseをして歴史を改竄後、ローカルブランチをpushしたら、改竄後のcommitとブランチ「のみ」がリモートに残り、みんなに公開されると思います。

だから、rubyのリモートリポジトリを見ただけで、matzのローカルリポジトリを見ないと、rebaseを使ってないとは断言できないように思いました。

僕の理解は間違っていますか?
教えて偉い人、教えてエロい人

もし >>883 さんがまつもと先生のローカルリポジトリを見たのならごめんなさい。
0887デフォルトの名無しさん2015/03/11(水) 13:22:00.61ID:s6Q6JS6J
>>886
質問する前にgithubでリポジトリ覗いてこいや
0888デフォルトの名無しさん2015/03/11(水) 13:26:04.71ID:1lChT+Cl
>>881
曖昧に書いてしまってすまんね
パスワード入れないってのはもちろんわかるのでOK
>>880の最後の段落で言っている、「開発・テスト・運用リポジトリなんて分け方はしないしブランチにもしない」ってとこへの質問
自分的には開発ブランチと運用ブランチは分けて適宜マージするから
そうしないとするならブランチは1本で運用中のバージョンはタグ振ってそれに固定してるのかなあと思ったことからの質問でした
0889デフォルトの名無しさん2015/03/11(水) 15:11:20.41ID:lItiyTLi
こないだの吉の自演っぽく見えるなあ
ID:MzuOpnCI からしてオープンて
0890sage2015/03/11(水) 15:16:01.21ID:MzuOpnCI
>>887

覗きました。
具体的には mruby のリポジトリをクローンして git log --graph しました。(ブランチはmasterブランチしかありません)
rubyのリポジトリも git log --graph で樹形図を見ました。

しかしrebaseに関して情報が見えません。

rebase前とrebase後を比べれば、commit IDや親のIDが変わっているはずだ、というのは分かります。
しかし見ているのはrebase後のものなので、前とIDを比較することもできず困っています。

ここからどうすれば分かるのですか?
08918822015/03/11(水) 15:21:43.53ID:MzuOpnCI
>>889
何を自演しているということですか?
僕が質問と回答の両方をしているという意味ですか?

僕は今日ひさしぶりに書き込んで、このIDだけしか書いてないです。
自演ではありません。
08928822015/03/11(水) 15:34:59.45ID:MzuOpnCI
rubyのほうは履歴が一直線ですね。
これってrebaseとかは関係なく、svnと連携しているからですかね?

mrubyのほうは履歴がごちゃごちゃしています。
多いところでは5本くらいブランチが並行して走ってます。

ただ、これを見ても、ローカルでrebaseしてないとは僕には分からないのですが、
rebaseしていないということは、どのように分かりますか?
0893デフォルトの名無しさん2015/03/11(水) 15:50:28.72ID:Mn0szBmX
>>890
おまえが無駄な情報はrebaseして残すなっていってるがその無駄な情報がログに残ってんだろ
rebase使ってるか使ってないか判断できるだろ
0894デフォルトの名無しさん2015/03/11(水) 16:25:30.59ID:tSCLM+GC
そういう細かい情報はむしろ残すべきじゃない?
全体的なログは要所要所でエクセルに記載すればよい。
08958822015/03/11(水) 16:26:25.54ID:MzuOpnCI
>>893

rebaseすれば、ログには残らない
対偶をとって、
ログに残っているのだから、rebaseしていない。
と、このような推論をされたのでしょうか?

そうでしたら、その推論は論理的に間違っています。
なぜなら、変更は1つではなく、たくさんあるからです。
命題論理ではなく、述語論理を使わなくてはなりません。

(1) 全ての無駄な変更をrebaseすれば、その変更はログには残らない。
よって
(2) 無駄な変更がログに残っているのだから、全ての無駄な変更をrebaseした、とは言えない。
と、このような推論が正しいです。

(1)から、
(3) 無駄な変更がログに残っているのだから、matzはrebaseしない
を推論しているとすれば、その推論は論理的に間違っています。


形式的に言うと、
∃¬rebase(x) … rebaseしていない変更が存在する
から論理的に正しく推論されるのは、
¬∀rebase(x) … すべての無駄な変更をrebaseしている、とは言えない
であり、
∀¬rebase(x) … (matzは) 常にrebaseしない

¬∃rebase(x) … (matzが) rebaseすることはない
は推論できない、ということだと思います。
¬と∀や∃の位置が異なることが分かると思います。
08968822015/03/11(水) 16:27:42.36ID:MzuOpnCI
matzがrebaseについてどんな考え方を持っているかはわかりませんでしたが、
>>893 さんのおかげで ruby / mruby のリポジトリを見ました。
ありがとうございます。
08978822015/03/11(水) 16:41:23.48ID:MzuOpnCI
>>894

共有リポジトリに残すべきでない、つまらない情報というのは

LookupDNS() という関数を作った

f() g() h() から LookupDNS() を使うように修正
↓ ←見直してたら LookupDns() でなければならないことに気づいたので
LookupDns() に修正してコミット

こういう履歴を、rebase を使えば

LookupDns() という関数を作った

f() g() h() から LookupDns()を使うように修正

というようなシンプルな履歴になおせるということだと思います。

他にも、コード修正してたら意味もなくスペースを変なところに追加してしまった、スペースはなかったことにしたい、だとかいうのも、あとで改竄できますね。

このような細かすぎて害(コスト)の方が大きい履歴の場合、rebaseを使ってはどうですか? というのが、rebase容認派の意見だと思います。
エクセルなどで文書化するのもひとつの方法ですが、それはそれで、コードとドキュメントの整合性を常に確認しなくてはならない、という新たなコストが発生してしまうので、silver bullet ではないと思います。
0898デフォルトの名無しさん2015/03/11(水) 17:08:53.02ID:ymVn+M/U
>>884
bisect がうまくいかないってどういうこと?
bisect したい時ってクソみたいなコミット残した方が良くない?
08998822015/03/11(水) 20:21:08.91ID:MzuOpnCI
>>898

あくまで勉強中の僕の理解ですが

- rebaseをして歴史をほぼ一直線にしておくと、bisectで原因となるcommitを狭い範囲に絞れる。
- 一方、普通のmergeでは、bisectで見つかるのはマージコミットで、具体的に原因となるコミットを探すためには、更にbisectをかける必要があり、コストが増える。

これがbisectとmergeに伴うコストです.

後者は、CIなどで コミット→テスト→赤が増える→自動でbisect というふうに自動化している場合、
bisectが一発で原因特定してくれないと、人間が手動でbisectをかけなおさないといけないのがけっこう面倒(しかも毎回利子が付く技術的負債)なのではないか、と予想しています。


おっしゃってる「クソみたいなコミット」はどのようなものでしょうか?
ローカルで名前を変更した直後にまた変更するようなら、前の変更は他の人に共有する必要がない「クソみたいなコミット」だと思います。
一方、それが本質的な変更なら、rebaseしてもそのコミットを消さずに、そのままpushしなくてはなりませんね。

bisectで絞り込むには、ある程度粒度が細かい方が良いでしょうね。
rebaseするにしても、rebaseの際にどの程度のコミットを消し、どのコミットを残し、どのコミットをまとめるか、というのは、プロジェクトによって最適解が違うような気がしてます。
0900デフォルトの名無しさん2015/03/11(水) 20:42:38.49ID:fyi4MFv2
--no-ffもダメで本当に一本道にした方がいいという主張なのか。
0901デフォルトの名無しさん2015/03/11(水) 20:53:33.97ID:jTFm1PKF
マージコミットだけチェックしとけばブランチの中まで探さなくていいだろ
09028822015/03/11(水) 21:22:30.41ID:MzuOpnCI
>>900
そうではないですよ。
すくなくとも僕はそんな二項対立でとらえていません。
いろいろな手法にメリットとデメリットが存在する、という見方です。

実際、小さなチームで机を付き合わせてる場合なんか、いったん共有したものすら、口頭で確認の上、rebaseして良い場合もあるでしょう。
一方、rebaseを前面的に禁止にしないと弊害が大きいような寄せ集めチームも日本のどこかにはあるでしょう。
一言でいえば、ケースバイケースなんだと思います。

bisectを自動化する上では、--no-ffもやめて完全に一本道にすることに、メリットもあるよね、というだけです。
メリットがデメリットよりも大きいかは、ケースバイケースだと思います。
マージコミットの粒度が小さければ、--no-ffなマージでも十分にしぼりこめたと言えますから、そのメリットは小さくなるはずです。
マージコミットの粒度が大きいような手法なら、ffだけで一本道にすることのメリットは大きくなるとおもいます。

>>901
なぜそのように言えますか?
マージコミットの粒度が大きい場合、そのように言えないと思います。
0903デフォルトの名無しさん2015/03/11(水) 21:52:00.26ID:8pzVHB9L
使いながら自分のルール決めてきゃいいじゃねーか。
git厨ってまじで馬鹿しかいないの?
09048822015/03/11(水) 22:07:01.71ID:MzuOpnCI
>>903
僕も含め、みんなそうしていると思いますよ
その中で並行して議論したり情報交換をしたりしているのだと思います
0905デフォルトの名無しさん2015/03/11(水) 22:08:58.30ID:tSCLM+GC
sourcetreeってみんな使ってる?
0906デフォルトの名無しさん2015/03/11(水) 22:11:05.63ID:aOAwaNrR
ビッ区カメラ札幌店の

副店長の佐藤伸弦が暴行事件を起こしていた
09078822015/03/11(水) 22:13:43.61ID:MzuOpnCI
>>905
MacでSourceTree使って開発/gitの勉強してます
(ときどきCUI)

SourceTreeのWindows版は重いとか聞きました
0908デフォルトの名無しさん2015/03/11(水) 22:16:52.58ID:4jyDbHWw
GUIってごちゃごちゃしてて使い方分かんないから使ってない
addとcommitとlogとstatusとpushとcloneでmasterブランチしか使ってない
0909デフォルトの名無しさん2015/03/12(木) 00:04:17.35ID:T2FqaOXK
>>902
>実際、小さなチームで机を付き合わせてる場合なんか、いったん共有したものすら、口頭で確認の上、rebaseして良い場合もあるでしょう。
>一方、rebaseを前面的に禁止にしないと弊害が大きいような寄せ集めチームも日本のどこかにはあるでしょう。
>一言でいえば、ケースバイケースなんだと思います。

gitが本来備えている機能を禁止するかどうかの基準は、自分の意見もこれに合ってる
そして、rebaseを禁止した方が「手っ取り早い」寄せ集めチームは、日本の至る所にあると思う
0910デフォルトの名無しさん2015/03/12(木) 01:52:17.03ID:iIvxM21/
> そして、rebaseを禁止した方が「手っ取り早い」寄せ集めチームは、日本の至る所にあると思う

要するにバカが沢山いるってことだろ?


それはgitの正しい使い方とは別の話だよね?
0911デフォルトの名無しさん2015/03/12(木) 02:10:22.46ID:J+f2qoWU
初心者スレか運用スレが必要ね
うだうだ言ってるけど結局適切な運用方法を自分で決められない初心者ゆえの議論だから
状況ごとの使い分けで悩まない人間からすれば実にどうでもいい
0912デフォルトの名無しさん2015/03/12(木) 02:14:27.83ID:ko4MAwtx
日本人ってすぐ自分のやり方に
ツールを合わせようと考えるんだよな。

新しいものを導入するっていうことは、
今までのやり方を変えるということなのに、
今までのやり方はそのままで、ツールをそれに合わせようとする。

えとね。ツールっていうのは「ある使い方」をするために作られたんだよ。
それがgitが持っているコマンドでもあるの。
だからツールはどのように使うために作られたか?をしっかり考えて
ツールのやり方に合わせることが大事なの。

オリジナルを考えて良いのはそれからだよ。
料理でも一緒。ろくに使えないのに最初からアレンジするなと。
0913デフォルトの名無しさん2015/03/12(木) 08:30:04.15ID:gjsjWNGM
>>912
>日本人ってすぐ自分のやり方に
>ツールを合わせようと考えるんだよな。

>新しいものを導入するっていうことは、
>今までのやり方を変えるということなのに、

この発想は、力関係が「自社<顧客」で、顧客からツールのカスタマイズを要求される業務系SEが
顧客に対して不満を持っているからこう思うんだろうな

多様性を受け入れられないツールは、なかなか世に受け入れられないだろう
gitだって、様々な機能を、使わなかったりすることができるわけで
0914デフォルトの名無しさん2015/03/12(木) 08:37:56.91ID:iTa1Ycx/
それ、パッケージソフトのカスタマイズなんかで言われている話だな。
せっかくパッケージが機能を提供しているのに自分の業務に合わないからと
余計なコストをかけてカスタマイズしていると。
逆に、そのツールが提供している機能が自分にとって不要なら使わないってのは
普通の使い方だな。
0915デフォルトの名無しさん2015/03/12(木) 08:46:08.23ID:slvzoIOC
ジャップ土人はジャップ土人同士でガラパゴって出てくんなってことだ
0916デフォルトの名無しさん2015/03/12(木) 08:46:30.77ID:k728FJc2
なんでもそうだけど
作る側だけでなく使う側も頭柔らかくした方が
話はスムーズにいくわな
0917デフォルトの名無しさん2015/03/12(木) 09:50:10.65ID:HXGIM/Mt
>>912
そうそう、自分の仕事に道具の方を合わせるのは
IT業界に限らず料理でも大工でも同じだよね。

工芸品を作る人がハサミやノミから自作するとか普通だし
道具に振り回されることなく自分の道を持つのは大事だ。
0918デフォルトの名無しさん2015/03/12(木) 09:57:26.19ID:slvzoIOC
まあここで提起されてる事例用例は道具職人に難癖つけてるだけなんですけどね
0919デフォルトの名無しさん2015/03/12(木) 09:57:54.02ID:bakilSIy
企業がシステムを導入するってのは
業務プロセスを効率化して担当者のクビを切りたいってことなんだから
人間の方がシステム様に従うべき
0920デフォルトの名無しさん2015/03/12(木) 11:30:40.77ID:yGIdqSj4
rebase分からないなんて
そんな奴はクビで良いだろ
0921デフォルトの名無しさん2015/03/12(木) 11:35:34.08ID:JAX26FfH
ホント運用は別スレに分けたほうがいいと思う
0922デフォルトの名無しさん2015/03/12(木) 12:29:25.92ID:YPmUEtYX
たまたま履歴管理が出来るツールがあるというだけで、管理の仕方にやたら拘りを持つ人があらわれる。
ツールのやり方にあわせてるだけだと言うけど、実はツールに振り回されてるだけ。
アホやで…
0923デフォルトの名無しさん2015/03/12(木) 12:47:23.27ID:F0MvcS+7
またこの流れ…
0924デフォルトの名無しさん2015/03/12(木) 13:53:25.20ID:a1xHiT2r
このままスレ埋まってしまいそう
0925デフォルトの名無しさん2015/03/12(木) 14:52:47.80ID:vh7FaECF
>>917
日本のIT業界(限定ではないかもしれない)の問題点だな
個人レベルなら能力高い奴が多いのに、それを集団レベルの能力に高められない
個人レベルの能力によって先行していた事業が、規模が大きくなってくると海外の集団の力によって駆逐される
ソフトウェア開発は個人の力に頼った工芸品レベルの仕事じゃダメなんだよ
0926デフォルトの名無しさん2015/03/12(木) 16:34:27.78ID:JQAIBPM0
自宅鯖向けのシェルスクリプトをどうやって管理しようかと
このスレ見始めたけどもうCVSでいいやと思った
0927デフォルトの名無しさん2015/03/12(木) 16:52:11.25ID:a1xHiT2r
せめてsvnでw
0928デフォルトの名無しさん2015/03/12(木) 17:42:40.38ID:Li5a03Xw
自分しか触らないファイルはRCSで十分
0929デフォルトの名無しさん2015/03/12(木) 17:54:24.63ID:HK8QII+7
VS2013でも導入されたし
分散VCSでは結局gitの一人勝ち?
0930デフォルトの名無しさん2015/03/12(木) 18:00:44.02ID:HXGIM/Mt
>>925
それは確かに問題なんだけど、視点を少し変えてみて、
チームメンバーはリーダーの道具だと考えるといいかも。
メンバーをリーダー仕様に改造してしまう
0931デフォルトの名無しさん2015/03/12(木) 19:27:59.17ID:vh7FaECF
>>930
チームリーダが変わらない前提ですか?w
日本の良い製品ってそういうチームリーダの能力に頼ったのが多いですねw
そいでリーダがいなくなるととたんにガタガタになる
0932デフォルトの名無しさん2015/03/12(木) 20:03:16.20ID:oHJi5BAm
海外も同じですから、日本のは不要です
0933デフォルトの名無しさん2015/03/12(木) 22:27:25.54ID:LbMzp29a
定期バックアップさえ欠かさなければVCSすらいらないな
0934デフォルトの名無しさん2015/03/12(木) 22:38:24.17ID:dseXfxJ0
>>930
逆じゃねーの、レベル高いとこはメンバー主体で動くもんだよ。
メンバーをツールなんて考えるクソ野郎の下で働きたい馬鹿なんてお前ぐらいだろ
0935デフォルトの名無しさん2015/03/12(木) 22:58:37.78ID:LbMzp29a
seX
0936デフォルトの名無しさん2015/03/13(金) 00:40:48.87ID:VBJF/bRa
>>917
仕事のやり方が間違ってることに気付かない人もいる
0937デフォルトの名無しさん2015/03/13(金) 08:11:51.37ID:t68YpJQl
>>934
メンバーのモチベーションって、お前が考えるほど
そんな単純な話じゃないから

会社とそのメンバーの間の雇用形態とか、いろいろ
絡んでるわけで
0938デフォルトの名無しさん2015/03/13(金) 08:41:43.65ID:Oaowwqwo
アスキードワンゴωωω
0939デフォルトの名無しさん2015/03/13(金) 09:09:16.87ID:5rFfWrMG
>>937
> メンバーのモチベーションって、お前が考えるほど
> そんな単純な話じゃないから

そのとおりだな。

だからやる気がある人が、ワークフローを作って、
他の人はそのワークフローに従えば
簡単に仕事ができるっていうような
ワークフローを作った方がいい。

間違ってもいけないのは、ワークフローは意味が無い押し付けではない。
管理を楽にするためのものじゃないってこと。
開発を楽にするためのもの。だから原則として自由。

自由だけどそこに流れを作って従ったほうが楽になるようにする。
もちろんもっといい方法があれば変えてもいい。
川の流れ(フロー)がより単純に効率化したものになるのと一緒。
0940デフォルトの名無しさん2015/03/13(金) 23:41:48.42ID:BBGHOBJy
SourceTreeで、すべてのbranchのグラフをGUIで見たいのですが、
目的のブランチを全部チェックアウトしてから、「すべてのブランチ」「リモートブランチを隠す」「日付で並び替え」にすると、
思った通りの表示になりました

自己解決しました
すみません
0941デフォルトの名無しさん2015/03/15(日) 03:25:30.42ID:zzD8LMvk
メール以外のネットワークが隔離された2か所で、
それぞれに置いてある.gitを同期させたいです。

日に1回メールで差分を送りあえればいいのですが、
このような用途に便利なコマンドってありますか?
0942デフォルトの名無しさん2015/03/16(月) 21:43:08.19ID:QB5QI8vV
Git 2.3.3
https://github.com/git/git/releases/tag/v2.3.3
0943デフォルトの名無しさん2015/03/21(土) 15:33:13.29ID:Q1d90rrO
fetchしてmergeしたあと、どうsてcommitが必要なの?
0944デフォルトの名無しさん2015/03/21(土) 16:07:50.91ID:H38ILMNr
pullを使えばいいだろ?

それで困る場合にあえてやるのが
fetchしてmergeなわけで。
0945デフォルトの名無しさん2015/03/21(土) 17:46:57.56ID:Q1d90rrO
>>944
pullって、fetchしてmergeしてcommitするの?
0946デフォルトの名無しさん2015/03/21(土) 18:28:54.66ID:K0I3ekpn
fetchしてmergeまではわかる
その後にcommitが必要ってことは、単にoriginを追っかけてるのではなく独自のコミットが混ざっててffになってないってことだろ
その独自のコミットをプルリクエスト送って本家に反映してもらえ
それか独自のコミットが要らんならgit reset --hard origin/masterしてしまえ
0947デフォルトの名無しさん2015/03/21(土) 23:16:34.42ID:yCLS+855
なんか全然Gitの良さが分からないんですがなんなんですかね
Pull Requestとか面倒くさいだけじゃないんですか
何で他人の修正が正しいか確認して、マージまでしてあげないといけないんですかね
責任もって自分でコミットして下さいと思っちゃうんですが。
余計な仕事増えてるだけじゃん
分散型とか言ってるけど結局マスターはサーバーに一つなわけで何が分散なのかも分からないし
addとかpushとか2度手間してるだけじゃないんですか
全然意味が分かりませんね
0948デフォルトの名無しさん2015/03/21(土) 23:19:02.10ID:iwfo5L6e
煽っていくスタイルですね
0949デフォルトの名無しさん2015/03/22(日) 00:45:31.58ID:oZrJVPWF
>>947
使いこなせないなら、無理に使わなくてもいいんだよ
0950デフォルトの名無しさん2015/03/22(日) 01:00:18.87ID:3FK3Abm7
もっと使い勝手のいいVCSを見つけてプロジェクトメンバーを説得してgitから乗り換えればいいだけ
0951デフォルトの名無しさん2015/03/22(日) 01:33:49.89ID:ak1//3lv
>>947
君は多くの人に責任をもたせることのリスクを知らないのかい?
0952デフォルトの名無しさん2015/03/22(日) 01:56:42.24ID:GQIkJ90f
>>951
それは会社の偉い人であれば
当然知っていることだと思いますが?
0953デフォルトの名無しさん2015/03/22(日) 02:14:07.43ID:ak1//3lv
>>952
だから偉い人がgitを採用するんです。

多くの人に責任をもたせるとリスクが大きいから、pull requestを使って限られた人しかマージできないようにする。
面倒くさいけど、こうすることで責任もってコミットさせられない関係者も開発に参加できます。
大規模開発になるほど大事なことですね。
0954デフォルトの名無しさん2015/03/22(日) 02:54:16.88ID:GQIkJ90f
で、偉い人が採用しなければ
なんで採用されないんだって文句をいうだけ。
0955デフォルトの名無しさん2015/03/22(日) 03:01:45.75ID:ak1//3lv
>>954

そらそうやろ
え、下克上でもすんの?w
0956デフォルトの名無しさん2015/03/22(日) 03:31:35.27ID:3FK3Abm7
これが社畜脳
0957デフォルトの名無しさん2015/03/22(日) 04:00:52.21ID:GQIkJ90f
酷いなw
提案とかできないんだw
0958デフォルトの名無しさん2015/03/22(日) 04:33:12.01ID:ak1//3lv
>>957
提案等が一通り終わっても、採用しなかったら文句いうしかないって話な
まず提案するのは当たり前。
手を尽くしてダメだったら、下克上(=自分が偉くなる)をしないかぎりはどうしようもない。
どうしようもあるならそれは手を尽くしてない証拠。

ってかものすごい脱線してんだけど。
>>947
>>951-953
の論理の流れよめてる?

>>947が面倒くさい「だけ」とメリットが存在しないと主張するpull requestだが、
偉い人がgitを採用する理由のひとつがpull requestという機能である、
それは ID: GQIkJ90f が言った「偉い人が当然知っていること」から自明に導けるだろ?、という話。

偉い人がgitを採用しなかったら、俺がどうするかなんてどうでもいい。
そもそも俺は夜中にgitのメリットを説いてるgit推奨派なのに、簡単に諦めるわけないだろwww
俺なら偉い人にgit採用させるから、採用しなかったときの話はどっちでも論理的に正しいよ。
0959デフォルトの名無しさん2015/03/22(日) 04:48:21.29ID:3FK3Abm7
提案がどの程度のものか知らんが
gitに替わるVCSの使い方の指導から全部自分が積極的にやるとか
gitに替わるVCSを使った結果大きなトラブルに発展したなら相応の責任を取るとか
gitに替わるVCSの良さを他の社員にも伝え仲間を作り仲間と一緒に上司や上司の上司を説得するとか

世の中を変えたいのなら相応のパワーがいる
0960デフォルトの名無しさん2015/03/22(日) 05:16:59.37ID:ak1//3lv
>>959 提案ってもしかして俺に言ってる?
僕はgit推奨派だから、他のVCSを提案することはない(現時点では)。

cvs/svn/gitくらいしかまともに使ったことないが、その中では俺はgit推奨だな。
BitKeeperとかBazaarとかMercurialとか名前は分かるけど、gitから乗り換えるほどのメリットがあるとは聞いたことがない。

gitなら使えるエンジニアも多いし資料も教材もツールも多いから合意もとりやすいね。
ユーザの多いsubversionからの段階的移行もできるし。
これもgitのメリットだ。
0961デフォルトの名無しさん2015/03/22(日) 11:20:18.54ID:dJAS/eZ7
1.開発したいリポジトリをForkする
2.Forkしたリポジトリをローカルにcloneする
3.ローカル環境でコード修正しコミットする
4.コミットしたソースをForkしたリポジトリにpushする
5.開発したいリポジトリにPull Requestを送る
なんでこんなに手順を踏まないといけないのバカなの
SVNだったら
1.チェックアウトする
2.コード修正しコミット
以上。
なのになんでこんな無意味に手順増やすのバカなの
分散型とか言うけどコミットせずにローカルでいつまでももってたら
Masterの最新のソースとどんどん乖離して後でコミットするときマージが面倒になるだけじゃん
Gitのやり方って面倒臭さを増やす方向にしかなってないと思うんだけどなんなん
大体Gitが良いとか言ってる奴はGitしか使ったことないんだろ
Web系でLL言語使ってGUIとか表面的なことしかできないバカだから面倒な手順を増やすことをかっこいいとか思ってるんだろ
GitでもSVNみたいな使い方ができる(キリッとか言うんだろうけど、それを言うってことは完全にGitはSVNに負けてるってことを
認めてることになりますよね。分散型で面倒な作業増やしてすいませんって謝罪しろよ。
全然意味が分かりませんね
0962デフォルトの名無しさん2015/03/22(日) 11:38:54.40ID:st2tKls6
プロジェクト管理者が必要だと感じているからわざわざpull requestさせてマージするような使い方にしているだけで、それはプロジェクト管理者にとって義務ではない。

プロジェクト管理者がなぜそのような選択をしたかというと、個々の開発者に任せておけないから。
お前はそこまで信用できないと言われているようなもの。
SVNなら云々は信用されていない末端のざれ言に過ぎない
0963デフォルトの名無しさん2015/03/22(日) 11:49:34.77ID:dJAS/eZ7
俺は仕事ではSVNしか使っていない
GitGit巷が煩いからちょっと調査してるだけだ
Web系エンジニアは信用ができない低スキル技術者ばかりだから
簡単にMasterリポジトリをいじくれないようにする仕組みが必要ということですか
無能のためのツールということですかなるほど無能と一緒に仕事しないといけないなんて
大変でうね同情しますよ
0964デフォルトの名無しさん2015/03/22(日) 11:51:56.40ID:dJAS/eZ7
大体無能が送ってくるPullRequestなんかマージするの面倒臭いだけじゃないのか
Issueでやり取りする時間もエネルギーも無駄だと思うんだが
全然意味が分かりませんえn
0965デフォルトの名無しさん2015/03/22(日) 12:24:40.34ID:+U+vfFwl
だから無理しなくていいったら。

価値観なんて人それぞれなんだから。
さようなら、もう来ないでね。
0966デフォルトの名無しさん2015/03/22(日) 12:34:14.67ID:3gWalJmt
C++でもCのような書き方ができる(キリッ
→C++はCに負けてるってことを認めてることになりますよね
という論理か
0967デフォルトの名無しさん2015/03/22(日) 12:35:07.87ID:BPOqoFcy
大は小を兼ねるし、やらなきゃいけない最低限のことを把握できない奴は、git使ってればok

逆に言えば、リーダーから信頼がないからgitを使わせられてるわけ。

gitっつーのは信頼できないやつと作業した成果物の信頼性を高めるツールだよね
0968デフォルトの名無しさん2015/03/22(日) 12:42:24.20ID:ak1//3lv
>>963
> 俺は仕事ではSVNしか使っていない
> GitGit巷が煩いからちょっと調査してるだけだ

あ、なるほど 使えないのね(可愛そうな捨て犬を見るが飼えないので申し訳ないといった目で
0969デフォルトの名無しさん2015/03/22(日) 12:43:37.41ID:ak1//3lv
>>967
「信用しない」側の人間やリーダーもgitを使う必要があるのですがそれは……
0970デフォルトの名無しさん2015/03/22(日) 12:47:43.52ID:3gWalJmt
そりゃ使わされてるんじゃなく自分の意思で使わせてる方だからな
0971デフォルトの名無しさん2015/03/22(日) 12:55:22.81ID:ak1//3lv
git推してるようなやつは
「使わせる」ことも重視してると思うぞ、っと。
0972デフォルトの名無しさん2015/03/22(日) 12:55:57.17ID:dJAS/eZ7
完全にSVNの完全勝利
Git使いは3回まわってワンしてる動画をアップして謝罪するべき
結局、forkしてcloneしてcommitしてpushしてpullRequestしてとか面倒臭いだけなんや
最終的にはSVNのような使い方をするのが理想的なGitの使い方なんやろうが
完全にSVNの完全勝利
0973デフォルトの名無しさん2015/03/22(日) 13:01:27.02ID:ak1//3lv
>>963
「SVN」だけ全角
あっ・・・(察し)

>>972
勝利って連呼するだけとか。。。。
草加かよ
0974デフォルトの名無しさん2015/03/22(日) 13:46:41.71ID:9ijd/r0x
なんで相手するんだよ...
0975デフォルトの名無しさん2015/03/22(日) 14:29:07.85ID:nW67tQ7U
>>961
> SVNだったら
> 1.チェックアウトする
> 2.コード修正しコミット
> 以上。
> なのになんでこんな無意味に手順増やすのバカなの

嘘つくなよw

gitだとディレクトリを作ってgit initすれば

そこがリポジトリになる。
SVNだと、まずリポジトリを作らないといけない。
面倒くさいよな?
0976デフォルトの名無しさん2015/03/22(日) 14:31:18.91ID:nW67tQ7U
svnだとチェックアウトが面倒で

svn co svn://example.com/repo/thread/trunk thread

みたいに毎回URLを指定しないといけない。

git だと git checkout a b

これだけで済む。
0977デフォルトの名無しさん2015/03/22(日) 14:34:06.99ID:nW67tQ7U
svnだとできないこともあって、
ファイルの一部分だけコミットすることが出来ない。

これはものすごく不便で開発中にちょこっと
書き換えている時一旦それを戻さないといけない。

gitだと、git add -p などで一部のファイルや
ファイルの一部分だけをコミットできる。

svnは使いにくい以前に使えないものだっていうのがわかる事例だね。
0978デフォルトの名無しさん2015/03/22(日) 17:49:05.71ID:3PVMrWZM
>>946
まだ手元に途中でワチャワチャしたのがある状態で
でも先方の変更を手元に反映したいときってあるじゃん
特に自分が今いじってないファイルとか
そういうときいちいちcommitするのって手間じゃない?
だいたい手元でもまだcommitしたくないときどうするの?
0979デフォルトの名無しさん2015/03/22(日) 17:49:49.76ID:3PVMrWZM
>>977
それcvsなら出来るよ
0980デフォルトの名無しさん2015/03/22(日) 18:46:12.88ID:3gWalJmt
>>978
その状況ってsvnもgitも対応方法変わらないんじゃない?
手元の変更はそのままにして先方の変更を取得すればいいだけでしょ
コンフリクトしたら手元でマージするんだろうし
ちなみにgitはsvnと違って手元でcommitしても手元にしか変化ないからcommitしたくない状況が発生しない

>>979 じゃあgit=svn+cvsなんじゃね
0981デフォルトの名無しさん2015/03/22(日) 18:51:58.32ID:st2tKls6
commitの意味合いがgitでは軽いからな。
commitを避けることに意味はない。
pushする前に弄るのだからcommentなんて
適当につけておけばいいだけだし。
0982デフォルトの名無しさん2015/03/22(日) 19:05:24.29ID:3PVMrWZM
>>980-981
ありがとう
そうか手元だけなんだからどんどこcommitしてもいいのか
よく考えたらそうだな
0983デフォルトの名無しさん2015/03/22(日) 22:52:23.55ID:SQ+ft/kn
>>961
>4.コミットしたソースをForkしたリポジトリにpushする
>5.開発したいリポジトリにPull Requestを送る
>なんでこんなに手順を踏まないといけないのバカなの

これは、gitの「コードレビューをするために、リポジトリ反映までに
ワンクッション置く」ための機能であって、分散型とは関係ない。

とはいえ、ワンクッション置いてコードレビューするやり方が世の中で
どれほど上手くいってるか、自分には分からない。

リーダーのコードレビューの遅れは他のメンバーの作業着手の遅れにつながり、
仮に気に入らないコードを見つけても、なぜ気に入らないかを書いたやつに
説明するのもめっちゃコストがかかる。それに、数kloc分のコーディングが
完了した後のやつを見たって、根が深かったり箇所が多すぎたりしてもはや
手遅れって場合も多い。

gitのこの機能も、ないよりマシかもだが、自分にとってはありがたみは
あんまりない。
ツールの機能を活かしたいからって理由で人の作業手順を変えるのは、
とても難しい。ツールのその機能は活きたが、別の理由で開発効率は落ちた、
とかなったら目も当てられないし。
0984デフォルトの名無しさん2015/03/22(日) 23:35:15.04ID:hieHVjt2
> リーダーのコードレビューの遅れは他のメンバーの作業着手の遅れにつながり、

その話はsvnでも同じ。gitに関係ない話はやめてくれ
0985デフォルトの名無しさん2015/03/23(月) 00:25:46.96ID:oD0yNGZ6
testブランチから分岐したtest2ブランチがあります
同時進行で作業してる場合にtestブランチの更新をtest2ブランチに取り入れる方法をおしえてください
git pullみたいなの
0986デフォルトの名無しさん2015/03/23(月) 00:53:35.59ID:fJQV4FlM
>>975
そうそう、svnでのレポジトリ作成、めんどいな。あとグループ開発の時のメンバー登録。
あと、961は「Gitはこんなに手順あって面倒くさい」って言ってるけど、メンバーみなdeveloperやmasterにしちまえばsvnのようにも使えるし、使い方なんじゃないかと思うんだがなぁ。
0987デフォルトの名無しさん2015/03/23(月) 02:15:19.41ID:0YgjQ2W7
>>986
>そうそう、svnでのレポジトリ作成、めんどいな。あとグループ開発の時のメンバー登録。

svnだって、全然めんどくさくない。
リポジトリ作成なんて、visual SVNのGUIを使えば一発だし、メンバー登録も同様。
そんなとこで比べっこしてても、けっきょく何の意味もない。
0988デフォルトの名無しさん2015/03/23(月) 02:18:26.43ID:0YgjQ2W7
>>984
gitがわざわざ提供してる機能が実際に有効に機能してるかを改めて考えてみるって意味では、gitに関係してると思うが
0989デフォルトの名無しさん2015/03/23(月) 05:36:34.33ID:BMVzdvQz
GUIとか面倒すぎる
0990デフォルトの名無しさん2015/03/23(月) 06:14:57.27ID:y4ouI496
msysgitの新しいの19日に出てたのな
0991おれもなぁ〜2015/03/23(月) 07:00:29.06ID:/U7AVK6r
>>984
お前のレスが一番無駄だよ
0992デフォルトの名無しさん2015/03/23(月) 07:02:19.76ID:/U7AVK6r
>>989
コマンドラインでもできるし、たいして変わらん
0993デフォルトの名無しさん2015/03/23(月) 08:10:26.30ID:BMVzdvQz
変わらないならGUIだからめんどうでないと言うのと矛盾する。
ヘッドレス環境で作業してる時や自動化のことを考えると、CUIのが便利だが。
0994デフォルトの名無しさん2015/03/23(月) 10:02:47.93ID:0YgjQ2W7
>>993
そもそも、リポジトリ作成なんて何回もやることじゃない=自動化の価値ないし、
ユーザ登録だって、リーダーが自らやることじゃなく、下っ端にやらせるべき安い仕事だろう
0995デフォルトの名無しさん2015/03/23(月) 10:57:08.04ID:5dh1GAQd
正直なところ、会社での使い方は
cvsとなんら変わりがないので
手間がやたらかかる分gitの方が評判悪い
0996デフォルトの名無しさん2015/03/23(月) 11:18:06.50ID:BMVzdvQz
>>994
そうか、いくつものプロジェクトを任されないやつは気楽でいいな。
一式立ち上げるのスクリプトにしてる。
部下の手間やオペミスを気にしない立派な方は言うことが違うな。
0997デフォルトの名無しさん2015/03/23(月) 12:14:29.10ID:5dh1GAQd
>>996
どのくらいの頻度でプロジェクトの新規立ち上げするの?
やっぱり1日1個くらいのペースでどんどん増えていくもの?

うちの会社は半年に1個くらいしかプロジェクトないので
いつも手書きのメモ見ながら作ってるわ・・・
0998デフォルトの名無しさん2015/03/23(月) 12:27:44.21ID:aBYp+bVs
>>985
test2ブランチをチェックアウトしてる状態で
git merge test
0999デフォルトの名無しさん2015/03/23(月) 12:59:01.94ID:iTA2cPA1
次スレよろ
1000デフォルトの名無しさん2015/03/23(月) 13:04:52.26ID:Gcg1WhfX
はたらけどはたらけど猶わが生活楽にならざりgit手を見る
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。