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

Git 9

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2014/04/12(土) 13:22:20.98ID:s4x1CSLN
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

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

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

◆前スレ
Git 8
http://toro.2ch.net/test/read.cgi/tech/1389701817/
0002デフォルトの名無しさん2014/04/12(土) 13:36:51.60ID:UapBJj1i
ここは Git のスレ


github の話題はこちらで

OSSホスティング総合【SourceForge,GitHub,etc..】
ttp://toro.2ch.net/test/read.cgi/tech/1384821518/
0003デフォルトの名無しさん2014/04/12(土) 15:13:56.03ID:hrYZFkTS
頭悪すぎで話にならないID:s4x1CSLNはng推奨
0004デフォルトの名無しさん2014/04/12(土) 15:28:59.89ID:4Ld644Zh
>>1
いい加減直してくれよ前スレの時にも言っておいたのに

Pro Git
http://git-scm.com/book/ja/
0005デフォルトの名無しさん2014/04/12(土) 15:32:53.63ID:4Ld644Zh
◆関連スレ
バージョン管理システムについて語るスレ10
http://toro.2ch.net/test/read.cgi/tech/1393147031/
CVS導入スレ〜 Rev.3
http://toro.2ch.net/test/read.cgi/tech/1113141518/
Subversion r14
http://toro.2ch.net/test/read.cgi/tech/1326806859/
【分散型バージョン管理】 Mercurial 2【hg】
http://toro.2ch.net/test/read.cgi/tech/1321109748/
【bzr】Bazaarでバージョン管理 Rev 4
http://toro.2ch.net/test/read.cgi/tech/1356521407/
OSSホスティング総合【SourceForge,GitHub,etc..】
ttp://toro.2ch.net/test/read.cgi/tech/1384821518/

◆関連スレ 別板
CVS 1.3 [UNIX板]
http://toro.2ch.net/test/read.cgi/unix/1093611448/
0006デフォルトの名無しさん2014/04/12(土) 15:38:56.65ID:4Ld644Zh
◆関連書籍
開発効率をUPする Git逆引き入門 2014/04
http://www.c-r.com/book/detail/970

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
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-87311-440-8

入門Git 2009/9
http://www.shuwasystem.co.jp/products/7980html/2380.html

入門git 2009/08
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06767-9
0007デフォルトの名無しさん2014/04/12(土) 16:02:59.22ID:s4x1CSLN
>>4
すまん。
0008デフォルトの名無しさん2014/04/13(日) 01:34:47.62ID:f3OGXPtA
サルでもわかるGit入門 ?バージョン管理を使いこなそう? | どこでもプロジェクト管理バックログ
http://www.backlog.jp/git-guide/
0009デフォルトの名無しさん2014/04/13(日) 19:17:52.20ID:XMFLaUST
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus) [単行本(ソフトカバー)]
大塚 弘記
http://www.amazon.co.jp/gp/product/477416366X/
0010デフォルトの名無しさん2014/04/13(日) 22:25:00.03ID:preDdKCE
>>9
ここGitのスレだからGitHubメインでGitのことがほとんど書かれてない本はお門違いじゃないの
0011デフォルトの名無しさん2014/04/13(日) 22:41:15.55ID:wSq/pgWA
>>10
git 繋がりでいいんじゃね?
0012デフォルトの名無しさん2014/04/13(日) 22:49:27.59ID:preDdKCE
>>11
GitHubスレいけができなくなるがよろしいか
0013デフォルトの名無しさん2014/04/13(日) 22:58:41.51ID:qxdLUwd6
format-patchで、
本線だけのパッチって作れないんでしょうか?
マージコミット部分ではマージされた区間をsquashしたようなパッチが生成されて欲しいのですがムリでしょうか?
0014デフォルトの名無しさん2014/04/13(日) 23:11:35.99ID:qL3uhhaK
>>13
詳しく調べてないので外してたらすまんが、マージコミットをパッチにはできなかったはず。

ベースになるコミットから現在のHEADまでマージコミットについてはmerge --squash しながら再構成、
新しいHEADとオリジナルのHEADをdiffして漏れがないのを確認後、format-patchするとかでどうかな。
0015デフォルトの名無しさん2014/04/13(日) 23:33:00.29ID:wSq/pgWA
>>12
本の紹介でしょ?
そんなに毛嫌いするほどのことなの?
0016デフォルトの名無しさん2014/04/14(月) 00:01:32.52ID:7zmL9s1f
>>15
Gitに関係ないGitHubの話や質問をここですることを受け入れるかということです
0017デフォルトの名無しさん2014/04/14(月) 06:07:54.65ID:eZQPfKWX
>>16
本を紹介すると
> Gitに関係ないGitHubの話や質問をここですることを受け入れるかということです
になるんだ...

なんかの宗教なの? (w
0018デフォルトの名無しさん2014/04/14(月) 06:12:49.91ID:1BzKypQe
GitHubはGit関係なので
話題にしてOK
0019デフォルトの名無しさん2014/04/14(月) 06:23:10.46ID:7zmL9s1f
祝・GitHub解禁
0020デフォルトの名無しさん2014/04/14(月) 06:33:02.10ID:1BzKypQe
gitやるなら、gitコマンドだけじゃなくて
gitを使った開発手法も対象内だし、
gitサーバーやgitワークフローもgitの話題の一つ。

GitHubはそのサーバーとワークフローのためのツールなんだから
このスレで全然問題ない。
0021デフォルトの名無しさん2014/04/14(月) 06:54:18.95ID:r6Wx+cLS
OpenSSLにすごいバグがあるらしいけど、OpenSSHは大丈夫なのかな。SSHでgitサーバに接続してます。
0022デフォルトの名無しさん2014/04/14(月) 07:13:46.54ID:7zmL9s1f
>>20
BitbucketとSourceForgeもいけるね
やったー
0023デフォルトの名無しさん2014/04/14(月) 08:56:01.10ID:AmAJMm0T
>>9
ステマすんなゴミ
0024デフォルトの名無しさん2014/04/14(月) 09:08:38.81ID:1BzKypQe
>>22
はい、そのとおりですよ。
gitサーバーとしての使い方なら
問題ありません。
0025デフォルトの名無しさん2014/04/14(月) 09:48:57.46ID:6tPspeJq
http://yamaha-webmusic.github.io/
http://yamaha-webmusic.github.io/nsx1-apps/manual/

こういうアカウントってフォローするのどうやるの?
0026デフォルトの名無しさん2014/04/14(月) 09:52:00.42ID:toZF1Crt
git 単体で ITS なしの運用って辛いな・・・
なんでメールのみでのやりとりなんだ・・・
0027デフォルトの名無しさん2014/04/14(月) 13:45:30.96ID:gAJOCe3S
ITSって何だ?
0028デフォルトの名無しさん2014/04/14(月) 14:04:20.03ID:toZF1Crt
>>27
ガチで5分で分かるITS/BTS&使えるツール6選 (1/7)
http://www.atmarkit.co.jp/ait/articles/1306/26/news012.html
0029デフォルトの名無しさん2014/04/14(月) 14:48:38.62ID:pS18deUR
発行追跡システマ
0030デフォルトの名無しさん2014/04/14(月) 16:08:45.44ID:gAJOCe3S
>>28
おぉ、さんきゅ。
ITSだけでググっても、明らかに関係無さそうなヤツしか出てこなかったから何かと思ったよ。
関東ITなんちゃらとか、なんちゃら交通システムとか。
0031デフォルトの名無しさん2014/04/14(月) 21:07:55.30ID:Uax92dk0
関東ITはなかなか良いぞ
0032デフォルトの名無しさん2014/04/14(月) 22:59:31.00ID:XW768nZt
>>14
レスありがとうございました!
やはり再構成していくしかないですよね。
そんな感じでやっていこうと思います。
0033デフォルトの名無しさん2014/04/15(火) 20:21:29.46ID:LX0BNsfx
Gitって色々あるけどどう違うのかわからない。
GitHubのアカウントをとってみたり、>>8のリンク先を見たりしたが
色々種類があってわからない。

やりたい事は「プログラムのバージョン管理をしたい(Gitはそう言う用途だからあたりまえだかけど)」と言う事と
何より重要なのが「ソースコードを誰にも見られたくない」と言う事くらいかな。
後は、「どこにいてもソースが落とせる」ってのもある。
GitHubはTwitterみたいなUIだから「どこにいてもソースが落とせる」って事はできそうだけど色んな人から見られそう。
>>8のはローカルで管理する感じなのかな?

良ければ初心者に簡単なGitを教えて下さい。
0034デフォルトの名無しさん2014/04/15(火) 20:33:20.49ID:D1Ol4DiB
「ソースコードを誰にも見られたくない」ならローカルで完結させるしかないね
0035デフォルトの名無しさん2014/04/15(火) 20:34:19.07ID:CXoafp6W
たくさんあるってどういうこっちゃ。クライアントプログラムは色々あるかもしれんが git は一種類しかないぞ。
github は git を使ったホスティングサービスであって git の一種ってわけじゃない。
ホスティングサービスどれがいい?って質問なら↓の方が回答もらえるんでないかな。
・OSSホスティング総合【SourceForge,GitHub,etc..】
ttp://toro.2ch.net/test/read.cgi/tech/1384821518/

他人にソースを見られたくない場合は
・自分で git のサーバを建てる
・ローカルで使う
・プライベートリポジトリをサポートしてるホスティングサービスを使う(大抵は有料)

github もプライベートリポジトリサポートしてるけど有料だね。パブリックだと無料だけど。
自分でサーバを建てる場合も自由になるサーバ持ってないならどっかから借りなきゃいけないから有料になる。
0036デフォルトの名無しさん2014/04/15(火) 21:13:10.96ID:Td9RmRcX
初心者ですが、
Gitの説明でよくブランチの分岐が書いてあってそれでrebaseだcherry-pickだ等々
説明が書いてあるけど、
このブランチの構造自体は皆さんgitのログとかから頭の中でイメージしたり
できるんですか? 自分にはまずそこが問題w
0037デフォルトの名無しさん2014/04/15(火) 21:44:05.28ID:z6touH+D
VPSを自分専用のgit鯖にしてる。
って、ssh開けるだけだから、鯖という言い方もおかしいか。

自宅鯖が安心最安だろうけど、1k円/月くらいあれば安いVPSあるんじゃないか。
0038デフォルトの名無しさん2014/04/15(火) 21:45:31.32ID:z6touH+D
>>36
git graphっていう、よく出回ってるalias見て理解してる。つもり。
0039デフォルトの名無しさん2014/04/15(火) 21:58:59.82ID:OKvn8yBf
git log --gragh --all
でツリー出てくるよ。
コミットログの書式短いのにした方が見やすいけど。
0040デフォルトの名無しさん2014/04/15(火) 22:10:15.34ID:JExjPciB
とりあえずならこんな感じか
git log --graph --all --decorate --oneline

自分はこれだとちょっと表示が気に食わないので、
--decorate --onelineの代わりに--pretty=formatで表示を加工してる
0041デフォルトの名無しさん2014/04/15(火) 23:55:03.38ID:4LopPBVb
俺はDropboxにbareリポジトリ置いてるだけだ。
壊れるのが怖いから時々zipに固めてるけど。
0042デフォルトの名無しさん2014/04/16(水) 00:09:16.13ID:7KV1DqqH
>>34-35
ありがとうございます。
>>8を見ながらインストールしてみました。
取り合えずローカルで使う予定なのでコミットまで一通りやってみました。

ローカルで使うならリポジトリの共有以降は不要ですよね(Gitとしての恩赦も薄そうだけど)

皆さんはリモート使って他の人と共同で何かを作ってるんでしょうか?
仕事で使う以外はローカルでも不便しなさそうですが、勉強のため開発と平行して使い方を勉強していこうかな。
0043デフォルトの名無しさん2014/04/16(水) 00:27:33.04ID:23qQxnbb
リモートリポジトリを使った共同作業が git の本領発揮するとこだから読んでおいたほうがいいと思うけどな
一人で使ってるんだとしても、作業用のローカルリポジトリとリモートの(別にリモートじゃなくてもいいが)マスターリポジトリが分かれてると
push/pull のタイミングでコミット纏めたりとか出来て都合がよかったりするし

自分は githubでプログラム書いたり設定ファイル載せたりしてる
基本的に自分ひとりで書いてるけど誰かが勝手にバグ直してパッチ送ってきてくれたりして楽しいよ
逆に公開されてるソフトなんかで気になる部分を修正してパッチ送ったりとかね

とりあえずアカウントでもとって練習用として色々遊んでみたらいいんじゃない
0044デフォルトの名無しさん2014/04/16(水) 00:37:04.13ID:FwnwH35E
>>36
githubフローに近いやり方で開発している。

自分が開発しているブランチがどこから分岐したかとかは一応把握してる。
それでも忘れるけど忘れたらgit log --decorateで確認するだけ。

自分が作業中のブランチはそんなに多数に平行して
開発するわけじゃないので、数個にしかならない。

他人のブランチの状態や過去のブランチは何も考えていない。
知りたくなったら調べるけど、基本的に無監視。

気にしてるのは、masterが更新されたかどうか。
基本的に自分のブランチは「masterの最新からの開発」という形にしたいから
誰かがマージしてmasterが更新されたら、git rebase masterして
masterの最新からの開発に配置し直す。・・・ってのを定期的に行う。

あとは単純にmasterにリベースしづらい時とか、一時的に他の人のコミットを取りたいとか
なんかミスってコミットを整理し直したいとかイレギュラーな作業でcherry-pickを使う程度。

まあ分岐しまくってそれを把握しなきゃってことはまずないよ。過去は忘れて、自分の現在の作業分だけ。
0045片山博文MZバグロボ ◆T6xkBnTXz7B0 2014/04/16(水) 01:17:21.34ID:9W1Fzx+3
VS2013でgit使ってるか?
どうやるの?
0046デフォルトの名無しさん2014/04/16(水) 01:21:41.21ID:xXOno5ZN
Use Visual Studio with Git
http://msdn.microsoft.com/en-us/library/hh850437.aspx
0047デフォルトの名無しさん2014/04/16(水) 01:35:45.97ID:vWpEG2+U
>>36
初心者はgitk --allでビジュアルに状態を確認しながら
雰囲気をつかむと良いと思う。

あと、「開発・バグフィックスはすべてトピックブランチを作って作業する。」
「トピックは原則としてmasterから分岐する」などのルールを設けて、
確認しないといけないこと(分岐元がどこか、とか)を減らす。

統合ブランチは master またはmasterの先端に作った使い捨てブランチだけにして、
マージ状況は log --oneline --first-parentで俯瞰するなど
ワークフローを工夫すれば、正確なコミットグラフをイメージしなくても
だいたいの状況を把握できるようになる。
0048デフォルトの名無しさん2014/04/16(水) 03:11:28.56ID:EGmRT2AB
たまーに他人のコミットとコンフリクトしまくったりマージのミスでバグが混入したりするから、そういうときにコミットツリーをよく確認したいときは、
SourceTreeとかGitHub/BitBucketとかのサービスで詳細に把握しようと思うことはあるかな。大抵はそこまで把握しなくてもトラブらないけど。
0049デフォルトの名無しさん2014/04/16(水) 03:16:00.58ID:FwnwH35E
それってツリー見てなにかわかるん?
0050デフォルトの名無しさん2014/04/16(水) 03:22:23.47ID:LjaPwUAW
というよりbisectだよね
0051デフォルトの名無しさん2014/04/16(水) 03:24:09.57ID:O1uBrWmJ
自動ビルドテストしようず
GitHubでプルリクエストすればマージ前でも自動テストしてくれるみたいだからリモート環境だけでテストできるんじゃないの
やったことないしどうせ自動化のテストはローカルでしなきゃならんけど
0052デフォルトの名無しさん2014/04/16(水) 03:40:07.18ID:FwnwH35E
そういやbisectで思い出したけど、
テストコードをしっかり書いているとする。

バグが何処かで混入されたとして、
それを見逃したということはテストコードがなかったということになる。

そこで新たにテストコードを追加する。
さて、このテストコードを使って、どこでバグが混入されたかを
bisectで調べるにはどうしたらいいだろう?

git bisectをするたびにコミットが変わるのはいいんだが、
そのコミットには当然追加されたテストコードは含まれていない。

やばい、酒ははいってて、何を書いているのかわからないwwww
0053デフォルトの名無しさん2014/04/16(水) 03:40:53.57ID:FwnwH35E
おーい、ちゃんと文章なりたってるかー?w
0054デフォルトの名無しさん2014/04/16(水) 03:49:55.54ID:EGmRT2AB
>>49
上手いこと説明できないが、ツリーがないよりあったほうがマージのやり直しはしやすい気がする。たぶん自分が関わってるプロジェクトの特性上のものだと思う。
まあ、ツリーだけってよりは1個1個コミットを見ていってそのローカルブランチではなにをするつもりだったのかとかを解釈していくという方が重要なのだろうけど。
>>51
インタラクティブなアプリだと自動でのビルドテストがかなり難しいんだよね。
OpenGLとかメディア系ライブラリと各種センサを使ったアプリとかだと、描画が想定通り行われてるかとか、ムービーが正しく再生されてるかとか、
センサの値が正しく反映されてるかとか、そういうものをテストコード書くのが難しすぎる、というか結局人間が解釈しないとOKかNGか判断できないものが
多すぎてTDDしづらいんだよね。ゲームとか典型例なんじゃないかな?
0055デフォルトの名無しさん2014/04/16(水) 04:03:18.65ID:O1uBrWmJ
>>54
そりゃ無理だな
UIが複雑なのはテストの維持がめんどすぎて割に合わない
0056デフォルトの名無しさん2014/04/16(水) 12:51:47.35ID:LjaPwUAW
>>52
git bisectはコミットされてないdiffを各コミットに適用してくれるから、
テストコードを自動マージできるように書いて
それをコミットしないままbisectすればできるよ
0057デフォルトの名無しさん2014/04/16(水) 14:21:34.93ID:zACk8w4U
漏れはソースを他人に見せたくて仕方がない
露出狂鴨試練
0058デフォルトの名無しさん2014/04/16(水) 21:49:07.29ID:SSurM9Qy
git statusをgit sだったりgsにエイリアスを設定して短くするやり方ありますよね
これgitの開発人たちに公認公式のエイリアスの設定方法って公開してませんかね?
0059デフォルトの名無しさん2014/04/16(水) 21:52:45.78ID:23qQxnbb
alias の設定の「仕方」なら公認公式もへったくれもなく今やってる方法が公式だろうと思うが
大抵の人が設定してるであろう、一般的な alias の一覧みたいなのないかってことかね
0060デフォルトの名無しさん2014/04/16(水) 22:13:23.97ID:QCJjs0GG
git config alias.変更表示 diff

こんなのがあったところで使うかよw
そんなの自分の自由
0061デフォルトの名無しさん2014/04/16(水) 22:59:29.71ID:HsjrRpyw
shellのalias使えば良いだけじゃね?
0062デフォルトの名無しさん2014/04/16(水) 23:18:22.32ID:YDFUIFCV
git sとか一意に出来るところまであれば自動で補完して実行する機能をオンオフ出来れば良さそう
0063デフォルトの名無しさん2014/04/17(木) 03:15:07.74ID:KNGPRiph
>>56
サンクス
コミットしないままbisectできたのか。
まあ確かに動き的にはcheckoutしているだけだもんな。
0064デフォルトの名無しさん2014/04/17(木) 03:18:41.09ID:KNGPRiph
>>58
subversionを真似したら?
短いエイリアスがあるから。

gitのコマンドが長いのは、短縮は自分で好きなの
割り当る用だと思ったりもしてるんだけど
なんか理由あるのかな?
0065デフォルトの名無しさん2014/04/17(木) 13:12:49.12ID:ns8t/lZO
設定してあるエイリアス晒してみる
st = status
ci = commit
co = checkout
br = branch
dif = diff
difc = diff --cached
lo = log --oneline
lf = log --first-parent
lof = log --oneline --first-parent
0066デフォルトの名無しさん2014/04/17(木) 13:45:04.02ID:aPfzsLri
statusはsだろうが
commitはcだろうが
きめえよ
0067デフォルトの名無しさん2014/04/17(木) 14:05:07.53ID:vWEx34Yo
一番良く使うstatusとかlogはシェル関数で置き換えちゃってるな
gst = git status -s -b
glo = git log --graph --branches --remotes --pretty=format:'%C(black white)%h%Creset%C(blue bold)%d%Creset %s'
0068デフォルトの名無しさん2014/04/17(木) 16:24:56.84ID:xYf1zYlh
>br = branch
わかる
>dif = diff
まぁ、わかる
>ci = commit
どういうことなの
せめてcmでしょ
0069デフォルトの名無しさん2014/04/17(木) 16:47:58.48ID:ns8t/lZO
>>68
俺はかつてCVSユーザだったんだが、
CVSのcommitはciというエイリアスを持ってたんだよ。
SVNもciはcommitのエイリアスになってるだろ?

といってもそもそも何でCVSのcommitがciなんだよ?って話だよな。
CVSは当初、その前に流行した単一ファイルバージョン管理用RCSにかぶせてつかう
ディレクトリツリー管理拡張のためのラッパースクリプトとして登場した。
RCSのコミットに相当する操作はcheck inと呼ばれ、コマンドはciだった。
CVS, SVNはそれを継承してるというわけだ。

現在でも主要なディストロはだいたいRCSのパッケージを持ってて、
インストールすればciコマンドを使えるぞ。
ちなみにRCSのcheckoutは当然coだから使い方はmanを見てくれ。
0070デフォルトの名無しさん2014/04/17(木) 17:02:55.46ID:x5+myCPx
ci co は結構多いと思うぞ。
過去の VC の流れで。
0071デフォルトの名無しさん2014/04/17(木) 17:04:57.52ID:7VV2HzZ+
checkinの略だったよね?
0072デフォルトの名無しさん2014/04/17(木) 17:32:10.40ID:x5+myCPx
github で gitconfig alias で検索すると結構色々でてきて面白いな
https://github.com/search?l=ini&;q=gitconfig+alias&ref=searchresults&type=Code

わりとみんな同じ感じなんだねえ
0073デフォルトの名無しさん2014/04/17(木) 17:33:57.98ID:xYf1zYlh
そうなんか、知らんかった
調べたらmercurialもciなんだな
0074デフォルトの名無しさん2014/04/17(木) 17:38:39.61ID:Fx1ijgIa
branchはbだろうが
diffはdだ!
0075デフォルトの名無しさん2014/04/17(木) 17:44:29.46ID:x5+myCPx
一文字だと不安(?)なのか二文字が多いなgithubだと
0076デフォルトの名無しさん2014/04/17(木) 18:39:15.48ID:ns8t/lZO
2文字派か1文字派か。主要コマンドは比較的統一してる人多いね
0077デフォルトの名無しさん2014/04/17(木) 18:50:05.36ID:gzIoS/KQ
cがかぶりやすいからだなw
0078デフォルトの名無しさん2014/04/17(木) 18:52:52.00ID:zmGYf3iT
おれはねエイリアスでgit revertをecho ""に設定している
危ないコマンドや初心者が過去を隠すために使うようなコマンドをあえて禁止している
0079デフォルトの名無しさん2014/04/17(木) 18:56:43.52ID:vWEx34Yo
git revertは危なくもないし過去を隠すコマンドでもないだろ
0080デフォルトの名無しさん2014/04/17(木) 20:34:51.97ID:ns8t/lZO
むしろイケてない過去のコミットを無かったことにできるのがgitの利点かと思うが
0081デフォルトの名無しさん2014/04/17(木) 21:44:17.51ID:XZy5mn+7
revertを禁止にするならresetも禁止にするべき
前進あるのみ
0082デフォルトの名無しさん2014/04/17(木) 21:47:12.93ID:KNGPRiph
え? エイリアスの話?

俺は、

bisect bad に bisect-fixed を
bisect good に bisect-unfixed を
割り当ててる。

便利だよ。
0083デフォルトの名無しさん2014/04/17(木) 22:05:50.07ID:i6eMI8h0
晒してみる。省略形は多用するとクセになるから避けてるなぁ

[alias]
serve = daemon --reuseaddr --base-path=. --export-all --verbose
stat = status --short --branch
exec = "!exec "
0084デフォルトの名無しさん2014/04/17(木) 22:10:52.86ID:u3XqYAfL
>>36ですが皆さん(>>38-40 >>44 >>47 >>48)アドバイスをどうもありがとうございます。

いやーgitをよく知らないままgitで大勢でメンテしているプロジェクトに送り込まれて
しまいまして。

とりあえずgitkとかで表示してみました... うわっ、平行な線が沢山走っている部分が!
なんか宇宙戦艦ヤマトのワープの図を複雑にしたような(たとえが古いか)
線が沢山集中した部分でチェックアウトするともの凄い速度で開発できたりとか
0085デフォルトの名無しさん2014/04/17(木) 22:23:16.22ID:KNGPRiph
開発する人数やワークフローにもよるけど、平行な線は
沢山あるべきじゃないよ。マージしづらくなるからね。
0086デフォルトの名無しさん2014/04/18(金) 02:04:45.06ID:G95hrNw/
>>84
> 線が沢山集中した部分でチェックアウトするともの凄い速度で開発できたりとか
むしろそこは多量のブランチをマージしたところなのでものすごい速度が落ちてるとこじゃないかな
0087デフォルトの名無しさん2014/04/18(金) 10:26:06.59ID:TiuM1iK+
初心者ですけどリポジトリを作ったフォルダの中が管理対象になるんですよね?
でそのリポジトリを削除するとソースファイルまで削除されるんですが
もちろんブックマークだけ(sourcetreeで)の削除はできるのですが
間違ってハードディスク上のリポジトリを削除してしまったら大変です。
何か対策はあるのでしょうか?それともこういうものなのでしょうか
0088デフォルトの名無しさん2014/04/18(金) 10:28:30.25ID:V7HQhmWQ
そりゃそうだろう
リモートにあろうがローカルにしかなかろうがリポジトリ物理的に消したらなくなるわな
大事ならバックアップとっといたらいい
0089デフォルトの名無しさん2014/04/18(金) 10:30:51.17ID:l4m/ooPn
bitbucketあたりにアカウントとってそっちにプッシュしておくとか
0090デフォルトの名無しさん2014/04/18(金) 10:51:55.78ID:TiuM1iK+
ローカルのみで使おうと思ってたのですがリモートにも上げた方がよさそうですね
0091デフォルトの名無しさん2014/04/18(金) 11:00:45.77ID:KSddQ8SJ
Dropboxにリポジトリを作るやり方はここの先輩方はやってますか?
0092デフォルトの名無しさん2014/04/18(金) 11:01:59.07ID:V7HQhmWQ
>>41にそういう奴がいるな
0093デフォルトの名無しさん2014/04/19(土) 12:55:58.24ID:7PgX0mPg
>>84
gitkはgit log(というかgit rev-list)と同じ範囲指定が可能だから、
--allで表示が多すぎるなら表示範囲を適切に限定してやればよい。
特定のtopic(ここではmasterから分岐したとする)とmasterにだけ注目すればいいんなら
gitk master..topic (masterから分岐後のtopicのコミットのみ表示)
gitk master...topic (masterから分岐後のtopicのコミットとmasterにマージされたブランチを表示)
とか。範囲指定は複数回可能なので関係する範囲を好きなだけ指定すればよい。
0094デフォルトの名無しさん2014/04/20(日) 20:26:37.01ID:mILxVbg/
>>91
.zshrcとか.vimrcとかをつっこんだリポジトリはDropboxにbareで載せてる。
0095デフォルトの名無しさん2014/04/21(月) 13:00:54.05ID:ZKyIOHr8
gitignoreで
/*
/.*
このふたつを指定しているのをたまに見かけますが
はじめに/*ですべてのファイルを除外しているので/.*を書く意味は無いと思うんですが何故書くのですか?
0096デフォルトの名無しさん2014/04/21(月) 14:22:29.42ID:dtgq5rdV
ドットで始まるファイルは * のワイルドカードにひっかからない仕様になってる。
シェル由来だね。
0097デフォルトの名無しさん2014/04/21(月) 16:06:02.61ID:mYIG7FH4
なにそれバグだろ
クソだなgitって
0098デフォルトの名無しさん2014/04/21(月) 20:57:12.01ID:1sDt+ic8
無知発見
0099デフォルトの名無しさん2014/04/21(月) 21:13:29.40ID:fKV6ATCG
餌を与えないでください
0100デフォルトの名無しさん2014/04/21(月) 21:48:05.88ID:yaM3rCK5
gitは糞だからsubversionを使え
0101デフォルトの名無しさん2014/04/21(月) 22:43:41.18ID:KhXBvEFh
やだGitじゃないと

VSS、これ最悪でした。
チェックアウトされたままコンパイル通らない状態で担当者休み。どーすんの?
でもMSじゃないと駄目、OSSなんか信用できないとかで泣く泣く使う現場多数。

それに比べるとSubVersionかなりマシだけどオフラインな状態でコミットできない。
ちょっと痛い。
0102デフォルトの名無しさん2014/04/21(月) 23:08:04.07ID:/9iyZBJ2
バージョン管理はgitしか使ったことがない
SVNは何がなんやらサッパリわからないから使えない
0103デフォルトの名無しさん2014/04/21(月) 23:28:39.44ID:wk0llTNx
>>101
× SubVersion
○ Subversion
0104デフォルトの名無しさん2014/04/21(月) 23:37:15.06ID:vVBjDa2G
オフラインの状態でコミットできないとか言ってるけど
コミットしたところでローカルにあるだけだからオンラインで他の奴がお前のリポジトリに
アクセスできなきゃ何もかわらんだろアホか
0105デフォルトの名無しさん2014/04/21(月) 23:51:33.94ID:KhXBvEFh
例えばあなたが飛行機で移動中に10項目ぐらいの作業して
帰社してコミットする時にコメントに10項目だらだら書くの?

やーだー
0106デフォルトの名無しさん2014/04/22(火) 00:01:10.97ID:4JSOLbvH
移動中に仕事するようなワーカホリックになりたくないわ正直
0107デフォルトの名無しさん2014/04/22(火) 00:05:36.52ID:DheOpfOv
一例として挙げただけなのに。想像力無いなあ。
0108デフォルトの名無しさん2014/04/22(火) 00:32:53.01ID:ysn+k/fU
セキュリティ的なこと考えるとオフラインでソースにアクセスってあんまりないんだよね
0109デフォルトの名無しさん2014/04/22(火) 00:48:34.17ID:9W1A4/eN
>>97
いわゆるシェルは.(ドット)で始まるファイルは隠しファイルとしている
隠しファイルは ls *.conf とかで表示されない (.hoge.conf とか)
そんな時に rm *.conf して普段表示されてないファイルが消えるのは困る
だから * だけでは隠しファイルにマッチしないようになっている
ちなみに git が内部でどう処理してんのかは知らん
0110デフォルトの名無しさん2014/04/22(火) 13:52:48.51ID:+yEK9mtt
ふつーにfnmatchでは
0111デフォルトの名無しさん2014/04/23(水) 05:15:19.40ID:7ZWtOh9Z
commit A
commit B
commit C
commit D
commit E
commit F

と順番に作業して
あとから B から D をまとめて

commit A
commit b(B-D)
commit E
commit F

としたいときはどうすれば・・・
0112デフォルトの名無しさん2014/04/23(水) 05:24:18.61ID:kDpoyMyg
よう知らんけど

↓のsquashというやつで出来るんじゃないの?

Git - 歴史の書き換え
http://git-scm.com/book/ja/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E6%AD%B4%E5%8F%B2%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88#コミットのまとめ

> # s, squash = use commit, but meld into previous commit
0113デフォルトの名無しさん2014/04/23(水) 07:20:48.07ID:fIp3qZsI
>>111
rebase -i
0114デフォルトの名無しさん2014/04/23(水) 09:40:59.20ID:T4x0zu0j
2.0って来月でる?
0115デフォルトの名無しさん2014/04/23(水) 20:35:59.48ID:7vo5B08Z
>>111と反対に、一つのコミットであるbを
B-Dに分割したい時どうしてる?
俺はrebase -i
0116デフォルトの名無しさん2014/04/23(水) 22:04:37.40ID:59LgjvrD
rebase -i はいろいろ便利だよな
ただ慣れないと指定にちょっと戸惑う
>>111みたいにB以下をいじりたい場合だと rebase -i A ってしなくちゃいけないんだよな
それと、まとめたり順番入れ替えるだけなら操作は簡単だけど、バラす場合はちょっと操作がややこしい
0117デフォルトの名無しさん2014/04/24(木) 00:12:45.07ID:6IEmJN8m
git rebase -i のコミットの表示順とgit logの表示順が逆なのは何故なんだぜ?
逆に表示するオプションあるけどグラフ表示とは併用できませんし。
0118デフォルトの名無しさん2014/04/24(木) 01:22:42.87ID:cdLHxk0K
logは新しい順に表示しないと不便だと思うし(見たいのは最新の辺のことが多いよね)
rebase -iの指示書は、前のコミットにまとめるとかの指定することを考えると古い順に並んでたほうがわかり易い気がする
まあ、自分は慣れてしまったからかもしれないが
0119デフォルトの名無しさん2014/04/24(木) 01:29:19.68ID:SDYiDObT
>>116
rebase -i B^
0120デフォルトの名無しさん2014/04/24(木) 05:27:42.49ID:6xlhO1bi
rebase -i ^_^b
0121デフォルトの名無しさん2014/04/24(木) 13:18:49.88ID:QakcezKL
最新のコミットだけプッシュする方法と
最新のタグをつけたコミットだけプッシュする方法
2つおしえてください
0122デフォルトの名無しさん2014/04/24(木) 13:19:34.50ID:QakcezKL
なぜかというとコミットログからニートがバレるのでコミットログを全部プッシュしたくないからです
0123デフォルトの名無しさん2014/04/24(木) 13:22:26.51ID:V8z90YIW
>>121
sqush
0124デフォルトの名無しさん2014/04/24(木) 13:47:51.32ID:JOpp0cve
githubのコミットログからニートを検索するツールはよ
0125デフォルトの名無しさん2014/04/24(木) 19:02:31.15ID:yOTIc0ZO
その前に日本人を探すツールが必要だ
0126デフォルトの名無しさん2014/04/24(木) 21:18:41.68ID:hPYav21o
>>122
git filter-branch --env-filter 'GIT_COMMITTER_DATE="Thu, 01 Jan 1970 09:00:00 +0900
"; GIT_AUTHOR_DATE=$GIT_COMMITTER_DATE' --all
0127デフォルトの名無しさん2014/04/24(木) 22:02:19.45ID:6xlhO1bi
コミットログに日時変えればいいだけじゃん。
0128デフォルトの名無しさん2014/04/24(木) 22:18:20.71ID:0H30XzcZ
git init
git checkout -b test
>Switched to a new branch 'test'
git branch
>何も表示されない
git checkout test
>error: pathspec 'test' did not match any file(s) known to git.
なんもコミットされてないとこうなるんですがどうしてこうなるんですか?
0129デフォルトの名無しさん2014/04/24(木) 22:21:42.53ID:hPYav21o
>>128
その状態だと、HEADはrefs/heads/test向けのsymbolic-refになっているが、
そもそも指すべきコミットがないのでrefs/heads/testは存在しない。
よってbranchも何も表示しないし、checkoutもできない。
0130デフォルトの名無しさん2014/04/24(木) 22:23:42.17ID:0H30XzcZ
仕様なんですか
一番最初のコミットが汚れるのがいやですね
0131デフォルトの名無しさん2014/04/24(木) 22:25:13.61ID:6xlhO1bi
rebaseすればいいじゃんw

俺は、とりあえず空コミットを作る。
かもしれないし、作らないかもしれない。
0132デフォルトの名無しさん2014/04/24(木) 22:26:57.87ID:hPYav21o
>>130
つまりコミット無し状態でブランチを複数作りたいということ?
0133デフォルトの名無しさん2014/04/24(木) 22:31:15.84ID:0H30XzcZ
漢がrebaseなんて許せないタチなんですよ
コミットなし状態からブランチを分けて開発したいんです
基本的にmasterは汚したくないのです
0134デフォルトの名無しさん2014/04/24(木) 22:33:01.48ID:6xlhO1bi
subversionがだめな理由が
rebaseできないからなんだけど?

それぐらい、というかそれ以上に
よく使う機能だぞ。

汚くしないためにrebaseがある。
0135デフォルトの名無しさん2014/04/24(木) 22:37:44.72ID:hPYav21o
>>133
129で言ったようにHEADが存在しないrefを参照していればgit initした状態と同じなのだから、
二個目のブランチを作るときにgit checkout -bではなく
git symbolic-ref HEAD refs/heads/branch_name してから開発を進めればいいじゃない
0136デフォルトの名無しさん2014/04/24(木) 23:47:09.80ID:T/Y/fuz3
>>133
そこまで潔癖ならマージもしないだろうからブランチじゃなくてリポジトリを分けたら?
0137デフォルトの名無しさん2014/04/25(金) 00:27:14.58ID:kupFdBxu
master汚したくないっていうのが出来たとして、
1つ目のcommitがあって、それがtestブランチだとする。
が、masterはこのcommitから辿れる親コミットも指してないし、どれも指していない。
fast forward mergeできない状態だけどいいの?
どうせmasterはなにかしらコミットした段階で一番汚されてなくたってそのコミットを指してしまうのだから、コミットしてからチェックアウトしてもいいじゃん。
0138デフォルトの名無しさん2014/04/25(金) 03:08:01.24ID:XQM8U6nM
mergeする予定無いのにブランチ切りたいとか意味不明すぎる
0139デフォルトの名無しさん2014/04/25(金) 04:07:01.58ID:zu0sgmwa
空コミットじゃあかんのか?
つか空の.gitignoreくらい作ってからでも汚れとは思わんぞ
0140デフォルトの名無しさん2014/04/25(金) 04:20:32.33ID:jzYptMLV
気に入らない部分があってもgitを使わざるをえない人は大変だね
個人の趣味でやってるならVCSは好きなのを使えるのにね
0141デフォルトの名無しさん2014/04/25(金) 04:23:50.66ID:4klH39dY
気に入らない部分が、git以外には多すぎる。
0142デフォルトの名無しさん2014/04/25(金) 05:28:33.42ID:cdj1D6xv
だねー
俺はローカル全部svnだわ
0143デフォルトの名無しさん2014/04/25(金) 08:52:14.28ID:xiFjVo8G
3つ前のコミットに戻ってブランチを分岐したい場合ってどうすればいいのでしょうか
3つ前に巻き戻してからブランチするのでしょうか
最後の2つのコミットも念のために残したいのでブランチにしたいのです

具体的には
最後の2つのコミットの変更が破棄になったけど
念のために残したい
という状況です
0144デフォルトの名無しさん2014/04/25(金) 11:14:49.10ID:4klH39dY
三つ前のコミットIDから
ブランチ作ればいいじゃん。
0145デフォルトの名無しさん2014/04/26(土) 02:05:43.27ID:pkQNyj+N
>>134
rebaseはブランチ取り込むときにontoと組み合わせて使うことの方がおおいなぁ。
コミットログの都合もあるから履歴整理にはほとんど使ってない人がここに。
0146デフォルトの名無しさん2014/04/26(土) 02:08:06.72ID:/GEUo84h
なんでブランチ取り込む時にontoなんだ?
普通にマージかチェリーピックすればいいだろ。
そのための機能なんだから。
0147デフォルトの名無しさん2014/04/26(土) 02:26:05.50ID:pkQNyj+N
やり方がわるいんかな?
複数のブランチ平行したときとかontoつかってカットする感じに履歴いじらないとFFになってくれないことが多かった。
0148デフォルトの名無しさん2014/04/26(土) 02:39:25.28ID:7YL+swb1
>>147
だからなんでFFにするんだよ
0149デフォルトの名無しさん2014/04/26(土) 02:41:39.49ID:/GEUo84h
onto使ったら必ずほぼ確実にFFできないだろ?
なんか無駄に複雑なことしている気がするな。
0150デフォルトの名無しさん2014/04/26(土) 13:53:59.32ID:Vv5x70uz
ホームディレクトリ以下の設定ファイルだとか、個人で使ってる自作ツールはSubversionで管理してる
ブランチ分けるどころか、リポジトリも1つだけで全部まとめて入れてる
そういう使い方するとGitよりSubversionが使いやすい
0151デフォルトの名無しさん2014/04/26(土) 13:58:18.76ID:/GEUo84h
>>150
いや、ディレクトリがわかれるだろ?

subvertionを使うと、

* ファイルがあるディレクトリ
* リポジトリ

と二つにディレクトリがわかれるだろ?

それだけで使いづらいじゃん。
0152デフォルトの名無しさん2014/04/26(土) 14:05:48.63ID:Z8XCebgD
?
0153デフォルトの名無しさん2014/04/26(土) 14:20:33.69ID:dMJ+hsKf
>>151
全くその通りなんだけど、svnしか使った事のない人には多分理解出来ないと思う。
0154デフォルトの名無しさん2014/04/26(土) 14:56:15.48ID:1yS20LQ1
リポジトリを1つだけだとさ
じゃあ例えば
C:/php/.git
C:/php/bbs
C:/php/wiki
C:/php/cms
みたいなのがあって、C:/php/cmsの履歴だけ戻す場合とか苦労するぞ
0155デフォルトの名無しさん2014/04/26(土) 15:03:43.34ID:/GEUo84h
なぜリポジトリを一つにまとめるのか?

リポジトリを作るのが面倒であるということである。
0156デフォルトの名無しさん2014/04/26(土) 18:03:12.98ID:Vv5x70uz
リポジトリをたくさん作るとその数だけcheckoutしてpull/updateしてcommitしないといけない
自分一人で使うだけでそんな面倒なことしない
0157デフォルトの名無しさん2014/04/26(土) 18:26:46.44ID:ztOmzoR+
subversionだと、このようにpullやupdateや
commitがすごく大変で間違えられない作業なので、
このように避けようと思うようになります。

gitだと気軽なのにね。
0158デフォルトの名無しさん2014/04/26(土) 18:27:44.99ID:bHDNIx6I
cvs使ってた10年以上前は、私もひとつのリポジトリでやってたことがありました。(*ノωノ)
0159デフォルトの名無しさん2014/04/26(土) 18:30:43.24ID:Vv5x70uz
一人でしか使わないんだからコンフリクトなんかしない
commit間違えたらもう一回commitするだけ
開発頻度の低いファイルの管理にgitは過剰
0160デフォルトの名無しさん2014/04/26(土) 18:39:48.80ID:ztOmzoR+
>>159
コンフリクトかどうかは
重要じゃないよ。

gitが便利なのは過去を修正できるって所。
一人でやっていても、簡単なミスはするもの。

追加漏れのファイルを追加
スペルミスの修正

こんなマヌケなコミットを残さないで済む。
0161デフォルトの名無しさん2014/04/26(土) 18:42:46.95ID:ztOmzoR+
subversionが残すのは"作業"履歴なんだろうね。
gitが残すとのは"修正"履歴

だからsubversionは、いろいろ作業したものが
そのまま残って、あとで、で結局何をしたかったの?って
わけがわからなくなる。

gitは修正履歴だからこのコミットで何を修正したかが
はっきりするから、ある修正を取り除こうとした時も簡単。

subversionだとある修正を取り除くとき
それに関する作業を洗い直さないといけないけど、
gitだとそのある修正に対するコミットがどれかはすぐに分かる。
0162デフォルトの名無しさん2014/04/26(土) 18:47:04.31ID:ztOmzoR+
subversionだと作業履歴が残っちゃうから
ちょっと気軽にコミットしようということができない。

gitだとちょっと一旦ここでコミットしておいて
少し違う作業をとか、こまめにコミットしておいて
あとでまとめようとか、一つのファイルの修正のうち
一部分だけをコミットしておこうとか簡単にできるが

subversionだとこまめにコミットしたら
その内容がずっと残る。恥ずかしいから
こまめにコミットできない。
あとでまとめてやるからいろんな修正が混ざってしまう。
0163デフォルトの名無しさん2014/04/26(土) 18:56:37.43ID:Vv5x70uz
.bashrcや.inputrcが数千行になったらgitの導入を考える
0164デフォルトの名無しさん2014/04/26(土) 18:57:44.05ID:ztOmzoR+
HAHAHAHA、基準がおかしい奴がいる。
こういう奴がgitに反対しているわけさ。
0165デフォルトの名無しさん2014/04/26(土) 19:04:14.03ID:a+LUSt4b
bareめんどくない?
0166デフォルトの名無しさん2014/04/26(土) 19:10:57.12ID:Vv5x70uz
だいたい.screenrcに対する特定のコミットを取り消すとか、そんな必要性感じたこと一度もない
0167デフォルトの名無しさん2014/04/26(土) 19:12:42.80ID:ztOmzoR+
面倒くさいなら作らなくていいよ。
bareは必須ではない。

gitを始めるのに必要なのはディレクトリで
git initするだけ。

これでもうすぐにブランチ切り替えも
タグの作成もできる。

某subversi○nみたいに
わざわざtrunk、branches、tagsディレクトリを作って
コミットなんて面倒なことしなくていい。
0168デフォルトの名無しさん2014/04/26(土) 19:13:48.14ID:ztOmzoR+
>>166
君は.screenrcの管理とかしかしないんだねw

えぇ、subversionは面倒だからでしょうね。
気軽に始められないw
0169デフォルトの名無しさん2014/04/26(土) 19:17:57.35ID:Vv5x70uz
いや、何の事かわからないが、subversionでもgitでもどういうブランチ構成にするかはその人次第だから
0170デフォルトの名無しさん2014/04/26(土) 19:22:53.05ID:ztOmzoR+
subversionにおけるブランチの作り方
※ブランチ作るたびに、この長いURLをいちいち入力する必要があります。

svn cp https://www.example.com/svn/trunk \
https://www.example.com/svn/branches/v1p2p3

gitだとこれだけです。

git branch v1p2p3


さてブランチに切り替えてみましょう。

svn sw https://www.example.com/svn/branches/v1p2p3

ぷぷぷぷw

なんでsvnはそんな長いURLが必要なんですか?wwww
あ、ブランチは、ただのコピーでしか無いから、どこにでもコピーできる=コピー場所を指定しなければいけないんですね。

これを毎回毎回入力して切り替えるんですね。大変ですねぇwwww

git checkout v1p2p3

みじかい!
0171デフォルトの名無しさん2014/04/26(土) 19:24:43.18ID:ztOmzoR+
>>169
gitではブランチはブランチという機能なんで
subversinoみたいに、ブランチディレクトリ(branches)なんてのを
作る必要はないんですよ。

だからgitではブランチ名だけで、作成や切り替えが可能です。
いちいちディレクトリ(branches)書く必要はありません。

こんなの、き・そ・! です。
0172デフォルトの名無しさん2014/04/26(土) 19:30:14.03ID:y+As8odQ
おっ、そうだな
0173デフォルトの名無しさん2014/04/26(土) 19:30:26.82ID:Vv5x70uz
いや、初めからブランチ作らないって言ってるし、.my.cnfでも.pgsqlでもなんでもいいが、ブランチ切って修正を分ける必要性を全く感じない
0174デフォルトの名無しさん2014/04/26(土) 19:32:08.93ID:ztOmzoR+
>>173 は「俺は日付毎のディレクトリを作るだけで十分」と言ってるのと同じだと見てあげましょうwww
0175デフォルトの名無しさん2014/04/26(土) 19:33:56.04ID:Z8XCebgD
なんでこの人こんなに発狂してるの・・・
別に git はゴミ!とか貶してるわけじゃないのに
0176デフォルトの名無しさん2014/04/26(土) 19:34:13.93ID:Vv5x70uz
世の中には.ssh/configをテストファーストで日々更新してる人もいるのかもしれない、そういう人にはリリースと開発でブランチを分けてるのかもしれない
俺はそんなことしてないけど
0177デフォルトの名無しさん2014/04/26(土) 19:35:28.56ID:ztOmzoR+
subversion使っている人は、みんな
ブランチ作らないって言ってるんでしょうかね

みんなブランチ要らないと言っているのであれば
subversion使っているだけで、アホとみなして良さそうですね。

実はブランチ作れないの間違いでしょうかねw

面白いですねwww
0178デフォルトの名無しさん2014/04/26(土) 19:36:05.09ID:ztOmzoR+
subversion使っている人には、
ブランチの必要性から説明しないといけないのでしょうか?www
0179デフォルトの名無しさん2014/04/26(土) 19:39:59.70ID:iVzDEppp
>>173
お前がブランチ作らないとかどうでもいいわ。

バージョン管理システムにおいて
ブランチは重要な存在であり、
subversionがブランチの管理が面倒だという事実に
代わりはないんだから。

それともSubversionの一般的な使い方において
ブランチは使うべきではないと言うつもりかい?
0180デフォルトの名無しさん2014/04/26(土) 19:44:23.08ID:Vv5x70uz
いや、ホームディレクトリ以下の設定ファイルという前提なんだけど
個人の.bashrcを開発ブランチとリリースブランチに分けて更新するのが一般的という認識はなかった
0181デフォルトの名無しさん2014/04/26(土) 19:46:55.41ID:koYBfWi3
ホームディレクトリ以下をgitで管理しようと思うのならば、
git initするだけでもう使えるよ。

subversionはそれだけで面倒。
最初の一歩の時点でもう負けてるんだ。
0182デフォルトの名無しさん2014/04/26(土) 19:51:45.97ID:Z8XCebgD
なんか話を一般化して叩いてるけどホームディレクトリ内のファイルの管理ぐらい好きにやらせたれや・・・
0183デフォルトの名無しさん2014/04/26(土) 19:54:06.41ID:HaseiyYq
自由にやっていいよ。面倒な方法だって言っているだけだから
別に面倒な方法だってわかってやってるなら問題ない。

面倒じゃないどころか、Subversionの方が簡単だって言い出すから悪い。

gitはgit initですぐにgit管理が始められるのに、
それよりも手間がかかるsubversionが簡単なワケがない。
せめて反証を出せと。
0184デフォルトの名無しさん2014/04/26(土) 19:54:51.87ID:Vv5x70uz
>>181
なんでリポジトリを別の場所に置いたらダメなの?
特にマシン間で設定フィルを共有する場合、中央リポジトリが必要になるのは同じなんだから
0185デフォルトの名無しさん2014/04/26(土) 19:56:09.41ID:Z8XCebgD
まあそこら辺は git スレでわざわざ頑張る内容ではないだろな
0186デフォルトの名無しさん2014/04/26(土) 19:56:42.73ID:HaseiyYq
>>184
> なんでリポジトリを別の場所に置いたらダメなの?
ダメなんて言ってないだろ。
面倒だって言ってるだけ。

gitでも当然のようにリポジトリを別の場所におけるわw

だけど、リポジトリを別の場所に置くのは面倒。
必須でない作業なのだから、オプションであるgitの方が簡単。

少なくともその意見はsubversionの方が簡単だという理由にはなっていない。
リポジトリを別の場所に置くしか無いという欠点しか言っていない。
0187デフォルトの名無しさん2014/04/26(土) 19:59:08.48ID:Z8XCebgD
>そういう使い方するとGitよりSubversionが使いやすい
これは「俺にとっては」ってのが頭につくだけの話でしょ。
別に白黒付けるもんでもなかろうに。
0188デフォルトの名無しさん2014/04/26(土) 20:01:00.30ID:HaseiyYq
>>187
じゃあ、俺は、
「多くの人にとっては」って頭につけることにするよ。

お前ん中ではそうなんだろうなw
お前ん中では、設定ファイルの管理にぐらいしか使わないんだろうな
0189デフォルトの名無しさん2014/04/26(土) 20:14:52.93ID:7bCdF05U
まとめ

(俺にとっては)Subversionの方が簡単

俺にとってはって、君、Subversionを何に使ってるの?

設定ファイルの管理だけど?
ブランチは使わない!

でもブランチやタグを使うと面倒だよね?

だから、俺はブランチは使わない!

ふーん、そう、それで何が簡単なの?
git なら git initだけで初められるけど。

gitで別の場所にリポジトリを置いてみなさい。
subversionはそれと同等!

いや、同等って、それ簡単ということになってないじゃん。
0190デフォルトの名無しさん2014/04/26(土) 20:38:24.09ID:knmAOh4a
ブランチ使わないって前提の話で、subversionはブランチ作るのが面倒とか的外れな反論しておかしくなった
ドットファイルをブランチに分ける事は基本ないわな
0191デフォルトの名無しさん2014/04/26(土) 20:42:18.34ID:7YL+swb1
>>190
俺はブランチを切りまくって、そいつらをマージしたものをマシン毎につかってるな。
いつのまにか47もブランチできてたわ。
0192デフォルトの名無しさん2014/04/26(土) 22:24:36.07ID:jBTvJ1OX
Unix系のツールの設定ファイルとか複数の環境で使いまわすことが普通だし
最終的にはどんな環境でも一つの設定ファイルで動くようにまとめることが多いけど、
一時的に特殊な環境用にカスタマイズとかブランチ切って編集してるね
暇なときにマージして統合
0193デフォルトの名無しさん2014/04/26(土) 23:35:52.72ID:pkQNyj+N
>>148,149
たとえば
$ git log --color=never --all --graph --pretty="[%h] %d %s"
* [6a1c481] (HEAD, master) 2
* [523984e] (branch2) branch2-2
* [6554768] branch2-1
| * [05c389f] (branch1) branch1-2
| * [6b85c6d] branch1-1
|/
* [9d47912] 1

ここから、 branch1をFFなるように取り込もうとしたら
$ git rebase --onto master 3829497 branch1 として 分岐なくしてからマージしない?
それとも履歴にはこだわらず、 rebaseで1世代だけにしてからcherry-pickするのが普通?
0194デフォルトの名無しさん2014/04/26(土) 23:37:58.13ID:pkQNyj+N
>>193
$ git rebase --onto master 9d47912 branch1
の間違い、 行数削ったときに直すのわすれてた
0195デフォルトの名無しさん2014/04/26(土) 23:46:42.24ID:7YL+swb1
だからなんでFFに拘るんだよ
0196デフォルトの名無しさん2014/04/26(土) 23:47:26.43ID:7YL+swb1
>>193
あと、普通は
git rebase master branch1
で済む。
0197デフォルトの名無しさん2014/04/26(土) 23:49:50.02ID:DhTsVAJ/
FFはCoolだかr
0198デフォルトの名無しさん2014/04/27(日) 01:10:15.13ID:TcUJdg0l
>>196
その通りだね。

やっぱり無駄なことしてるじゃんw
onto使う必要がない所でonto使ってた。
0199デフォルトの名無しさん2014/04/27(日) 05:35:56.46ID:/n7QikUK
svnでわざわざtrunk、branches、tagsディレクトリを作ってコミットなんて面倒なこと
ただの一度もしたことねえわ
0200デフォルトの名無しさん2014/04/27(日) 06:08:30.59ID:TcUJdg0l
まあ、そういう変な人もいる。
0201デフォルトの名無しさん2014/04/27(日) 10:01:09.95ID:YIeV8hDm
>>198
なくても平気なのかー、単純にrebaseするだけじゃダメな時あったんだけどなぁ、まっいっか。
FFこだわるのは、FF縛りがあるから。
0202デフォルトの名無しさん2014/04/27(日) 10:13:05.46ID:+jGSbN4U
俺は、FFT派
0203デフォルトの名無しさん2014/04/27(日) 14:15:59.24ID:ijMC55vL
git覚えたての子が暴れてて凄いなこのスレ
0204デフォルトの名無しさん2014/04/27(日) 16:48:41.84ID:/n7QikUK
git派は自分のやり方以外は認められない原理主義者が多いんだろ
0205デフォルトの名無しさん2014/04/27(日) 16:52:16.11ID:s0HPULD5
>>201
リモートから取り込んだコミットを
ローカルで改変してたりしないか?
開発用の修正を間に挟んだりとか。
0206デフォルトの名無しさん2014/04/27(日) 20:05:48.91ID:0q81XbwG
>>205
それでもFFにならないわけはない。
0207デフォルトの名無しさん2014/04/27(日) 20:42:56.75ID:RalmXzvw
>>9
>GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus) [単行本(ソフトカバー)]
>大塚 弘記
>http://www.amazon.co.jp/gp/product/477416366X/

この本買ってみた。題名とは違うがGitそのものの入門的な解説もちゃんとあるな。
やたらけなしている人がいたが本当のところはどうなのか確認してみるつもり。
読んだらまた感想書く。
0208デフォルトの名無しさん2014/04/27(日) 20:56:58.74ID:37jfUrsD
Gitについてはさわり中のさわりしか書いてないからまともにGit使おうと思ったら別の入門書買い足すことになるってだけだよ
0209デフォルトの名無しさん2014/04/27(日) 21:34:00.25ID:FuM1UcuM
>>207
> この本買ってみた。題名とは違うがGitそのものの入門的な解説もちゃんとあるな。

でもGitの入門的な解説としてはよろしくない印象。
diff --cached を書いてなかったり、不自然な reset の例を示してたり。
まぁそれが主題じゃないからいいんだけどさ。
0210デフォルトの名無しさん2014/04/27(日) 21:39:02.03ID:FuM1UcuM
>>201
> FFこだわるのは、FF縛りがあるから。

何がなんでもrebase && FF派ってやっぱlogが一直線になるのが嬉しいのかね?
俺的にはlog --first-parentで要約できないほうが辛いんだが、
もし他にrebase && FFの利点を知ってれば教えてくれ。
0211デフォルトの名無しさん2014/04/27(日) 21:46:21.84ID:0q81XbwG
まっさきに思いついたのは無能なPMに強制されてるという理由だったが
0212デフォルトの名無しさん2014/04/27(日) 22:46:45.69ID:y1TCx0zf
もうそろそろ2.0リリースされそうだけど使ってる?
0213デフォルトの名無しさん2014/04/28(月) 01:24:17.91ID:r745xiPh
2.0は5月の第三週あたり
0214デフォルトの名無しさん2014/04/28(月) 05:49:30.90ID:G/O2/oE+
プロジェクトいくつも首突っ込んでればリポジトリなんてすぐ数十にはなるわけで
手作業でpullだupdateだとかいちいちやるかよ
そんなもんはスクリプトで一括でやるもんだ
0215デフォルトの名無しさん2014/04/28(月) 06:17:16.50ID:SIdeIE1K
Gitはリポジトリ数十になってもpullとか手作業でいいと思うが?
0216デフォルトの名無しさん2014/04/28(月) 09:59:35.16ID:ES7XWIWl
どのプロジェクトが何の言語で書いたのかわかんない
githubのリポジトリに言語名/プロジェクト名で名前を付けても
スラッシュがハイフンに変換されるか不便
0217デフォルトの名無しさん2014/04/28(月) 12:04:38.80ID:UImZVLxS
どの言語かなんて気にする必要ないだろ。
言語は変わるかもしれないし、複数の言語で
作られているかもしれないんだから。
言語名を頭に入れるという考え自体がおかしい。
0218デフォルトの名無しさん2014/04/28(月) 12:26:41.94ID:ES7XWIWl
Git 2.0になって.gitconfigも変わる?誰か調べてる人いる?
0219デフォルトの名無しさん2014/04/28(月) 12:27:37.63ID:ES7XWIWl
Gitインストールするときにタグ指定し忘れて開発版の最新2.0をインストールしたんだけど特に不具合ないんだよね
0220デフォルトの名無しさん2014/04/28(月) 13:13:07.74ID:DVYrPedv
リリースノート読む限り大きな変更はgit pushのデフォルトがsimpleになることくらい?

自分の場合は既にsimpleに設定してたし
git addでパス省略ってやらないし影響なさげ

でも暫くは移行しない
0221デフォルトの名無しさん2014/04/29(火) 03:34:15.62ID:yOn60HCq
>>210
FFは、利点がーというよりも、うちはリリースの終わったbranch削除しちゃうので一直線にまとまっていないと、都合悪いだけかな?。
btanchは開発工程の作業場所としてわりきってる。
0222デフォルトの名無しさん2014/04/29(火) 04:05:17.29ID:5g+Rsf3h
>>221
FFじゃない状態でブランチマージしてから、そのブランチを削除すると何が問題になるのですか?
もしかして削除したランチに属していたコミットが消えちゃうのですか?
0223デフォルトの名無しさん2014/04/29(火) 04:10:14.41ID:jiz/CQ6q
>>221
どういうふうに都合わるいのか詳しく頼む。

mergeコミットが残ってたほうがブランチの情報が残るという認識なんだけど。
0224デフォルトの名無しさん2014/04/29(火) 09:19:49.77ID:wf66nSBF
修正履歴を残したいのに履歴をいじるのはおかしい
rebaseなんてGOTOと同じくらいいらない
0225デフォルトの名無しさん2014/04/29(火) 10:11:12.30ID:gWfSfq0v
はぁ?
0226デフォルトの名無しさん2014/04/29(火) 10:21:10.13ID:fjfML7VO
わざわざログを壊してまで見やすくしようっていうのがいらねえんだよ
コミッターが何をしたのか把握できないだろう
0227デフォルトの名無しさん2014/04/29(火) 10:22:25.29ID:fjfML7VO
そういうのはタグで管理するべき
rebaseを使うのは下手くそが使うコマンド
0228デフォルトの名無しさん2014/04/29(火) 10:41:22.64ID:jiz/CQ6q
議論が変な方向に行くのがイヤなんで一応ハッキリさせときたいんだけど、
俺が気にしてるのは rebase && FF マージね。
master(統合ブランチ)にトピックの作業を取り込む際に rebase してから
FF merge するってやり方のこと。これをやりたくなる意味がわからない。
他の目的のrebase自体は問題ないと思ってる。
0229デフォルトの名無しさん2014/04/29(火) 10:50:31.16ID:2NEMUWta
masterにブランチをマージするときに、そのブランチのベースがどこだったかという情報に意味があるか
意味がないならrebaseしてからのほうがログが読みやすい
0230デフォルトの名無しさん2014/04/29(火) 10:58:37.39ID:fjfML7VO
どこで作業を行ったかの記録も重要である
余計なことはするな
0231デフォルトの名無しさん2014/04/29(火) 11:14:43.54ID:jiz/CQ6q
>>229
> masterにブランチをマージするときに、そのブランチのベースがどこだったかという情報に意味があるか
どういう場合にベースを意味がある(または意味がない)くわしくたのむ

俺にとって重要なのはブランチの目的とその目的に向かってコミットがどう積み重ねられたのかであって、
ベースがどこかは明示的にはあんまり気にしないんだが。

FFマージじゃなければ統合ブランチの履歴を log --first-parent で要約できるのと、
マージコミットのログなどに表示される親コミット2つ使って
git log deadbeaf..cafebabe
のようにトピックのログだけ簡単に取り出せるのが便利なのに。

後者は内部で merge-base 使ってるのでベースに意味があるのは確かだが、
だとすれば常に(俺にとっては)意味があると言える。
0232デフォルトの名無しさん2014/04/29(火) 11:21:26.26ID:LqsKRBzG
コミッターが行った作業をありのままに記録するべき
はたして捏造された記録に意味があるのか
0233デフォルトの名無しさん2014/04/29(火) 11:33:05.72ID:EYu9TTok
>>224
コミットログとしてほしいものは、
修正の履歴であって作業の履歴じゃない。

コミットして1分後に気づいたタイポの修正なんか
修正の履歴として残す価値はないはない。

レビューを誰かに依頼して見つかったバグの修正なんか
修正の履歴として残す必要はない。

このコミットで何を修正するのかを明確に記録するには
rebaseは必須の機能。rebaseの機能なしで同じことを
やろうとしたら大変すぎて断念するレベル。

反論できる?
0234デフォルトの名無しさん2014/04/29(火) 11:38:42.10ID:LqsKRBzG
その修正の裏に気づかずに別の箇所を修正しているかもしれない
不具合がそこにあればそこのログをみなければならない
でもそれを消しちゃったら困るよね
0235デフォルトの名無しさん2014/04/29(火) 11:40:07.95ID:LqsKRBzG
>>233
だからそういうのはタグで管理しろ
0236デフォルトの名無しさん2014/04/29(火) 11:49:24.38ID:EYu9TTok
>>228
> master(統合ブランチ)にトピックの作業を取り込む際に rebase してから
> FF merge するってやり方のこと。これをやりたくなる意味がわからない。

rebaseしないでmergeしようとするとコンフリクトが起きる可能性が高い。
masterへのmergeで起きたコンフリクトをその場で修正すると
バグを入れる可能性が高くなる。

コンフリクトが起きなければ問題ないが、いざマージしようと思った時に
コンフリクトが起きたら、修正する必要がある。

masterへの追尾が遅れれば遅れるほど、コンフリクトが起きる可能性も高くなるし、
コンフリクトが起きた時の修正も大変になる。だからこまめにmasterへrebaseしておく。

その一環として、最後にrebaseしておくだけのこと。
そうすればレビューアーも安心してレビューを行える。

もしかして一人での開発しかしてないんじゃない?
作った人とは別の人がレビューするとき、最新のmasterにマージできない状態だと困るんだけど。
レビューする人は自分で作ったわけじゃないから、コンフリクトをどう解消させればいいか判断できない。
0237デフォルトの名無しさん2014/04/29(火) 11:51:08.54ID:EYu9TTok
>>235
どうタグを使うっていうんだ?

そもそもタグの使い方が間違っている。

タグはある状態に対してつけるもの。
タグがついたらコードフリーズした状態で
それ移行変更してはいけない。
0238デフォルトの名無しさん2014/04/29(火) 11:54:15.32ID:EYu9TTok
>>234
gitはrebaseしてもコミットが消えてしまうことはない。
コミットIDさえわかればその時のコードは分かる。
コミットIDはreflogに記録され続けるのでコミットIDがわからなくなることはない。
あとはdiffをとれば何を修正したかがわかる。
0239デフォルトの名無しさん2014/04/29(火) 11:57:18.99ID:jiz/CQ6q
俺としては歴史修正ツールとしてのrebaseの使用には賛成なんだが、
やはりそっちの議論にいってしまうか。

いや、本当に全てのrebaseが有害と言ってるヤツもいるのかもしれんけども。

・rebase && FFマージの話
・歴史修正ツールとしてのrebaseの良し悪し

これらは分けて議論したいんだがな。
俺は後者としてrebaseは絶対必要だが、前者の使い方に疑問がある。
0240デフォルトの名無しさん2014/04/29(火) 11:59:42.78ID:EYu9TTok
>>239
じゃあピンポイントで聞くわ。

開発者と、masterへマージ(レビュー)する人が別々の人だとする。

masterへマージする時にコンフリクトが起きました。

この時どうしますか?

1. 開発者に修正(rebase)してもらう
2. 自分で適当に修正する。
0241デフォルトの名無しさん2014/04/29(火) 12:25:05.93ID:jiz/CQ6q
>>236
おぉ、そういう主張か。 >>239 はとりあえず忘れてくれ。

> rebaseしないでmergeしようとするとコンフリクトが起きる可能性が高い。
> masterへのmergeで起きたコンフリクトをその場で修正すると
> バグを入れる可能性が高くなる。

主題から少しはなれるがここはおかしい。
masterにマージする人間とtopicを作ってる人間が別人ならその場で修正なんかせず、topic 作ってるやつに一旦 merge か rebase させるべき。

topic 側から master をマージした直後なら、その topic を master にマージするときはコンフリクトは起きない。このときは master 側からは no-ff でマージすべきだが、topic作ってくれたやつがmergeした方向による。

もちろん topic 作ってる人間は rebase してもいい。たぶん君が取ってる戦略はこっちなんだろう。
ただし topic を rebase したなら master にマージする人間は no-ff マージすべき。

もう一度言うが、俺が気にしてるのは rebase && FFマージだからね?
rebase後にno-ffでマージしてるなら大きな疑問はないよ。(topic作る側はめんどくさそうだなってだけ。コンフリクトしないのに不要なrebaseも強制するわけでしょ?)。

> レビューする人は自分で作ったわけじゃないから、コンフリクトをどう解消させればいいか判断できない。

やっぱ他人なんだよな。mergeする場合はコンフリクトの解消はmerge/rebaseで書いたやつにさせるように運用するのがお勧めだよ。
0242デフォルトの名無しさん2014/04/29(火) 12:27:35.28ID:jiz/CQ6q
>>240
> 1. 開発者に修正(rebase)してもらう
> 2. 自分で適当に修正する。

どちらかで選ぶなら1だね。ただし、そこにはmergeという選択肢もある。
そしてより重要なことだが、俺が疑問視してるのはそこじゃない。
rebase修正してもらうのはいい。そのあとFFマージをするのはなんでだぜ?ってこと。
0243デフォルトの名無しさん2014/04/29(火) 12:30:47.09ID:EYu9TTok
> ただし topic を rebase したなら master にマージする人間は no-ff マージすべき。

gitlabでmasterにマージするときは、
ウェブの管理画面からボタンを押すだけ
その時勝手にno-ffされる。

というか、ウェブの管理画面からはno-ffでしかマージできない。

> (topic作る側はめんどくさそうだなってだけ。コンフリクトしないのに不要なrebaseも強制するわけでしょ?)。
コンフリクト起きないならrebaseもすぐに終わる。1コマンド入力してあとは自動処理。
コンフリクトするなら、結局どこかで作業するのだから大差ない。

コンフリクトするのかな〜?って考えるぐらいなら
さっさと1コマンド入力して終わらせるだけの話。
0244デフォルトの名無しさん2014/04/29(火) 12:35:19.57ID:jiz/CQ6q
>>243
> というか、ウェブの管理画面からはno-ffでしかマージできない。
rebase && FF派じゃねーのかよ (´・ω・`)
0245デフォルトの名無しさん2014/04/29(火) 12:38:23.48ID:EYu9TTok
rebase派だけど、FF派じゃねーよ?
rebaseのあとはどっちでもいい派。

rebaseすることに異議を唱えてるんじゃないの?
0246デフォルトの名無しさん2014/04/29(火) 13:06:53.85ID:jiz/CQ6q
>>245
ちがうよ、rebaseはなくてはならない重要なツール。
俺が疑問に思ってるのは rebase && FF だよ。

理由はrebase && FF してしまうと
1 log --first-parent で要約をとれなくなる
2 マージコミットの親コミットの情報をもとにtopicのログを分離できなくなる
から。詳しくは上の方を見てくれ。
0247デフォルトの名無しさん2014/04/29(火) 13:21:06.01ID:GKmjQvWP
別にどっちでもいいというか
プロジェクトの性質に合わせて運用するべきで
他人がどうこう言うもんじゃないと思うが

FF派にとっては1と2は大して重要じゃないんでしょ
どうせログなんて参考にしかならんのだから

コードを追うならFFの方が都合がいい場合もあろう
0248デフォルトの名無しさん2014/04/29(火) 13:47:07.80ID:+oyspTjV
プロジェクトの性質にもよるし、そのブランチで音一連の変更がどの程度の変更量かだったり、変更の意味にもよるし、mergeやrebaseをする人の技量にもよるよな。

merge/rebaseについて検索すると、mergeはログが分岐するから良くない、原則rebaseするべきとかいうブログが出てくるけど、
http://blog.layer8.sh/ja/2013/04/08/best-git-commands-for-the-lonely-programmer/ (ちょっと違う例だけど)
こういうのって、ケースバイケースでしかないのに、mergeは悪!rebaseは正義!みたいに思っていそうで、
しかもこういうのを読んでmergeやrebaseの利点欠点について理解してない人たちがまたmergeは悪!rebaseは正義!と思い込んでしまって、害しかないと思うんだよな。

pullしてマージが発生したら「これでは自分が持っていたコミットの方が正統としているようなものです。origin へ push したのは a と b の方が先なのに…。」とか意味不明もいいとこ。
0249デフォルトの名無しさん2014/04/29(火) 14:26:17.37ID:jiz/CQ6q
>>247
> 別にどっちでもいいというか
> プロジェクトの性質に合わせて運用するべきで
> 他人がどうこう言うもんじゃないと思うが
rebase && FFすべきプロジェクトの性質ってなに?

> コードを追うならFFの方が都合がいい場合もあろう
それってどういう場合?

一応断っておくが煽りではないよ。
どっちも例でよいので示してみてくれないか。

「あぁ、そういうことならrebase && FFマージ戦略にすべきだよね」
「rebase && FFマージ戦略じゃないと困ったことになってしまうね。解決策としてはrebase && FFマージがベストだよね」
って感じのをたのむ。

ちなみにこれも勘違いされるとイヤなので書くが、rebaseが常に悪ではないのと同様、
俺はFFが常に悪と言っているわけではないぞ。
些細な変更(ドキュメントのtypo修正1コミットとか)なんかはFFでも気にしないし、
コンフリクトしたときtopic開発者がmergeした方向によってはそれをmasterにマージする際はFFすべき。
俺が疑問を持っているのは「何がなんでもrebase && FF」ってタイプの主張だ。
0250デフォルトの名無しさん2014/04/29(火) 14:28:32.84ID:jobIXRFq
どうでもいい
0251デフォルトの名無しさん2014/04/29(火) 14:30:18.99ID:GcKmP5Zr
このスレの先輩方の議論のまとめとか入門とかをwikiにまとめませんか?
0252デフォルトの名無しさん2014/04/29(火) 14:58:20.39ID:jiz/CQ6q
俺も他人が管理してるプロジェクトであれば「うちではrebase && FFでやるから」って言われても
「フーンそうですか。(大変ですね)」くらいで済ますわけですよ。

だが利益もないのに「履歴が一直線になってわかりやすい!」とか主張するやつが増えて、
それが正義みたいになるのは避けたいのです。
# 今のところ rebase && FF は面倒なだけで、「わかりやすい」というのは幻想だという認識

もし rebase && FF がフィットするプロジェクトの性質とやらがあるなら自分の認識を変えるし、
そうでないなら「rebase && FFが許されるのは中学生までだよねー」的な雰囲気になってほしいの。
0253デフォルトの名無しさん2014/04/29(火) 15:08:09.46ID:jiz/CQ6q
名指しして悪いんだけど例えばこれ
http://powerful-code.com/blog/2012/11/merge-or-rebase/

mergeの「悪い点」は履歴を統合ブランチの--first-parentとtopic
ごとに分けて考えることを知ってれば悪い点にはなり得ない。

rebaseの「良い点」はこれまた--first-parentしらねーんじゃねーの的な。
0254デフォルトの名無しさん2014/04/29(火) 15:16:46.84ID:jiz/CQ6q
巨大なプロジェクトでも--first-parentで見れば直線的だし、
かなり要約(圧縮)されるので把握しやすい。
これがもしrebase && FFされてたらと考えるとログ見るのイヤになるだろうね。

例えば Linux で v3.13 から v3.14 の間には
マージコミットを除くと全部で12311個のコミットがあるんだが、
gitk --first-parent v3.13..v3.14
ってやったときに出てくる履歴は12311個と比較するとわずか422個で見た目も"直線的"だ。

これが12311個のコミットを見ないといけないとしたら、
直線的に並んでようが把握するのは楽じゃない。
422個(+マージベースの422個)のタグを打ちたきゃ打ってもいいけど、リリース用のタグが埋もれるわな。
命名規則で回避する?頑張れって感じ。
0255デフォルトの名無しさん2014/04/29(火) 15:25:33.99ID:GKmjQvWP
イマイチ何を問題としているのかが分からん

> 1 log --first-parent で要約をとれなくなる
> 2 マージコミットの親コミットの情報をもとにtopicのログを分離できなくなる
これらが必要になるようなブランチの切り方・コミットの仕方が
FF前提の運用方針と合致してない(=土俵が違う)気がするんだが

>>249にあるように些細な変更はFFでも気にしないんだろ?
些細な変更を積み重ねて全体を変えていくのがFFの考えの根底にあるんじゃないの

考え方の違うものを己の考え方基準で評価したら幻想にも見えるだろうよ
0256デフォルトの名無しさん2014/04/29(火) 15:48:55.09ID:+oyspTjV
>>252
rebase && FFが適してるような状況ってのは普通にあると思うよ。
複数人で開発していて、担当者がモジュールごとにほぼ完璧に分かれているような場合でかつ、クライアントがシステムの仕様についての微修正を一度に広範囲にわたって、何回も指示するような場合。
実際には作業分担が発生するから並行した開発が行われ、それによってブランチが分岐するが、それは作業上の都合であって、修正指示と1:1対応しているものではないから、嬉しいブランチの使い方ではないでしょ。
そういうときにはrebase && FFがベストケースだと言えるような気がするけど。
0257デフォルトの名無しさん2014/04/29(火) 15:56:19.89ID:jiz/CQ6q
>>255
そういうことなの?

トピックブランチを用いる場合、そのトピックがあるひとつの目的を表していて、
その目的を達成するための変更が複数のコミットになったりはしょっちゅうあるんだが。

rebase && FFはトピックブランチ使わないってことなのかね。
0258デフォルトの名無しさん2014/04/29(火) 16:01:07.06ID:jiz/CQ6q
>>256
なるほどなるほど。そういう意見を待ってた。
ちゃんとトピックごとにブランチを作るのを諦めざるを得ない状況ってことね。

first-parentを見てもマージコミットから単一のトピックが見えるわけじゃなく、
同一の目的であっても複数のマージコミットに情報が分散してしまう。
ならもういっそのこと rebase && FF でとにかく全体をいっぺんに見れるようにしよう、

って感じかな。

感謝感謝。
0259デフォルトの名無しさん2014/04/29(火) 16:15:23.14ID:GKmjQvWP
なぜトピックブランチ使わないって結論に至るの?
FFをスムーズに実現するなら
トピックごとに細かくブランチを切る方が得策じゃないの

まあ黙るならそれでいいというか少なくとも俺はもう黙るよ
逃げてすまんね
0260デフォルトの名無しさん2014/04/29(火) 16:17:02.13ID:EYu9TTok
さっきからrebase && FFが問題であるかのように言ってるが、
問題なのは「FF only の masterマージ」だろう?

rebaseはFF onlyにするのに、使うかもしれないってだけで、
別にrebaseしなくても、FFでmasterにマージできることもある。

さらに言えば、masterへのマージ以外には
当てはまらないだろう?
0261デフォルトの名無しさん2014/04/29(火) 16:19:03.64ID:EYu9TTok
そしてFF only で masterマージ している(かのようなログをした)
有名なライブラリ例を上げておく。
https://github.com/lodash/lodash/commits/master
0262デフォルトの名無しさん2014/04/29(火) 16:21:51.52ID:EYu9TTok
>>258
> ちゃんとトピックごとにブランチを作るのを諦めざるを得ない状況ってことね。

ブランチ切らないなら、FFでのmasterマージは
ブランチそのものがないから、ありえないだろう?

トピックごとにブランチがあるからこそ
masterへマージするときにFFにマージすることが出来るんだろう
0263デフォルトの名無しさん2014/04/29(火) 16:26:11.71ID:jiz/CQ6q
>>259
いや、お前の主張には納得できなかったが議論してくれたことに感謝する。ありがとう。
0264デフォルトの名無しさん2014/04/29(火) 16:29:31.48ID:jiz/CQ6q
>>260
> さっきからrebase && FFが問題であるかのように言ってるが、
> 問題なのは「FF only の masterマージ」だろう?
そうなんだけど、FF only の masterマージをしようと思ったら
(コンフリクトするかどうか関係なしに) rebase が必須になるよな?

> さらに言えば、masterへのマージ以外には
> 当てはまらないだろう?
統合ブランチへのマージの話であって、
統合ブランチがmasterとは限らないのでコレは賛同できないが、
話をシンプルにするためにmasterへのマージに限定してもらってもいいよ。
0265デフォルトの名無しさん2014/04/29(火) 16:30:46.56ID:+oyspTjV
>>262
ブランチを明示的に分けなくたって、複数人が同じブランチで作業したら実質的にはローカルブランチの分岐が発生しているわけだから、
pushするためにpullするときにマージが発生するでしょ。
0266デフォルトの名無しさん2014/04/29(火) 16:30:55.69ID:jiz/CQ6q
>>261
> そしてFF only で masterマージ している(かのようなログをした)
> 有名なライブラリ例を上げておく。
> https://github.com/lodash/lodash/commits/master

そうかい。
それで、このライブラリでは何の利点があって FF only で master マージしてるんだってばよ?
0267デフォルトの名無しさん2014/04/29(火) 16:31:51.96ID:EYu9TTok
>>252
> だが利益もないのに「履歴が一直線になってわかりやすい!」とか主張するやつが増えて、

「履歴が一直線になってわかりやすい!」のは明確な利益だよ。
実際にわかりやすいんだから。

さて本当の問題は「FF only の masterマージ」といったわけだが、
no-ffのmasterへのマージ。これでも履歴は一直線に出来る。

履歴は一直線だが、no-ffを使っているから、この場合は問題ないだろう?
0268デフォルトの名無しさん2014/04/29(火) 16:40:59.32ID:jiz/CQ6q
>>267
> 「履歴が一直線になってわかりやすい!」のは明確な利益だよ。
> 実際にわかりやすいんだから。

うーん、FFマージせずに、必要に応じてno-FFしてfirst-parentで要約したほうが
直線的なだけでなく情報が圧縮されてわかりやすいと主張しているんだが、
君には伝わってないように思えるな。 >>254 をもう一回読んでみてくれないか?
0269デフォルトの名無しさん2014/04/29(火) 16:43:19.24ID:EYu9TTok
>>266
> それで、このライブラリでは何の利点があって FF only で master マージしてるんだってばよ?
俺がそのライブラリの開発者じゃないからしらんけど、
no-ffにする理由がないからだろ?

トピックブランチでは複数の修正を行わない。
トピックブランチでは必ず一つの修正のみを行う。
大きな修正はせずに小さく修正する。小さな修正を連続させて開発する。
そうするとトピックブランチに含まれるコミットは必然的に一つになる。

もしくはトピックブランチの内容は必ずsquashしてからマージすると考えてもいい。

そうする--first-parentでまとめてみたいと思っていたログは
masterへマージする段階で単に一つのコミットにまとまるだけの話。
逆にまとまって見れれば十分なわけでそれを分割する必要あるの?

と考えていると推測。

俺は小さな修正の連続での開発にしきれないから
トピックブランチに複数の修正を入れるけどね。
0270デフォルトの名無しさん2014/04/29(火) 16:51:05.11ID:jiz/CQ6q
>>269
> > それで、このライブラリでは何の利点があって FF only で master マージしてるんだってばよ?
> 俺がそのライブラリの開発者じゃないからしらんけど、

ちゃんと説明できないならこのライブラリの例は無視するよ。
# いったいどこからどこまでがお前の主張なの?

俺もトピックでは複数の修正をよく入れるし、
意味のある単位で分割してる(つもりだ)からsquashなんてしたくない。
0271デフォルトの名無しさん2014/04/29(火) 16:53:09.53ID:EYu9TTok
>>270
説明してるじゃねーか。

ライブラリの作者じゃないんだから
作者の本当の考えはわからん。
それは当たり前。


それとは別に推測で
ちゃんと説明してる。
0272デフォルトの名無しさん2014/04/29(火) 16:59:55.32ID:EYu9TTok
>>270
> 意味のある単位で分割してる(つもりだ)からsquashなんてしたくない。

意味のある単位で分割してるのであれば、
それを一つづつのコミットに分割して、それぞれマージすることは可能だよね?
また一つのコミットだけのトピックブランチは作ったこと無いの?

コミット一つに対応する、マージコミットを作るなんて無駄だしなくてよい。

(rebase・・・かどうかは実は関係なくて)して
FF-onlyでmasterにマージするってのは、単にコミットを
一つづつマージしていると考えれば良い。

大きな修正を一度にするのではなくて、
小さな修正の繰り返しで開発するとこうなるんだよ。
0273デフォルトの名無しさん2014/04/29(火) 17:07:40.73ID:EYu9TTok
ちなみに俺が反論している所を明確にしておくと、

「履歴が一直線になってわかりやすい!」というのが
メリットではないような言い方をしている点。

トピックブランチに複数のコミットが含まれている時に
それをno-ffでマージというのは俺もしている。

履歴が多少一直線になっていなくても、ちょっと見づらいだけだから目をつぶる。
目をつぶるのであって、履歴は一直線になっていたほうがわかりやすい。これは事実。

rebaseなんてコンフリクトが起きなければ大した作業ではないし、
とある誰かが要求しているようにno-ffでのmasterへのマージはちゃんとするんだから
「わかりやすくするためにrebaseで履歴を一直線に直してもいいだろう?」ということ。

>>261はあくまでFFでmasterにマージするのも
小さな修正の繰り返しで開発できてるならありという例であげただけ)
0274デフォルトの名無しさん2014/04/29(火) 17:14:28.12ID:jobIXRFq
トピックブランチのコミットが2個以上なら
マージはどうあれno-ffでやるべきだろ。
ffでマージしちゃったら、
あとでそれらコミットがなんのトピックに属していたのか
わかりにくくなるんだから。

そういうケースまで一直線のほうがいいとか言うのはアホ。相手にするだけ無駄。
0275デフォルトの名無しさん2014/04/29(火) 17:18:53.63ID:EYu9TTok
連投するが、俺がいいたいのは

・masterへのマージするときはno-ffをつけろ。(念を押すがmasterへのマージの話)
・コンフリクトが起きるようなmasterへのマージは禁止。
・rebaseはしたほうがベター。なぜベターなのかというと履歴が一直線になって見やすいから。

ということ

この結果、no-ffでmasterへマージする前に「rebaseするのは一般的なオペレーション」になる。
そしてrebaseしていなくても、コンフリクトが起きなければmasterへno-ffマージしてよいので
そうするとマージ前のrebaseの有無は関係なくて単に「masterへはno-ffマージしろ」って話になる。
0276デフォルトの名無しさん2014/04/29(火) 18:11:38.86ID:jiz/CQ6q
>>273
コミットグラフを書けるかちょっと試し書き。ずれてたらすまん。
お前の主張は

A-B-C
/ \
X-------M-M
\ /
D--E--F

こういう変更は DEF をrebaseして

A-B-C
/ \
X-------M---------M
\ /
D'-E'-F'

こうすべき、ってことでいいかい?

俺的にはどちらもfirst-parentで

\
X-M-M
/

に要約可能だからどっちでもいいよ。
# ただ自分でやる場合はコンフリクトしない限り前者のほうがrebaseしなくていいから楽だけと思うけどね。
# もちろんDEFのマージ時にコンフリクトしたらrebaseすることもある。DEF開発者によるmergeも可。
0277デフォルトの名無しさん2014/04/29(火) 18:12:17.95ID:jiz/CQ6q
疑問視してるのは

X-A-B-C-D'-E'-F'

にすべきという主張だ。
これはA-B-CとD-E-Fが本来別の目的を目指して重ねたコミットだという情報が失われてしまうから
たとえ一直線でもわかりにくいと俺は主張しているんだよ。

トピックが2個程度ならどっちでも良さそうだが、トピックが数十の場合を想像してくれ

X-M-M-M-.....M-M

という数十個の要約を見る(必要に応じてトピック内のABC等を確認する)のと

X-A-B-C......(区切りもなく、めちゃくちゃたくさんのコミット)....x-y-z

を見るのと、どっちがわかりやすいの?ってこと。
0278デフォルトの名無しさん2014/04/29(火) 18:15:08.80ID:jiz/CQ6q
ブラウザによっては結構ずれるな。わかんなきゃ無視してくれ。
0279デフォルトの名無しさん2014/04/29(火) 18:24:55.80ID:VGBInRA4
2.0からデフォルトでFF onlyになるのは知ってるよね君たち
どうしてこうなったのかもちろん議論されてるのも知ってるよね
0280デフォルトの名無しさん2014/04/29(火) 18:25:46.52ID:ABe1tyQZ
これもうわかんねえな(バグったときの修正範囲が)
0281デフォルトの名無しさん2014/04/29(火) 18:30:04.67ID:qq5sN0hH
>履歴は一直線になっていたほうがわかりやすい。これは事実。
一見わかりやすい気がするっていうのと、意味的にわかりやすいというのは別だと思うのだがどうだろう

svn のように時系列にコミットが一直線に並んでるのはわかりやすいか?
rebase → ff マージでトピック内の全コミットをフラットにしたのがわかりやすいか?
rebase → squash マージだと master のコミットグラフは一見綺麗になるかもしれんが実態はちょっとアレだし
そしてfirst-parentオプションつければたとえ一直線でなくとも意味的に見やすいログが手に入るんだろう
0282デフォルトの名無しさん2014/04/29(火) 18:44:21.18ID:jiz/CQ6q
>>279
pull.ff 設定が可能になったのは確かだし、単に上流を追従するだけでその上で作業しないリポジトリなら
ff-onlyのほうが嬉しいのは確かだが、今議論してる内容とは前提が全然違うぞ。

# rc1だがmergeもpullもデフォルトでFF onlyな動作じゃないのを確認しちまったじゃねーか。
0283デフォルトの名無しさん2014/04/29(火) 18:45:53.07ID:jiz/CQ6q
>>281
そうそう。
ちなみに gitk --first-parent すると要約されたコミットグラフは事実上一直線なのがわかると思う。
0284デフォルトの名無しさん2014/04/29(火) 19:02:08.02ID:ABe1tyQZ
ベースブランチの状態が多いイコール検証箇所も多くなって面倒だからそうならないようコミットも最小限にしたほうがいいんじゃないの
0285デフォルトの名無しさん2014/04/29(火) 19:47:52.24ID:6KBRCzBr
>>223
というわけで、実験してみた。
ブランチ削除しても履歴はのこるんですね。
そのツリーがごっそりなるものだと思ってた。

マージにしても、前やったときは、強制的に変なコミットログ追加されて気色わるかったきがしたけど、今やると普通だな。

僕含めまわりもまだ不慣れなので、FF縛りは、外せないけどマージするだけなら問題なさそう。
0286デフォルトの名無しさん2014/04/29(火) 19:56:50.37ID:EYu9TTok
> ちなみに gitk --first-parent すると要約されたコミットグラフは事実上一直線なのがわかると思う。
ね? 一直線は見やすいでしょ?

常にに--first-parentするわけじゃないので、
しなくても一直線になったほうが嬉しいよ。
0287デフォルトの名無しさん2014/04/29(火) 19:58:40.00ID:jiz/CQ6q
>>285
報告ありがとう。

今後もGitに慣れるにしたがって、見え方も変わってくるかもしれないな。
周りも不慣れということで大変だと思うが、お前のプロジェクトのベストプラクティス確立にむけて頑張ってくれ。
グッドラック。
0288デフォルトの名無しさん2014/04/29(火) 20:21:45.22ID:jobIXRFq
一直線バカは救いようのないバカだな
0289デフォルトの名無しさん2014/04/29(火) 23:30:04.09ID:+oyspTjV
「履歴が一直線になってわかりやすい!」かどうかって、もはやコミットの順序というものにどういう意味があるかどうかという意味論なのだから、
ケースバイケースでしかないだろう。

アプリケーションの見た目を変更するときにAプランとBプラン、どっちもやってみて、Aプランから20%、Bプランから80%採用、なんてときは履歴が一直線になってないほうがいいだろうし。
(そんな変更をマージコミット一つで済ませてしまうのか、という問題はあるが)

結局、履歴が一直線になってたほうが良い場合もあるし、良くない場合もあるというだけだろ。どっちかが明らかに正しいというもんじゃない。
0290デフォルトの名無しさん2014/04/30(水) 00:35:08.42ID:UGHSixxv
一直線が良いケースが挙げられてないけどな
0291デフォルトの名無しさん2014/04/30(水) 01:11:54.22ID:pWom3qZR
一直線: 見えを貼りたいだけのバカ。俺はまっすぐ順調に開発をしてきたというアピールがしたい
0292デフォルトの名無しさん2014/04/30(水) 01:29:11.37ID:Gbwo+6jG
東大一直線
0293デフォルトの名無しさん2014/04/30(水) 05:04:21.07ID:mdKtpEfX
意味不明なエラーでpush不可能になった
remote: FATAL: WM refs/heads/*** **** **** DENIED by fallthru
remote: error: hook declined to update refs/heads/***

git reset --hard origin/upstream_worktree
して差分再適用してやり直したら通った

こんな意味不明なことが多発するのがgit
現実的には使い物にならないね
0294デフォルトの名無しさん2014/04/30(水) 08:30:44.87ID:1vNQkGgC
hook declined
ってかいてあんじゃん
0295デフォルトの名無しさん2014/04/30(水) 11:02:23.25ID:4gXDKzV2
書き込み時刻を見ろ 察してやれ
0296デフォルトの名無しさん2014/04/30(水) 14:42:09.85ID:mdKtpEfX
dis発言に対してはただ叩くだけ
それも論理的に叩けないから人格攻撃に走るしかない
情けない奴らだよな
0297デフォルトの名無しさん2014/04/30(水) 14:48:31.80ID:mdKtpEfX
別リポジトリで他人による大量の更新があって
半端にマージした挙げ句途中でこけて
半端にステージングした状態になり
結局
git reset --hard origin/upstream_worktree
するしかなくなった

ここまで致命的に腐ってると使い物になるならない以前の次元だね
0298デフォルトの名無しさん2014/04/30(水) 14:55:49.07ID:nKoANYQ+
またいつものコンフリクト恐怖症の人か
0299デフォルトの名無しさん2014/04/30(水) 18:26:55.40ID:mdKtpEfX
コンフリクト解消で済めばいいんだが腐ってるから済まないんだよね
0300デフォルトの名無しさん2014/04/30(水) 18:51:13.84ID:h9gMUOtr
なるほど、コンフリクトの解消の仕方が分からないから
コンフリクト恐怖症になってしまったのか
0301デフォルトの名無しさん2014/04/30(水) 18:51:51.42ID:rHgIYikH
Aリポジトリでもらったpull requestを
Bリポジトリに反映する方法を教えてください
0302デフォルトの名無しさん2014/04/30(水) 18:59:19.90ID:1L5gAVQy
ところで、大声でジットと呼ぶ人がいて困ってるんだ
ディスクトップパソコンみたいな
職場がSubversion教に汚染されてるので仕方ないな
0303デフォルトの名無しさん2014/04/30(水) 19:12:36.93ID:ZY5HChQC
じっと我慢汁
0304デフォルトの名無しさん2014/04/30(水) 19:50:56.80ID:fWhizGrM
レーダーデスクカラオケ
0305デフォルトの名無しさん2014/04/30(水) 19:56:34.41ID:EonfyA0Y
ギットギトにしてやんよ
0306デフォルトの名無しさん2014/04/30(水) 20:25:07.89ID:WuyiDL68
>>297
> 半端にマージした挙げ句途中でこけて

(コンフリクトしたときのデフォルトの動作だ・・・)

> 半端にステージングした状態になり

(コンフリクトしたときのデフォルトの動作だ・・・)

> 結局
> git reset --hard origin/upstream_worktree
> するしかなくなった

(コンフリクト解消できなかったなら git merge --abort すればよかったんじゃ・・・)
0307デフォルトの名無しさん2014/04/30(水) 21:19:26.86ID:livyiFPX
>>297
> git reset --hard origin/upstream_worktree
わろたwwww

え? あんた自分の作業けしちゃったの?www

馬鹿だなぁ。 

gitはsubversionと違ってmergeやrebaseの途中で
コンフリクト起きてごちゃごちゃなっても、
merge/rebase作業をキャンセルして簡単に戻せるのにwww


情けだ、ヒントをあげよう。
mergeしてるってことはコミットしてるってこと。
そのコミットIDはgit reflogすればわかるので
あとはそのコミットIDをチェックアウトすれば前の状態に戻せる。

gitはコミットしたものが消えることはない。
gitって安全だよねー
0308デフォルトの名無しさん2014/04/30(水) 21:28:01.99ID:upmIhAH5
>>217
プロジェクト名に言語が入ってないとなんの言語で作ってるのかわからないじゃん
言語を変えたらリポジトリ名を変更すればいいじゃん
0309デフォルトの名無しさん2014/04/30(水) 21:58:49.74ID:Y0BKcERE
>>308
悪いことは言わないから足を洗え。
0310デフォルトの名無しさん2014/04/30(水) 22:12:33.53ID:livyiFPX
そういやgithubってプロジェクトで使用している言語がわかるようになったよね。
gitだと、カラフルなバーをクリックすると以下のように表示される。

C 45.5% Shell 34.6% Perl 9.6% JavaScript 3.4% Python 2.9% Tcl 2.6% Other 1.4%

>>308
で、このようにリポジトリにプロジェクト名入れなくても
githubならわかるし、gitのように複数言語使ってる時どうすんの?

そんなことも考えれずに、言語名にこだわるなら、
センス無いなとしか言えないなw
0311デフォルトの名無しさん2014/04/30(水) 22:41:41.21ID:rUdHCEgh
githubだけの視野で語られても
0312デフォルトの名無しさん2014/04/30(水) 22:42:55.54ID:livyiFPX
github以外のプロジェクトでも
複数言語でアプリ作るのは一般的だけど?w
0313デフォルトの名無しさん2014/04/30(水) 23:26:12.17ID:mdKtpEfX
307は本当に馬鹿なんだなぁ
管理されてないファイルがreset --hardの対象にならないことは以前に確認済みだから関係ないし
コミットしたものはすぐに権限持ちに差分送ってるし
コンフリクトは元々未来分の作業は既に入っててそこからコメント消す程度

俺が泣かなくて残念だったな
0314デフォルトの名無しさん2014/04/30(水) 23:51:07.78ID:1vNQkGgC
結局gitのおかげで無事でした
めでたしめでたし
0315デフォルトの名無しさん2014/05/01(木) 00:28:44.24ID:WukXr8jq
>>312
プロジェクトを1つのディレクトリに詰め込むタイプですか?
0316デフォルトの名無しさん2014/05/01(木) 09:28:45.91ID:PzUwUPDQ
>>313
意味がわからないなあ
コミットしたものを権限持ちに既に送ってあるとしたら、
お前が上流からマージしようとしたブランチは一体何なの?
お前がコミットしたものを含んでいないブランチ?
0317デフォルトの名無しさん2014/05/01(木) 11:07:25.45ID:PVO7jj2i
>>315
なんでそんな発想が出てくるんだ? (w
0318デフォルトの名無しさん2014/05/01(木) 11:24:48.42ID:/DVUm5po
おれはさ
php/wiki
php/cms
php/mailform
っていうふうに管理してるの
他の言語で同じ物を作ることもあるから
ruby/wiki
みたいに言語をネームスペースにすると管理が楽なんだよ
0319デフォルトの名無しさん2014/05/01(木) 17:12:30.25ID:PzUwUPDQ
>>318
それとGitと何の関係があるんだ?
0320デフォルトの名無しさん2014/05/01(木) 17:20:29.51ID:U31MyfYF
Gitはソースコードを管理するわけだからプロジェクトと関係あるだろ
C:/appData/User/toyohiko/マイドキュメント/mycode/php/wiki
これを外部のリポジトリ管理サービスに突っ込むときのリポジトリ名はphp-wiki
0321デフォルトの名無しさん2014/05/01(木) 17:24:28.79ID:n23f7Uie
名前付けのポリシーとか別に好きにすればいいと思う。
0322デフォルトの名無しさん2014/05/01(木) 17:44:02.84ID:PzUwUPDQ
>>320
そんなもん上流のリポジトリ管理方針次第だ
例えば俺はandroidのapp01プロジェクトを
ssh://remotehost/repo/android/app01.git とかに格納してる
0323デフォルトの名無しさん2014/05/01(木) 17:52:02.03ID:U31MyfYF
>>310
複数言語使っているときは
C:/appData/User/toyohiko/マイドキュメント/mycode/other/wiki
というようにして言語名のフォルダにいれず名前空間に言語名を付けない
0324デフォルトの名無しさん2014/05/01(木) 18:01:12.45ID:n23f7Uie
もう自由にタグ付けできる自分用プロジェクト管理ツール使っちゃえよ。
0325デフォルトの名無しさん2014/05/01(木) 18:13:02.15ID:ZgnY/tZG
>>318
コードネームつければいい。
phpは犬の種類、rubyは猫の種類とか原則を持たせても良い。
0326デフォルトの名無しさん2014/05/01(木) 19:05:29.45ID:PzUwUPDQ
>>323
githubがリポジトリを「https://github.com/ユーザー名/リポジトリ名」で管理してるのは
githubの管理方針であって、gitとは直接関係無いということが理解できた?トヨヒコくん
0327デフォルトの名無しさん2014/05/01(木) 19:26:56.62ID:3NSQaEE2
だからさGitHubだけで語るな
0328デフォルトの名無しさん2014/05/01(木) 22:47:07.56ID:dcOXu/fE
確かにSubversion使ってたときは一つのリポジトリに色々入れてたけど(そしてSubversionを適当に使う限りではそれで事足りてた)、
Gitは部分チェックアウトも出来ないしコミットもブランチも困ることだらけだからプロジェクトごとにリポジトリ分けるのが当然だよな。

自分もGit初心者の頃はSubversionと比較しちゃって部分チェックアウトが出来ないのが不便だのsvn:externalsと完璧に同等のものがないのが困るだの言ってたけど、
そのときGitユーザーから「Subversionとは思想が違うから比較するのは意味が無い」的なことを言われたけど、今はまさにそのとおりだと思うよ。
とりあえずSubversionでややこしい開発はしたくないね、もう。
0329デフォルトの名無しさん2014/05/02(金) 03:41:26.83ID:ZGvM0amq
>>316 pullするだけでその状態になることすらわからないとかお前本当に馬鹿だな
0330デフォルトの名無しさん2014/05/02(金) 03:48:34.89ID:PU3lP69m
>>326
はあ?リポジトリ名の話なのに
>「https://github.com/ユーザー名/リポジトリ名」
ってなんだよ話そらしてんじゃねえよ
0331デフォルトの名無しさん2014/05/02(金) 06:22:29.35ID:KJDTZacL
自分の管理下にあるリポジトリなら好きに名前付けりゃいいじゃん
0332デフォルトの名無しさん2014/05/02(金) 06:35:41.08ID:Ujs4NpLL
>>330
とよひこ君はまだわからないのか
githubじゃなければ、リポジトリ名をphp/wikiとかruby/wikiみたいにネームスペースにして管理できるって言ってんだよ
0333デフォルトの名無しさん2014/05/02(金) 06:37:10.90ID:Ujs4NpLL
>>329
pullするだけですべてうまく行くと思ってるのは幻想だ
ちゃんと勉強したほうがいいな
0334デフォルトの名無しさん2014/05/02(金) 08:09:07.29ID:ZGvM0amq
わざわざvcsの勉強なくて無価値なことはしたくもないね
0335デフォルトの名無しさん2014/05/02(金) 08:29:32.57ID:Ujs4NpLL
Gitに関しては勉強する価値があった
正直まともなVCS使わないのは、高機能エディタやIDEも使わずメモ帳で開発するようなもんだわ
0336デフォルトの名無しさん2014/05/02(金) 11:30:23.12ID:W9jDDFpi
パスワードを含んだファイルがあるんですけど
このファイル内のパスワードを削除して雛形だけの状態にしてからプッシュしてます
一度プッシュしたらほとんど修正はしないファイルなんですがこういう場合ってどうするものですか?
0337デフォルトの名無しさん2014/05/02(金) 13:03:04.92ID:pbdRog+k
>>336
$ touch password.txt; git add password.txt; git commit
$ git update-index --skip-worktree password.txt
$ echo -n 'himitsu' > password.txt; git status
On branch master
nothing to commit, working directory clean

とか?
0338デフォルトの名無しさん2014/05/02(金) 13:06:17.10ID:Pfd+HO5D
>>332
> リポジトリ名をphp/wikiとかruby/wikiみたいにネームスペースにして管理できるって言ってんだよ

別に、/ スラッシュを使わなくても

php\wiki や ruby\wik でもいいだろう?

php_wiki や ruby_wik でもいいだろう?
0339デフォルトの名無しさん2014/05/02(金) 13:17:21.62ID:Oia8PEO/
>>336
aaa.confってファイル名だとしたら
.gitignoreにaaa.confを登録してaaa.conf.sampleみたいなファイル名で
コミットしておくのが多いんでないかな
0340デフォルトの名無しさん2014/05/02(金) 14:47:13.55ID:Ujs4NpLL
>>338
話の流れを読めないアホなのか?>>216が話のはじまりだ
別に本人が / 以外でいいのならそれでいいぞ
ただし、\ で区切るのは勘弁してくれ
0341デフォルトの名無しさん2014/05/02(金) 15:06:33.45ID:WqSAbr7K
User/repository.gitが
User/php/oreore.gitじゃなくてGItHubが/を-に変換してUser/php-oreore.gitになる
bitbucketは名前を強制的に変換はしないがurlのほうは変換される
余計な機能
0342デフォルトの名無しさん2014/05/02(金) 17:26:31.17ID:BNaPh7J8
% git clone http://.../User/php-oreore.git php/oreore.git
すればいいだけじゃねーの。
手元で php ディレクトリが存在してるかどうかに関わらず
Gitは指定したパスにクローンしてくれるよ。
わざわざ指定するのがイヤなら
そういうcloneをするようなスクリプトかぶせてもいいし。
0343デフォルトの名無しさん2014/05/02(金) 17:34:19.17ID:XSE+HkNu
C:¥testからD:¥testに移動したいんですけど
ファイラーで移動したらgitできなくなりました
.gitの中でどのファイルを開いてパスを書き換えたらいいですか?
0344デフォルトの名無しさん2014/05/02(金) 17:44:12.24ID:BNaPh7J8
>>343
わからん。ありそうなのは .git/config だが、
適切に答えるには情報が不十分かつ不正確。
0345デフォルトの名無しさん2014/05/02(金) 17:53:43.03ID:XSE+HkNu
C:¥testでgit initして適当にファイルを作ってコミットして
C:¥testをコピーしてD:¥testにペーストしたんです
D:¥testのなかでgit logしたらログが表示されません
0346デフォルトの名無しさん2014/05/02(金) 18:06:55.59ID:+HIQMOvh
全く再現しねえな
0347デフォルトの名無しさん2014/05/02(金) 18:07:33.93ID:XSE+HkNu
eeeeeeeeeeee
0348デフォルトの名無しさん2014/05/02(金) 18:14:47.14ID:+HIQMOvh
GitBushから

cd /c/temp
mkdir git
cd git
mkdir test1
cd test1
git init
vim README
git add .
git commit -m "initial commit"

エクスプローラで
Cドライブ(C:\Temp\Git\Test1)を右クリックメニューでコピー
Dドライブ(D:\Temp\Git)にて右クリックメニューから貼り付け

GitBushから
cd /d/temp/git/test1
(ちゃんとmasterって表示になった)
git log
(ちゃんとinitial commitのコミットが表示された)


まったく再現しない
エクスプローラ以外のファイラーは知らんが、隠しファイルや隠しフォルダは移動しない設定になってんじゃないの
0349デフォルトの名無しさん2014/05/02(金) 18:23:12.12ID:3JApfdBs
おかしいな・・・またあとできます
0350デフォルトの名無しさん2014/05/02(金) 20:15:24.71ID:dlumt8FZ
Gitのこともほとんど具体的な操作方とか知らないままなんだけど、GitHub実践入門を買った
ので、Git操作のお勉強と同時にGithubも使いだした。
0351デフォルトの名無しさん2014/05/02(金) 20:18:51.30ID:6MkiwdiC
rmした後に全く関係ないファイルをaddするとrmしたファイルのrename扱いになるんですが
単に新規ステージングしたファイル扱いにできますか?
直後にrmしたファイルではなく、始めにrmしたファイルのrenameになっていたり
動作がわけわららんです
0352デフォルトの名無しさん2014/05/02(金) 20:48:37.15ID:YmhbMTXU
>>337 横レス
設定ファイルとか便利そうだな。覚えておこう。
0353デフォルトの名無しさん2014/05/02(金) 20:49:12.42ID:6MkiwdiC
どうやら中身が同じファイルは勝手にrename扱いにしてくれるようですね
空ファイルでトレーニングしていたので混乱してしまいました
0354デフォルトの名無しさん2014/05/02(金) 20:59:01.62ID:6ajnVdK2
>>351
gitのデータ構造としては、ファイルの移動や改名とかは管理してなくて、
表示の時にヒューリスティックに判断してrenameとか出してるだけだから、
気にする必要ないよ。
0355デフォルトの名無しさん2014/05/02(金) 21:02:26.52ID:6MkiwdiC
>>354
ありがとうございます
そういうものだと、気にしないようにします
0356デフォルトの名無しさん2014/05/02(金) 21:42:27.82ID:x3xYwsX7
gitはファイルではなくコンテンツを管理していると言われる所以だね。
0357デフォルトの名無しさん2014/05/02(金) 22:17:35.97ID:Xf1Tcq77
gitでhookファイルを変更した場合
これをGitHubにプッシュした阿戸に
ローカルのファイルとリポジトリを削除してからクローンしたらhookファイルの内容がないんですが何故ですか?
0358デフォルトの名無しさん2014/05/02(金) 23:58:46.02ID:ojQzvTVb
こんなGit入門の本を買った。
http://2ch-dc.net/v4/src/1399042353761.jpg
0359デフォルトの名無しさん2014/05/03(土) 00:29:50.84ID:9lt90aGA
喜ぶべきか悼むべきか・・・
0360デフォルトの名無しさん2014/05/03(土) 01:42:57.16ID:fa3rSR83
>>358
それってどう?
0361デフォルトの名無しさん2014/05/03(土) 02:05:49.12ID:Z2xjVVlJ
>>357
フックは版管理されてないから。configも同様。
フックをシェアしたいならワーキングディレクトリにフックを置いて、Makefileなりsetupスクリプトからインストールできるようにする。
クローンしただけで勝手にスクリプトに走られたら困る。
0362デフォルトの名無しさん2014/05/03(土) 02:07:15.00ID:vyhhlfA3
>>360
文章読むだけならGithubで公開されてる
0363デフォルトの名無しさん2014/05/03(土) 02:11:26.95ID:Z2xjVVlJ
>>353
rmしたファイルのindexに注意。git rm。
git mvはgit addとgit rmを同時にやってくれる。
0364デフォルトの名無しさん2014/05/03(土) 07:45:11.01ID:n1PIULKZ
>>353
中身が似てるファイルね
rename扱いにしてるのはログ表示の時だから、まあ気にしなくていいには変わらない
コピペ検出機能だとでも思っておけ
0365デフォルトの名無しさん2014/05/03(土) 13:12:50.33ID:EAqxmtFF
リモートにtagをpushした後、リモートに存在するtagを確認するにはどうすればよいのでしょうか
ローカルリポジトリのtagなら git tag, リモートのブランチなら git branch -r ですが、
リモートのtagを表示するコマンドが見つかりません
0366デフォルトの名無しさん2014/05/03(土) 14:26:01.92ID:H1NY/7i6
git ls-remote リモート名
0367デフォルトの名無しさん2014/05/03(土) 14:26:42.30ID:oP8j+OVm
>>365
これでリポジトリを直接指定して確認できるけど、
git ls-remote --tags リポジトリのURL
もっといい方法があるかも?
0368デフォルトの名無しさん2014/05/03(土) 14:47:09.37ID:EAqxmtFF
>>366-367
感謝です!ありがとうございました!
0369デフォルトの名無しさん2014/05/04(日) 11:33:46.82ID:bQKl4dNQ
リモートリポジトリからPullした直後で一切変更を加えていないにも関わらず
git statusでいくつかのファイルで差分が検出されてしまう現象にが起きています

差分が検出されているファイルのdiffを見るとソースコード全体が入れ替えられたような表示になります
しかし、該当ファイルをgit addしてから再度git diffすると変更点なしと表示されます

現象が起きるファイルは.cpp、.cs等複数の拡張子で
その拡張子のファイルすべてで起きる訳ではなく、頻繁に更新されるファイルで起きているように見えました

この現象についてWeb検索したのですが、該当しそうな情報は得られませんでした
githubのクライアントとVisualStudio2013のgit機能を併用していることに
原因がありそうな気がしているのでそのあたり調査する予定ですが
見直すべき設定等、何かヒントを頂けたら嬉しいです
0370デフォルトの名無しさん2014/05/04(日) 11:50:13.22ID:IxrX60Uq
>>369
改行コードだな
0371デフォルトの名無しさん2014/05/04(日) 18:11:29.06ID:Efc5dGc7
git config core.filemode false
git config core.symlinks false
0372デフォルトの名無しさん2014/05/05(月) 12:36:20.36ID:qzGHizbC
pullは1箇所から取得してpushは複数にする方法を教えてください
AitHubのみpullして
pushはAitHub,BitHub,CitHubの3箇所に送信してバックアップがしたいんです
0373デフォルトの名無しさん2014/05/05(月) 13:48:29.73ID:bcw2AmGJ
>>372
git remote add知ってる?
0374デフォルトの名無しさん2014/05/05(月) 13:50:28.20ID:HNW3XBXV
それ知ってますけど1つのとこしかpushできませんよね
0375デフォルトの名無しさん2014/05/05(月) 14:07:54.45ID:NnoKU6B2
一つの所ってなんですか? originですか?
なんでいちいち名前を指定すると思いますか?
一つだけなら名前は必要ないはずですよね?
0376デフォルトの名無しさん2014/05/05(月) 14:08:40.84ID:NnoKU6B2
なんでremote addだと思いますか?
一つだけならremote setでいいはずですよね?

あとは自分で考えてください。
0377デフォルトの名無しさん2014/05/05(月) 18:39:57.72ID:G1VleuAd
git push {A,B,C}itHub branch
0378デフォルトの名無しさん2014/05/06(火) 11:11:21.75ID:wWugdkdR
>>369
autocrlfくさい
03793692014/05/06(火) 15:12:16.47ID:5E8fiGLl
>>370,371,378
ありがとうございます。
いただいた助言を参考に試行錯誤して、とりあえず以下の操作をしたら
現象が落ち着きました。

・core.autocrlfをtrueからfalseに(Windowsでしか開発しないので)
・core.whitespaceを明示(space-before-tab,trailing-space)
・該当ファイルをVisualStudioの「ドキュメントのフォーマット」を使用して整形

もしかしたらwhitespace周りが原因だったのかもしれません。
どうもありがとうございました。
0380デフォルトの名無しさん2014/05/06(火) 16:27:04.50ID:dFD2Q7zD
masterブランチの内容をtestブランチに移動して
masterブランチ内のファイルの内容を空の状態にする方法を教えてください
0381デフォルトの名無しさん2014/05/06(火) 18:22:58.02ID:ms/T2S5F
ファイルの内容を空の状態にする?ファイルのサイズを0バイトにするってこと?
0382デフォルトの名無しさん2014/05/06(火) 18:53:05.44ID:2kojW0Cn
あるブランチでコミットした内容をmasterに反映させる時rebaseを使えっていうのをここで習ったんですが
具体的にどうやるのか教えてください

git init
touch a
git add a
git commit -m "INITIAL COMMIT"
git checkout -b kaihatu1"
echo "1" > a
git add a
git commit -m "1を追加"
echo "1" > a
git add a
git commit -m "数字を2に変更" ←いまここ
この後から何をしたらいいのか教えてください
0383デフォルトの名無しさん2014/05/06(火) 18:59:41.16ID:WvF/ZXc8
絵に描いたような教えてクン
0384デフォルトの名無しさん2014/05/06(火) 19:03:35.48ID:Fr+PW76D
あるブランチでコミットした内容をmasterに反映させる時に使うのはmerge

ブランチには複数のコミットが含まれている。という前提とする。

masterにマージする時のやり方

1. squashして一つのコミットにしてマージ
2. squashせず、マージコミットを作ってマージ(no fast foward)
3. squashせず、マージコミットもつくらずマージ(fast forward)

ブランチは作業履歴とか入っていてコミットが汚いことがあるので
mergeする前にブランチを綺麗にしておくと良い。

ただし1ならコミットは一つになるからrebaseする必要はない。

2. もしくは 3の時、マージされたコミットを綺麗にしておきたいならrebaseする。
小さなバグ修正とか、タイポの修正とかそんなのが残ってても気にしないならrebase不要。

ただし、rebaseせずにfast fowardでmasterにマージすると
revertしづらくて死ぬだろう。コミットが綺麗なら3でも良いが、
2にしておくと、ブランチ単位でrevertできるから楽。
0385デフォルトの名無しさん2014/05/11(日) 13:29:58.96ID:DrfDcIuJ
1.9.3 がリリースされたね
0386デフォルトの名無しさん2014/05/11(日) 16:13:44.39ID:8Qasa1hM
>>385
それが・・・どうかしたの?
0387デフォルトの名無しさん2014/05/11(日) 16:14:30.91ID:M5uHChWE
今回のはつまらんリリースだ
0388デフォルトの名無しさん2014/05/11(日) 17:39:48.22ID:qkdWQCFA
まだ1.9つかってるの?もうこっちは2.0使ってるよ
0389デフォルトの名無しさん2014/05/11(日) 19:24:38.83ID:04FzsR6r
俺のはいまだに1.7ですが
0390デフォルトの名無しさん2014/05/11(日) 21:21:49.14ID:wZvRNfhO
カレントを追いかけているから俺も常に最新・・・
アップデートきてたから1.9.3に今した
0391デフォルトの名無しさん2014/05/11(日) 21:23:17.01ID:pXskIuQ6
1.8 位から、処理速度が速くなったと思う
0392デフォルトの名無しさん2014/05/12(月) 00:23:32.35ID:fWwUyCwI
俺初めて使ったとき、まずルートでinitしていつまでも延々待ちになってしまって
壊れているかと思った。
0393デフォルトの名無しさん2014/05/12(月) 12:14:12.48ID:bllVZHXA
>>390
カレントってなに?gitからクローンすると2.0になるけど?
0394デフォルトの名無しさん2014/05/12(月) 13:44:49.20ID:1rzT8Re4
>>393

>カレントってなに?gitからクローンすると2.0になるけど?

「現時点で GitHub から Git のリポジトリのクローンを取得してビルドしてインストールすると 2.0 になる」という意味?

現時点で 2.0 は正式版ではなくて RC 版だよ。
https://github.com/git/git/releases

現時点の最新の 2.0 は 2日前にリリースされた v2.0.0-rc3。
現時点の最新の正式版は 2 日前にリリースされた v1.9.3。
0395デフォルトの名無しさん2014/05/12(月) 16:08:54.91ID:VMOJUad9
バグ修正が中心のリリースとなる「Git 1.9.3」が公開される
http://sourceforge.jp/magazine/14/05/12/152000
0396デフォルトの名無しさん2014/05/13(火) 00:02:25.45ID:cgdWIPbr
>>394
カレントって普通

> 現時点の最新の 2.0 は 2日前にリリースされた v2.0.0-rc3。

を指すんじゃね?
0397デフォルトの名無しさん2014/05/13(火) 00:23:30.33ID:Kbu/OO7P
カレントって普通は安定板stableの最新版じゃないの
テスト要素のあるrcやβは含まないんじゃないの
0398デフォルトの名無しさん2014/05/13(火) 00:36:15.98ID:A9K77IIM
普通は安定版だよ
0399デフォルトの名無しさん2014/05/13(火) 00:47:21.79ID:V9w/ceW7
currentというとバージョン管理システムから持ってきた
開発版のソースを指すケースもあるな
*BSD方面とか
0400デフォルトの名無しさん2014/05/13(火) 01:02:23.02ID:TNqok+m1
2.0を使ってるひとは、2.0がrc版だって認識して使ってるの?
0401デフォルトの名無しさん2014/05/13(火) 01:09:14.75ID:8hwDbhT0
RCというのはリリース候補。ベータ版よりも
完成度が高い、リリース版レベルのもののことだよ
0402デフォルトの名無しさん2014/05/13(火) 01:09:32.07ID:Kbu/OO7P
そりゃそうだろ
ソースからビルドするならタグから引っ張ってくるだろうし
0403デフォルトの名無しさん2014/05/13(火) 01:11:36.76ID:Kbu/OO7P
>>401
v2.0.0はrcが1、2、3と出てるんですがそれは
0404デフォルトの名無しさん2014/05/13(火) 01:19:56.17ID:aq/kP6dx
>>403
完成度もせいぜいベータよりはマシ、ってレベルで
gitのリリース版レベルなんてのは所詮その程度だ

ってことを>>401は言ってる。
0405デフォルトの名無しさん2014/05/13(火) 01:21:40.67ID:TNqok+m1
2.0で付加される新機能を早く使いたいとかGitのバグ取りに協力したいっていうなら理解できるんだけど、それ以外に2.0rcをあえて使う理由ってあるの?
0406デフォルトの名無しさん2014/05/13(火) 05:43:56.92ID:Tx8Pcw2g
自分が何かgitに関連するモノを作って自分以外の人に提供してるなら
最低でもRCの段階で問題無い事を確認しておきたいな
0407デフォルトの名無しさん2014/05/13(火) 12:15:49.81ID:KvmMEOaQ
>>406
それは理解できる
でもこのスレの >>388 とか >>393 ってそういう感じじゃないんだよね
GitHubからクローン取得してビルドしたら2.0で、2.0がrcであることも知らないで使っている、そして2.0未満のバージョンのユーザを馬鹿にしている
こんな風に思えてしまう
0408デフォルトの名無しさん2014/05/13(火) 12:57:27.93ID:0j07nOJV
データを蓄積するツールとして使ってるから安定版。俺はまだ1.7使ってるし。
0409デフォルトの名無しさん2014/05/13(火) 13:06:38.35ID:vRP8IXzs
>>407
身の回りにいるならともかく、ネットの向こうにいる他人なんてほっとけよ。
あと、>>388 でバカにされたとか思うようなら、このての掲示板見ない方がいいと思うぞ。
0410デフォルトの名無しさん2014/05/13(火) 13:14:13.76ID:+cSIqVHp
gitでバージョン番号管理って、みんなどうやってる?
0411デフォルトの名無しさん2014/05/13(火) 18:24:36.93ID:A9K77IIM
vistaでgui使ってコミットするファイルの選択してたら固まりまくったんだけどなんなん
1.8.4で起きて1.9.2に更新しても再発した
もろもろ込みの15mくらいのexe
Git-1.8.4-preview20130916 → Git-1.9.2-preview20140411
0412デフォルトの名無しさん2014/05/13(火) 18:42:33.12ID:KvmMEOaQ
>>409
了解
0413デフォルトの名無しさん2014/05/13(火) 20:58:37.93ID:Xzl/NzK/
Gitのmasterはrcとはいえpuやnextに比べれば安定してんじゃねーの
あとGitはrcをリリース4 5週間前から毎週出すポリシーみたいだから、
rcの数が多いか少ないかで安定度は測れない。
一応今週末に正式リリース予定ぽいんで、
今週出なければなんかまずいバグが残ってるのかもね。
0414デフォルトの名無しさん2014/05/13(火) 21:43:52.50ID:HfUZuSMx
gitをコンパイルして入れるときってユーザーはrootでやってますか?
0415デフォルトの名無しさん2014/05/13(火) 21:58:13.25ID:8hwDbhT0
>>414
コンパイルは一般ユーザー

ディストリは?
0416デフォルトの名無しさん2014/05/13(火) 22:42:01.92ID:HfUZuSMx
debianです
ソースコードから入れる時って/usr/local/srcにいれてるんですが
ここ一般ユーザーだと書込できないんですよね
おまけにrootにsshの設定をしてないのでgit cloneできないし
rootにsshの設定をするべきではないらしいのでどうするのがいいのかわかりません
0417デフォルトの名無しさん2014/05/13(火) 22:48:27.73ID:8hwDbhT0
debianなら /usr/local 以下は staff グループになってるでしょ?
なら自分をstaffグループに追加すればいいだけ。

まあ、俺は自分のhome以下でコンパイルするけど。

なんかさ、よくコマンド実行できなかった時、
グループに追加すればいいのに、すぐsudo使う人いるよね。
0418デフォルトの名無しさん2014/05/13(火) 22:49:46.52ID:tJgFTBc/
ソースなんてどこに入れてもいいし、バイナリやライブラリもパス通ってるならどこでもいい
0419デフォルトの名無しさん2014/05/13(火) 22:49:59.25ID:tmdhIwHM
なんか呼ばれたような気がしたので
0420デフォルトの名無しさん2014/05/13(火) 23:30:22.27ID:HfUZuSMx
なんかエラーで全然ここに書込ができません
ありがとうございます
あとはlinxuできいてきます
0421デフォルトの名無しさん2014/05/14(水) 00:59:32.71ID:N43CNidq
Git の公式の文書ではソースからのインストールの例として sudo を使ってるけどね。
http://git-scm.com/book/en/Getting-Started-Installing-Git
0422デフォルトの名無しさん2014/05/14(水) 01:46:24.51ID:ToGrq+HN
>>410
リリース番号とかなら、CIツールのビルド番号とかでいいんじゃね
0423デフォルトの名無しさん2014/05/14(水) 02:13:25.97ID:+eGAQ9pX
そもそも自分しか使わない PC で、いちいちグループに追加とかしてると、むなしくなってくるわ
sudo で十分だよ
0424デフォルトの名無しさん2014/05/14(水) 02:48:09.56ID:LFlUnuUg
sudo & パスワード打つのが面倒だろ?
楽な方を提案してるんだよ。
0425デフォルトの名無しさん2014/05/14(水) 02:49:32.86ID:TJ8LcHmI
もうrootになっちゃえよ。
0426デフォルトの名無しさん2014/05/14(水) 02:51:54.81ID:EH48jFeA
侵入されたら即乗っ取られそうなインターネッツですね
0427デフォルトの名無しさん2014/05/14(水) 03:03:17.35ID:LFlUnuUg
>>425
それはだめ。

root使うなって流れでsudoなんだろうけど、
なんでもsudo使ってたら意味ないって。

そのうち普通のコマンドまでsudo使う癖がつくとかな。
sudoつかってホームディレクトリ以下にファイルやディレクトリを
作るもんだから、自分のファイルを編集できないとかアホなことにw
0428デフォルトの名無しさん2014/05/14(水) 04:42:12.31ID:8Tw5p8Hi
一般ユーザの権限増やしちゃうほうが余程ダメだろ
確かに初心者の頃には自分に弄れないファイル作ったりするもんさ

…でも、そこでそのファイルの所有者を自分に戻す方法や
どうすれば一般ユーザのファイルとして作れるのかを考えず調べずに
「一般ユーザの権限を増やしちゃえ」
ってやるのは思考停止だと思うよ、root常用と発想が変わらない
0429デフォルトの名無しさん2014/05/14(水) 05:13:22.04ID:TJ8LcHmI
普通にrootでapt-getしてstaffなユーザでgit使ったらいいんじゃないの。
staffグループに入れるのすら嫌うのにsudoersに入ってるってどゆことよ。
0430デフォルトの名無しさん2014/05/14(水) 07:50:49.18ID:gY3lBZ4/
GUI があって sudoers 弄ってる認識ないとか。
0431デフォルトの名無しさん2014/05/14(水) 07:51:39.21ID:HVjR+QBF
>>429
> 普通にrootでapt-getして

いちいち root でログインしてるのか?
0432デフォルトの名無しさん2014/05/14(水) 08:16:46.96ID:1MSvyiHJ
脱線はそのくらいで
0433デフォルトの名無しさん2014/05/14(水) 10:07:15.20ID:LFlUnuUg
>>431
権限あればいいんだから方法はなんでもいい
須藤でも流宇屠でもなんでもいい
0434デフォルトの名無しさん2014/05/14(水) 10:21:07.79ID:U/CskQfB
そもそもlinux公式のパッケージなんて古いのに誰が使うんだよ
俺が使ってるのディストリのは1.7だぞ
OpenSSLの件もあるのに今1.9.1以下を使ってる奴は世界の地雷
0435デフォルトの名無しさん2014/05/14(水) 10:50:10.78ID:tkkbE9ax
権限設定が大雑把すぎる
rootにならないと何もできない
0436デフォルトの名無しさん2014/05/14(水) 11:53:53.82ID:HVjR+QBF
>>433
>>429 が sudoers どうのこうの言ってるから聞いただけ。

関係無いけど、須藤とか流宇屠とか面白いと思って書いてるの?
0437デフォルトの名無しさん2014/05/14(水) 13:19:05.91ID:LFlUnuUg
>>436
面白いと思ってるならいちいち確認しにくるなよ
もっと自分の感性に自信持てや
0438デフォルトの名無しさん2014/05/14(水) 14:37:13.29ID:RXztcnfz
>>427
>なんでもsudo使ってたら意味ないって。

たしかにsudoインフレ気味のきらいはある。
お前もう別にrootでログインしているのと変わらんのと違うか、みたいな。
0439デフォルトの名無しさん2014/05/14(水) 15:57:03.71ID:z8cZm/fT
スクリプトの中でsudo書いたら負け
0440デフォルトの名無しさん2014/05/14(水) 18:43:36.40ID:HVjR+QBF
>>437
ひょっとして皮肉って、わからなかったのか? (w
0441デフォルトの名無しさん2014/05/14(水) 19:12:13.53ID:56gZpWss
どうでもいい
0442デフォルトの名無しさん2014/05/14(水) 19:45:20.61ID:LYwl2FB3
相談させてください。
開発ブランチをmasterへマージしたいのですが、
masterブランチがかなり進んでしまい、開発ブランチとの共通コミットがかなり前の物となってしまいました・・・
このままマージすると履歴が見づらいので、masterでリベースをしたいのですが、
開発ブランチにも、沢山のマージコミットがあり、そのままリベースするとマージコミットが吹き飛んで困ります。
マージコミットを残したままで、masterとリベースする方法というのはあるでしょうか?
もし、そのような方法がない場合・・・
どのようにすれば、少しでも見やすい履歴として残してマージする事ができるのでしょうか・・・
よろしくお願いします
0443デフォルトの名無しさん2014/05/14(水) 20:19:17.04ID:NgeMMujl
マージじゃあかんのか?
0444デフォルトの名無しさん2014/05/14(水) 20:37:04.99ID:W0xDTkwU
--preserve-merges で ggrks
0445デフォルトの名無しさん2014/05/14(水) 20:38:55.41ID:W0xDTkwU
だけど俺もマージをおすすめする
0446デフォルトの名無しさん2014/05/14(水) 20:59:04.67ID:LYwl2FB3
>>443-445
お答えありがとうございます
まさしく、--preserve-merges この機能を求めていました!
本当に助かりました
普通にマージでも、運用はまったく問題ありません。
しかし、あまりに前のコミットからブランチが切れている物なので、
グラフ上でその他のマージしたコミットなどを、またぎまくりで見るのた大変な状態でした・・・
本当に感謝です
0447デフォルトの名無しさん2014/05/14(水) 21:21:30.74ID:Tc6rr+/g
男なら履歴をいじってんじゃねえよ!
0448デフォルトの名無しさん2014/05/14(水) 22:35:14.87ID:XlAO72qf
http://git-scm.com/download/gui/win
ここにTortoiseGitないのは何で?
0449デフォルトの名無しさん2014/05/14(水) 23:23:23.76ID:LFlUnuUg
>>428
> 一般ユーザの権限増やしちゃうほうが余程ダメだろ
意味不明。

今の話はsudo権限で書き込める人に対して
sudo使うな一般ユーザー権限でコマンド使えるようにしろって話だから。

誰もsudo権限ない人に権限与えろなんて言ってねーよw

> …でも、そこでそのファイルの所有者を自分に戻す方法や
> どうすれば一般ユーザのファイルとして作れるのかを考えず調べずに
> 「一般ユーザの権限を増やしちゃえ」
> ってやるのは思考停止だと思うよ、root常用と発想が変わらない

そんな話してないけどねw

sudo使って権限を変える行為のがroot常用と同じだから
sudoも使わずに一般ユーザーでやれるようにしろと。

ユーザに必要な権限を与えるのは、必要で許されるならば何の問題もなく、
権限を与えなければ、sudo使うしか無いわけでそれがroot使ってるのと変わらない。

っていうか、sudo常用=root常用ってわかってる?
0450デフォルトの名無しさん2014/05/14(水) 23:36:27.18ID:ExP2CQtU
a.phpを修正(50行)した後にb.php(500行)を修正しました
このときgit add a.php; git commit -m "a.phpを修正"したあとにgit checkout -fしたらどうなりますか?
0451デフォルトの名無しさん2014/05/14(水) 23:36:39.56ID:EH48jFeA
クソニートの戯言はチラシの裏にでも書いてくださいね
0452デフォルトの名無しさん2014/05/14(水) 23:38:18.31ID:EH48jFeA
>>449宛て
0453デフォルトの名無しさん2014/05/14(水) 23:45:05.68ID:LFlUnuUg
煽って何がしたいの?w
0454デフォルトの名無しさん2014/05/14(水) 23:48:28.71ID:PSOih+2g
今週の中学生日記はここですか
0455デフォルトの名無しさん2014/05/15(木) 00:44:28.26ID:YRo5/B9y
>>449
「どこからがどの権限なのか」を意識しづらいのがroot常用の一番の問題かと。
まあそもそも、もうスレチなんだが。
0456デフォルトの名無しさん2014/05/15(木) 01:08:22.07ID:p6ZJAeXV
>>449
> っていうか、sudo常用=root常用ってわかってる?

こういう奴って /etc/sudoers の ALL = (ALL) ALL をおまじないだと思ってるんだろうな...
能力のないものには、いい道具与えても無駄なのがよくわかるな (w
0457デフォルトの名無しさん2014/05/15(木) 01:23:15.29ID:FUoGOy6E
>>456
本当にsudo常用がroot常用と変わらないの分からないの?

sudo touch a ってやったら、root:rootでファイル作られるよね?

sudoはなるべくrootにならずに、root権限(ユーザー未指定の場合)で
実行するものであって、結局のところrootで実行しているのと同じ。
sudoを常用したら意味がないんだけど。

なんでもかんでもsudo使って"root権限で実行"するのではなく
適切な権限を指定しなさいと言ってる。
0458デフォルトの名無しさん2014/05/15(木) 01:45:41.47ID:p6ZJAeXV
>>457
> sudo touch a ってやったら、root:rootでファイル作られるよね?

お前俺のレスの意味わかってないだろ (w
touch でファイル作られるのが嫌なら禁止すればいいだけ
ALL = (ALL) ALL って書いといて、root 常用と同じとか、バカすぎ
0459デフォルトの名無しさん2014/05/15(木) 02:11:34.74ID:t+uv2X5h
「俺のレス」
くさかべ先生が怒りそう
0460デフォルトの名無しさん2014/05/15(木) 02:39:04.28ID:mVM4WfmV
そういうことにしたいのでつね
0461デフォルトの名無しさん2014/05/15(木) 03:28:24.48ID:FUoGOy6E
>>458
お前根本的に間違ってるじゃんか。

/usr/local/srcへの書き込みだぞ。
実行コマンドを制限してどうする。

こういう時はグループで書き込み権限を与えるんだよ。
sudo使うにしても結局グループ使うんだから、
sudoの前にまずグループだろうが。
0462デフォルトの名無しさん2014/05/15(木) 07:07:31.46ID:p6ZJAeXV
>>461
> /usr/local/srcへの書き込みだぞ。

俺はそんな話してない。
俺は、

> っていうか、sudo常用=root常用ってわかってる?

がおかしいって言ってるだけ。
ちなみに sudo はグループでもユーザーでも指定して制御できるから

> sudo使うにしても結局グループ使うんだから、

は、根本的に間違ってる。
なので、

> お前根本的に間違ってるじゃんか。

これはお返ししておくよ (w
0463デフォルトの名無しさん2014/05/15(木) 07:10:12.05ID:ARfjiSB0
ブランチ名に日本語使ったりする?
0464デフォルトの名無しさん2014/05/15(木) 09:03:46.47ID:FUoGOy6E
>>462
> 俺はそんな話してない。
そもそもそれが間違ってるじゃないか。

話の流れを読め。

最初の >>416 は ファイルを書き込む権限の話。
> ソースコードから入れる時って/usr/local/srcにいれてるんですが
> ここ一般ユーザーだと書込できないんですよね


>>428 でもファイルを書き込む権限の話。
> 一般ユーザの権限増やしちゃうほうが余程ダメだろ
> 確かに初心者の頃には自分に弄れないファイル作ったりするもんさ

最初っから、ファイルの権限の話なんだよ。
0465デフォルトの名無しさん2014/05/15(木) 09:14:11.31ID:8qQimVf0
sudoをroot権限を与えること以外で使うなら
setuidで十分な事が多くね?
0466デフォルトの名無しさん2014/05/15(木) 10:08:52.62ID:uV6K9eLe
/usr/local/srcを一般ユーザーに権限与えるのってLinuxの意に反してないの?
rootしか書き込みできないのは意味があってそうなってるんじゃないの?
0467デフォルトの名無しさん2014/05/15(木) 10:20:43.45ID:yW4QL04N
>>466
staffなら書き込めるんだからそれこそが意だろ。
本当の一般ユーザをstaffにするのはおかしいが、
それならそもそもsudoも使えないべきだし。
0468デフォルトの名無しさん2014/05/15(木) 11:05:33.69ID:l/v1SCMb
>>463
使わないなあ
0469デフォルトの名無しさん2014/05/15(木) 11:22:14.76ID:uV6K9eLe
sqliteのデーターベースファイルに日々データを追加しているんですが
これもリポジトリで管理したほうがいいですか?
GitHubでこのファイルをみたことがないのでどうしたらいいのかわかりません
バックアップが目的なのでデータベースファイルを使ってるプロジェクトだけはzipで固めるべきか
0470デフォルトの名無しさん2014/05/15(木) 11:46:35.53ID:8MS98tJI
>>464
> 話の流れを読め。

そんな話には興味がない。
俺は単に、

> > っていうか、sudo常用=root常用ってわかってる?

がおかしいって言ってるだけ。

まあ、誤魔化そうと必死なのは伝わったよ (w
0471デフォルトの名無しさん2014/05/15(木) 11:55:39.44ID:WbHEhbR4
>>469
バイナリだと差分が見えないからsql文をバージョン管理するとかになるのかな?
ダンプがそのままsql文にならなかったっけ?
面倒なら定刻にダンプするスクリプト走らせとけばいいかもね。
0472デフォルトの名無しさん2014/05/15(木) 14:32:57.85ID:R166abH9
>>466
/usr/local/ 以下は、自分がPCを持っている人の話
WinのOwnerみたいなもの
0473デフォルトの名無しさん2014/05/15(木) 18:07:08.81ID:Q6tngT9B
testブランチからmasterブランチにマージすると
testブランチのコミットログがmasterブランチのコミットログと合体しますよね
だからここのスレの先輩方はrebaseしろって書かれているのでrebaseしようとおもうんですが
rebaseしたらtestブランチのいままでのコミットログはgit logで見れなくなりますよね
0474デフォルトの名無しさん2014/05/15(木) 19:20:39.33ID:dmANjRi5
>>463
俺はめちゃ使う。
むしろ英語は使わない

>>473
見れるけど・・?
よくわからないなら、rebaseはやめてmergeにしておくのがいい
0475デフォルトの名無しさん2014/05/15(木) 21:37:37.22ID:7ICa3Xuq
>>465
-gで、プライマリグループを変更して実行することはある。
newgrpとかsgコマンド知らなかったから。

すれ違いなのはわかっているがこれだけはいわせてくれ
passwdとsudordersの編集は、実行できないようにしとけ?
0476デフォルトの名無しさん2014/05/15(木) 22:41:35.54ID:FUoGOy6E
>>470
それで、sudo使う時ってどんな時?
あんたは常用してるんだよね?
0477デフォルトの名無しさん2014/05/15(木) 22:42:32.59ID:FUoGOy6E
>>467
> staffなら書き込めるんだからそれこそが意だろ。

そういうことだね。
debianではちゃんとグループが設定されている。
だからsudoを使うことは殆ど無い。
0478デフォルトの名無しさん2014/05/15(木) 23:02:53.18ID:8MS98tJI
>>476
俺が常用してるかどうかなんて関係無いでしょ?
難癖つけようとしてるのバレバレですよ (w
0479デフォルトの名無しさん2014/05/15(木) 23:07:56.03ID:UtPqEVIk
クッソくだらん喧嘩をだらだら続けるな
0480デフォルトの名無しさん2014/05/15(木) 23:08:02.02ID:FUoGOy6E
あ、常用してないんだw
0481デフォルトの名無しさん2014/05/16(金) 09:08:26.94ID:CZd6eAcT
FUoGOy6EはNG登録した
0482デフォルトの名無しさん2014/05/16(金) 10:34:06.37ID:ORK55gYr
NG登録した = もう反論はしない(見えないからできない)

なんだけどわかってるのかなぁ?w
まあ、反論なければそのほうが俺は楽でいいけど。
0483デフォルトの名無しさん2014/05/16(金) 15:03:25.79ID:7k6X61nc
荒らしに対抗できる唯一の手段は「反応しない」だからね。

ってひょっとして>>482はその荒らしか
0484デフォルトの名無しさん2014/05/16(金) 15:43:20.57ID:T7U0JNMD
「反応しない」っていうのならレスするなよw
自分で言ったことぐらい守りましょう。
0485デフォルトの名無しさん2014/05/16(金) 17:56:52.11ID:w4POSpYE
C:¥ripo¥bbs¥.gitがリポジトリとします
これでコミットしまくったらコミットログがたまりますが、この状態でGitHubプッシュするとすべてのコミットログもGitHubにあがりますよね
朝昼晩とコミットしていてちょっと知り合いにコミットした時間を見られたら困る事情があるので
プッシュするまでのコミットログを全部まとめて一つに書きなおして毎日17:00にコミットしたことにしたいのですが、
いまあるコミットログはgit logで見られるようにしておきたいのでいじらずそのまま残しておきたいのです
こういう場合はどうしたらいいでしょうか?
0486デフォルトの名無しさん2014/05/16(金) 17:58:05.13ID:w4POSpYE
17:00にコミットというのは自分でコミットをするものだとお考えください
自動でコミットさせるという意味ではありません
とくに17:00ぴったりというわけじゃなくて夕方過ぎにコミットするものとお考え下さい
0487デフォルトの名無しさん2014/05/16(金) 19:26:11.51ID:XlirJvLT
夕方にしたコミットにsquashで朝昼のコミットをまとめればいいじゃないの
0488デフォルトの名無しさん2014/05/16(金) 19:28:33.38ID:XlirJvLT
コミットを自分のとこだけ残しておきたいならプッシュしないブランチを作ってそこで開発すればいいのよ
そのブランチからプッシュするブランチへマージするためのブランチを作ってそこでrebaseなりsquashなりでまとめてプッシュするブランチへマージ
そんでもってブッシュするの
0489デフォルトの名無しさん2014/05/16(金) 21:25:42.84ID:eLIAKwa7
rebaseしてもauthor dateは変わらないんじゃなかったっけ?
0490デフォルトの名無しさん2014/05/16(金) 21:50:47.36ID:T7U0JNMD
コミット内容を修正すればさすがに変わるし、
reset authorすればよい
0491デフォルトの名無しさん2014/05/17(土) 15:46:53.71ID:/Qeglujp
2.0 延期らしい。
今のところ来週リリースが目標ぽい
0492デフォルトの名無しさん2014/05/17(土) 15:51:50.79ID:I7tMhMJh
来週もまた延期の予定です
0493デフォルトの名無しさん2014/05/17(土) 23:27:35.62ID:F+Anbw5h
何で日本人って見栄はってカタコトの英語でコミットログ書くんですか?
どうせ人様のに目にも止まらないようなプロジェクトなのに
見栄はってるんでしょうか?
0494デフォルトの名無しさん2014/05/17(土) 23:29:07.46ID:PRZCp5x9
日本語入力に切り替えるのが面倒
0495デフォルトの名無しさん2014/05/17(土) 23:29:43.34ID:bTYlzCR2
>>493
日本語読めない人がいるなら英語でログ書いてあげるのもいいけど、
日本人だけのチームなのに英語でログ書いてるのは、ちょっとアレな方々だと思う。
0496デフォルトの名無しさん2014/05/17(土) 23:32:20.96ID:PRZCp5x9
文字コード的な問題を抱えてるとかじゃね
0497デフォルトの名無しさん2014/05/17(土) 23:43:25.77ID:wwvCM72E
英語で書いてると見栄張ってるっての、正に日本人的だよな
0498デフォルトの名無しさん2014/05/17(土) 23:43:27.81ID:AjJzM+jl
そういうのでハマっちゃうと時間食うからね。
本能的に避けちゃうんだな。
0499デフォルトの名無しさん2014/05/17(土) 23:43:48.41ID:613Mhv1z
コミットログが日本語だと git format-patch のファイル名に反映されない
0500デフォルトの名無しさん2014/05/18(日) 00:29:51.39ID:ooDeoEJd
>>493
自分しか使わないので何も書いてません。
0501デフォルトの名無しさん2014/05/18(日) 02:01:54.89ID:xRvInDCX
なんだよこいつ。英語でコミットログ書いてるのかよ。
見えはってるな。

これが>>493が言ってること。
0502デフォルトの名無しさん2014/05/18(日) 02:07:17.49ID:aiwStKdm
webブラウザで見たときに英語インターフェースの中に日本語があると浮くから
超てきとーな英語で入れてる
自分用だから自分が分かればいい
0503デフォルトの名無しさん2014/05/18(日) 03:37:28.40ID:WINLDOAf
文字化け面倒くさいしな
技術英語でカタコトもくそもないし
0504デフォルトの名無しさん2014/05/18(日) 03:38:41.45ID:XTSqz+Em
レガシーなコードがsjisだったりすると、マージの際にコミットログが化けて出る。
英語が書けなけりゃせめてローマ字で書いて。指差して笑うけど。
0505デフォルトの名無しさん2014/05/18(日) 07:58:50.19ID:7h87TJ0i
bagu fix
0506デフォルトの名無しさん2014/05/18(日) 08:45:26.28ID:8ZcupVW/
当たり前だけどUTF-8でログを書く事。
もしも文字化けとかしててもnkfとか使えば解決するだろ?
下手な英語で書かれるログより、日本語できちんと書かれているログの方が価値がある。
0507デフォルトの名無しさん2014/05/18(日) 09:03:44.22ID:Uw9b9LOt
当たり前だけどGitなどのバージョン管理システムを使う場合、プロジェクト管理規約を
遵守すべきであり規約としてプロジェクト内の公用語を定めるべきである。
プロジェクト内公用語で書かれていないログは、どんなに価値ある内容であっても
ログとしての価値はない。
0508デフォルトの名無しさん2014/05/18(日) 09:23:04.68ID:Fz0SuFV0
asciiの範囲内だけ使っておけば文字コード関係で変になる事がないw
0509デフォルトの名無しさん2014/05/18(日) 09:40:24.61ID:8ZcupVW/
>>507
ログの本来の意味を理解せず上辺だけの運用だとこんな感じになるんだろうな。
0510デフォルトの名無しさん2014/05/18(日) 09:40:34.69ID:j5Z4jU9Z
fix bug
update function
add text
こんなわけのわからないログを書かれてもね
わかりもしない英語で加工として意味のないログを書く意味が本当にない
0511デフォルトの名無しさん2014/05/18(日) 09:48:50.69ID:Uw9b9LOt
>>509
その通り、正に上辺だけの運用の例がこれ>>510 だ。
だが、しかし、これ>>510 には元々ログとしての意味はない、これ>>510 と同レベルの
日本語を書いてしまうのが>>509
0512デフォルトの名無しさん2014/05/18(日) 09:59:41.25ID:8ZcupVW/
>>511
ちょっと何言ってるのかわからないんですけど・・・
ログの本来の意味を理解しているのであれば、
価値ある内容のログを「ルールと違う方法で書いてるから無価値」なんて判断しないって事を言っている。
0513デフォルトの名無しさん2014/05/18(日) 10:02:50.82ID:WINLDOAf
本来のログとして役立つ記録を
英語で書けばいいんじゃないの?
0514デフォルトの名無しさん2014/05/18(日) 10:12:08.38ID:Uw9b9LOt
いや、どんな言語で書くかではなくプロジェクト内で「通じる言語で」しかも当然ながら
ログとしての意味のある記録内容を記すべきなのである。
0515デフォルトの名無しさん2014/05/18(日) 10:16:46.89ID:y7sacx+K
更新したファイル名と行番号を書いておくのが一番
0516デフォルトの名無しさん2014/05/18(日) 10:23:08.05ID:BMv+P6U/
mergeするかどうか、revertするかどうかの判断を
ログを眺めただけで出来れば十分
0517デフォルトの名無しさん2014/05/18(日) 10:23:10.07ID:c7NwufzX
変更の目的や意図を書くのが一番重要。
単なる変更点ならdiffを見ればいいから。
0518デフォルトの名無しさん2014/05/18(日) 10:29:15.25ID:y7sacx+K
diffで目的や意図が判ると良いね
0519デフォルトの名無しさん2014/05/18(日) 10:47:04.48ID:pcGkJ5So
diffで目的や意図は分からんけど、更新したファイル名と行番号だと分かるんだ。
普通の人はそうじゃないから。
0520デフォルトの名無しさん2014/05/18(日) 11:03:38.19ID:c7NwufzX
変更ファイルとか行数とか
わざわざ人間が書く必要ないと思うが。
0521デフォルトの名無しさん2014/05/18(日) 11:13:05.15ID:wDknVmCU
何やったか思い返すヒントになればいいんだから何でもいいんだよ。
0522デフォルトの名無しさん2014/05/18(日) 11:15:16.01ID:EPtn8OXu
>>514
あれ?
なら英語しか選択肢なくね?
日本語だと日本人しか理解出来なくね?
0523デフォルトの名無しさん2014/05/18(日) 11:19:18.17ID:j5Z4jU9Z
別に英語で書くなって言ってないし
英語もわからない奴が英語でログ書くなって歯なし
0524デフォルトの名無しさん2014/05/18(日) 11:28:10.29ID:Uw9b9LOt
>>522
プロジェクト公用語として、どのような基準を採用するか次第だ。
英語しか選択肢がないと考えがちなのがオープンソース界の悪習だ。
別に日本語のみに限定し、ソースコメントも日本語にすることすら
間違いではない、それをプロジェクト公用語と定めるならば。
0525デフォルトの名無しさん2014/05/18(日) 11:43:23.99ID:2P7J7VC/
文書以外で日本語なんて使う気しない
英語コンプはフォルダ名も日本語にしてるのかと
0526デフォルトの名無しさん2014/05/18(日) 11:47:50.98ID:Uw9b9LOt
>>525
君があるプロジェクトに関してプロジェクト公用語を定める事に影響力や決定権を
持ったら、日本語禁止にできるよ。只の下っ端ならブツブツ言いながら従えば済む。
0527デフォルトの名無しさん2014/05/18(日) 11:55:22.75ID:0kvX68pZ
http://maguro.2ch.net/test/read.cgi/pc2nanmin/1372918692/145
  ↑ ↑  ↑ ↑  ↑ ↑
0528デフォルトの名無しさん2014/05/18(日) 13:28:14.89ID:BExb4OPW
>>526
でも、元々の >>493 はそういう話じゃないんよね
別に日本語でも英語でもその変更がどういう意味なのか分かりゃいいワケで
何故か英語=見栄みたいな扱いにしちゃってるのはおかしいと思わね?
まあ >>493 の周囲には分かりにくいログが多いのだろうけど、そんな人は多分日本語でも似たようなことしか書かないんだろうし
0529デフォルトの名無しさん2014/05/18(日) 15:30:49.95ID:UhKpQ7wy
Add text
みたいなログを書く人間が日本語でまともなログを書けるかなぁ?
プログラミングが出来るって事は、英単語が分からない訳じゃないだろうから、変更点を他人に伝える気自体が無いわけだろう

こんなの英語以前の問題だよ
Add main window toolbar button help text
みたいな糞でもログとして使えるし
0530デフォルトの名無しさん2014/05/18(日) 15:36:35.81ID:wDknVmCU
log言語の誕生である
0531デフォルトの名無しさん2014/05/18(日) 15:48:36.89ID:NSHOUep6
BTSを利用してる時でも、コミットログはさぼらない方がいいのかな?
0532デフォルトの名無しさん2014/05/18(日) 15:57:35.48ID:7v87Hd7x
>>510
↓これとか
https://github.com/Cipherwraith/Rokka/commits/master
0533デフォルトの名無しさん2014/05/18(日) 16:41:15.58ID:aiwStKdm
同僚に対する不満をここでぶちまけられても
俺らにはどうしようもないんだ
0534デフォルトの名無しさん2014/05/18(日) 17:56:48.01ID:ItRorGEB
>>532
何を変更したのかがわからないクソログ
0535デフォルトの名無しさん2014/05/18(日) 18:07:20.56ID:4ihVJdEr
>>532
流石2chの管理人さんやで
0536デフォルトの名無しさん2014/05/18(日) 20:04:06.18ID:XTSqz+Em
なんでこの変更が必要なのか書いてあればそれでいいや。
0537片山博文MZバグロボ ◆T6xkBnTXz7B0 2014/05/18(日) 21:11:53.29ID:wTsBQBni
Gitでバージョン番号を管理する方法ないの?
0538デフォルトの名無しさん2014/05/18(日) 21:16:22.56ID:C9yMB7Be
>>537
あるけど、具体的にどういう
バージョン番号管理をしたいの?
0539片山博文MZバグロボ ◆T6xkBnTXz7B0 2014/05/18(日) 21:29:08.38ID:wTsBQBni
コミットするたびにソース中のバージョン番号を自動的に更新して欲しい!!
0540デフォルトの名無しさん2014/05/18(日) 21:40:01.78ID:C9yMB7Be
>>539
ソースコードのバージョン?
アプリのバージョンじゃなくて?
0541デフォルトの名無しさん2014/05/18(日) 21:40:35.24ID:7v87Hd7x
prepare-commit-msgフックでコミットメッセージにバージョン番号でも入れりゃいいんじゃねえの
0542デフォルトの名無しさん2014/05/18(日) 21:44:28.59ID:C9yMB7Be
>>539
少しバージョン番号のつけ方の仕様を決めてくれないかな。

たとえば、仮にバージョン1のソースコードがあったとして、
それをAさんとBさんが個別に修正した時、
それぞれのバージョンはどうしますか?
0543デフォルトの名無しさん2014/05/18(日) 21:52:39.89ID:wDknVmCU
アプリケーションでバージョン番号を持ってるファイルの更新だろな。
どっちかっつーとpush時な気がするな。
0544デフォルトの名無しさん2014/05/18(日) 22:28:18.60ID:C9yMB7Be
>>543
どういう運用にしたいかによるでしょうね。

git推奨でいえば、バージョン番号 = ハッシュID
この方法が優れているのは、ソースコードに何も書かないでいいし、
複数の人が平行で作業していても、バージョン番号がかぶることがないというメリットが有る。

git推奨の方法以外をやりたいのであれば、その仕様を決めてもらわないと答えようがない。
0545デフォルトの名無しさん2014/05/18(日) 22:49:36.09ID:7h87TJ0i
リリース前に、バージョン番号を格納するファイルを更新しpusu、そしてtagをつける
ってやってる
0546デフォルトの名無しさん2014/05/18(日) 23:27:23.72ID:WINLDOAf
>>544
>git推奨でいえば、バージョン番号 = ハッシュID
当のgitがそれやってなくね?
0547デフォルトの名無しさん2014/05/18(日) 23:43:08.76ID:C9yMB7Be
>>546
いえ、"ソースコードの" バージョンの話です。
アプリのバージョンの話ではありません。
0548デフォルトの名無しさん2014/05/18(日) 23:53:30.20ID:mKpMCPC5
推奨とか書いちゃうから
0549デフォルトの名無しさん2014/05/19(月) 00:10:30.29ID:Zm2k/WGd
>>547
そうなのか。

ところで、アプリのバージョン番号はどうやって管理してる?
自動でインクリメントする仕掛けってやっぱほしいよね
0550デフォルトの名無しさん2014/05/19(月) 00:16:41.33ID:PiFbW4Gq
それこそフックで何らかのスクリプト走らすって話じゃね?
0551デフォルトの名無しさん2014/05/19(月) 00:37:55.02ID:2pHoKbmf
自動なのはビルドだけでバージョンは手でいいんじゃね
0552デフォルトの名無しさん2014/05/19(月) 01:30:50.53ID:boPMtkif
CIツールでやれ
0553デフォルトの名無しさん2014/05/19(月) 02:00:24.75ID:lhsjIgd7
時々さ、--versionってやると
バージョン番号としてコミットIDが
表示されるのあるじゃん?

あれってどうやってるの?
コミットしなければ現在の
コミットIDわからないはずなのに。
0554デフォルトの名無しさん2014/05/19(月) 03:20:50.33ID:cOS2qM9v
>>553
それを表示するコードをビルド時にリポジトリ情報から自動生成すればいい
0555デフォルトの名無しさん2014/05/19(月) 05:02:24.66ID:ZqE06A31
>>553
キーワード展開でググる。
0556デフォルトの名無しさん2014/05/19(月) 14:22:29.51ID:nfghgbV/
>>493はまさにjap
0557デフォルトの名無しさん2014/05/19(月) 21:43:58.04ID:lhsjIgd7
>>554
サーセン、LL使いなんでビルドなんて
ないんですwww
0558デフォルトの名無しさん2014/05/19(月) 21:56:35.02ID:xEeDrkw/
そうだそうだ!
0559デフォルトの名無しさん2014/05/19(月) 22:44:03.09ID:cOS2qM9v
>>557
ビルドは無くてもデプロイするだろ
インストールスクリプトみたいなものを用意しないか?
0560デフォルトの名無しさん2014/05/20(火) 05:21:27.44ID:7I4ys7NV
PHPerとかサーバで運用しているコードをそのままいじったりするから恐ろしい。
たまにgitにアプリのログやパスワードとか含まれてたりする。
0561デフォルトの名無しさん2014/05/20(火) 05:26:16.72ID:Q2AhpEnY
> そのままいじったりする

どゆこと?
0562デフォルトの名無しさん2014/05/20(火) 07:18:02.19ID:7I4ys7NV
>>561
運用と開発の環境が同じものってこと。バージョンとかでなくて、同一のリソース。
0563デフォルトの名無しさん2014/05/20(火) 07:41:36.00ID:Q2AhpEnY
Webサーバとして公開してるディレクトリでgit initして開発してるってことか
0564デフォルトの名無しさん2014/05/20(火) 08:24:11.40ID:uQLrwk2U
>>563
git じゃなくて Subversion だけどテストサーバーはその運用だわ。
0565デフォルトの名無しさん2014/05/20(火) 12:10:11.33ID:Y3VmLAx+
開発と運用を分ける場合ってどうやるんですか?
例えばC:¥apache2.2¥htdocs¥kaihatu¥.gitで作って
運用で動かすのはC:¥apache2.2¥htdocs¥honban¥.gitみたいにしたらいいですか?
honbanフォルダでhaihatuをcloneして動かすっていう感じでしょうか?
0566デフォルトの名無しさん2014/05/20(火) 12:50:55.92ID:fbMM1sIr
リポジトリの話と実行環境の話がごっちゃになっとる
0567デフォルトの名無しさん2014/05/20(火) 13:32:57.00ID:oqlsgWjt
ものにもよると思うが開発マシンでそのまま運用するとか恐ろしいな
0568デフォルトの名無しさん2014/05/20(火) 16:19:48.21ID:zD+BcsMh
これがDevOpsというやつか
0569デフォルトの名無しさん2014/05/20(火) 17:18:53.44ID:7I4ys7NV
git archiveで取り出して、テスト環境にインストールしてテストして、同じものを本番環境にインストールが普通だよな? 普通だと言ってくれ。
テスト環境でリポジトリから直接インストールは許す。
0570デフォルトの名無しさん2014/05/20(火) 20:19:01.71ID:7WHSNOxu
今の時代、スクリプト言語でもソースコードを
そのまま配置するとかやっちゃだめだよ。

デプロイはサーバーにログインして
git pullとかやっていいのは小学生までw
0571デフォルトの名無しさん2014/05/20(火) 21:45:26.96ID:+FFXBZCI
この話git関係ないだろ
0572デフォルトの名無しさん2014/05/20(火) 22:09:24.93ID:gHSFUybb
>>567
恐れるな!
0573デフォルトの名無しさん2014/05/20(火) 22:47:06.91ID:w8F8fDtL
何のためのバージョン管理かわからんなw
問題出たら巻き戻せって事?
なんだかテストもしてなさそうw
0574デフォルトの名無しさん2014/05/20(火) 23:20:14.34ID:DeZ/1+VP
>>569
rsyncとかするの?capとか使うの?
gitじゃだめなのか、、?
0575デフォルトの名無しさん2014/05/20(火) 23:30:10.39ID:oqlsgWjt
本番環境にgit pullでデプロイするのは.gitが残るから問題あるよね
テスト環境ならいいと思うけど
0576デフォルトの名無しさん2014/05/20(火) 23:45:03.16ID:gZsncm2t
緊急事態が起こって巻き戻すぐらいならええじゃないか
デプロイした先の本番環境で頻繁に巻き戻さないといけない方が余程テスト不足では
0577デフォルトの名無しさん2014/05/20(火) 23:54:11.31ID:w8F8fDtL
本番サーバーがそのままリポジトリのマスターってのもありそう。
0578デフォルトの名無しさん2014/05/20(火) 23:54:26.37ID:4h/6mNTZ
GitHubでプルリクの流れがよく分かりません。
コミットするときはmasterではなくてbranchにしろとは聞いてますが、
自分が理解するところでは、

@フォークする
Aローカルにcloneで持ってくる
Bリモートにフォーク元のmasterリポジトリをaddする
Cローカルにブランチを作る
Dローカルのブランチを修正する
Eローカルのブランチに変更をコミットする
FGitHubのブランチに変更をコミットする
GGitHubのフォーク元のmasterリポジトリにpull requestを出す
Hマージされたらブランチを削除
Iローカルでfetchする

こんな感じになるんでしょうか?
0579デフォルトの名無しさん2014/05/20(火) 23:56:41.46ID:Q2AhpEnY
>>578
>>2
0580デフォルトの名無しさん2014/05/21(水) 01:08:18.51ID:BNHZ/x8Q
最近気づいたけど変更したファイルだけコピーしたくてもxcopyじゃ出来んのな
チェックアウトでファイルの更新日時が更新されるとは
0581デフォルトの名無しさん2014/05/21(水) 01:29:27.63ID:pe3xq3aD
>>580
チェックアウトしてmakeかけたときに変更したファイルだけコンパイルするのが普通なんで
gitに限らずUnix由来のVCSはそういう挙動になる
0582デフォルトの名無しさん2014/05/21(水) 02:14:07.74ID:BNHZ/x8Q
言われてみればたしかにmakeするときはobjファイルとか別ブランチの状態になってたりするからそういう仕様でないと困るね
そのプロジェクトをgitで管理する前はxcopyで更新したファイルだけ移動してたけど移動には別手段考えるしかないか
0583デフォルトの名無しさん2014/05/21(水) 02:20:38.03ID:5sngE80p
gitにかぎらずだけど、よく考えて作られてるわ。
時たまgitのやり方に合わないやり方をしたいっていう人がいるけど、
よく考えて作られたgitがどうしてそうなっているのかを
考えたほうがいいと思う。
0584デフォルトの名無しさん2014/05/21(水) 02:45:19.12ID:Cs2Lb6yD
>>579
>>18-20
0585デフォルトの名無しさん2014/05/21(水) 04:29:31.39ID:sT3o3DmA
gitと全然関係ないGitHub固有のサービスの話題もここで扱う気なの?
GitHubPagesやGistsやissueやwikiやOrganizationや有料サービスについてや
色々とあると思うんだけど
0586デフォルトの名無しさん2014/05/21(水) 10:49:12.08ID:/08zgsVl
>>585
http://toro.2ch.net/test/read.cgi/tech/1384821518/
05875652014/05/21(水) 18:07:42.08ID:T6zeFgZl
とにかくどうしたらいいのかおしえてくだしあ
0588デフォルトの名無しさん2014/05/21(水) 18:08:59.27ID:T6zeFgZl
ゆとりはgitって名前が付いてるからgithubもこのスレでいいじゃないかっていうけど
そうやって幅を広くすると俺みたいなカスの質問が流れるか軽くあしらわれてしまうのでやめてほしい
0589デフォルトの名無しさん2014/05/21(水) 19:43:13.07ID:nqnjC0dU
Git 2.0-rc4 リリース
https://github.com/git/git/releases/tag/v2.0.0-rc4
0590デフォルトの名無しさん2014/05/21(水) 19:55:42.24ID:rgBB9OCe
gitみたいなバージョン管理ソフトで、
rc版使う奴ってどういう奴なの?
もしも不具合とかで全部吹っ飛んだりしたらどうすんの?
バックアップとてたとしても、そんな面倒な事してまで使う物なの?
なんなの?ばかなの?しぬの?
0591デフォルトの名無しさん2014/05/21(水) 20:08:44.66ID:MmHyni7x
>>590
人柱を大事にしろよボケ
0592デフォルトの名無しさん2014/05/21(水) 20:18:33.19ID:AVBbOV7Q
>>590
テスト版使ってる連中はリスク承知で使ってんだから大丈夫だろ
何かバグでどうにかなっても取り戻す手段くらい準備してやってるだろ
0593デフォルトの名無しさん2014/05/21(水) 20:19:24.23ID:AVBbOV7Q
>>588
>>569のやり方でいいじゃn
0594デフォルトの名無しさん2014/05/21(水) 21:09:00.37ID:EKqVwxDb
最高に意地悪でひねくれたテストを見せてくれ。
0595デフォルトの名無しさん2014/05/21(水) 21:15:19.41ID:19taQ0OX
pushこまめにしてれば問題ない
0596デフォルトの名無しさん2014/05/21(水) 21:16:23.33ID:19taQ0OX
テスト環境のをすべてシンボリックリンク貼ればいいだろ
0597デフォルトの名無しさん2014/05/21(水) 21:21:22.37ID:OinoP915
gitoliteのやり方
https://github.com/sitaramc/gitolite
パッケージにインストール用スクリプトを追加、git cloneしてそのスクリプト実行

ていうかgit関係ない、zipで拾ってきても、git cloneやpullでも大事なのはソースとってきたあとの話
0598デフォルトの名無しさん2014/05/21(水) 21:44:31.28ID:igdonOpP
>>590
gitは分散型だからユーザーが多くなれば多くなるほど
それぞれがバックアップを持っている。
だからたとえ一人が壊れても復旧可能。


そしてディスク壊れたらどうすんの?って話と一緒。
バックアップぐらいとれや。
0599デフォルトの名無しさん2014/05/21(水) 22:58:13.70ID:19taQ0OX
>>598
rails事件
0600デフォルトの名無しさん2014/05/21(水) 23:03:07.97ID:igdonOpP
>>599
gitと関係ねーしw
0601デフォルトの名無しさん2014/05/22(木) 06:26:16.29ID:JO7c/VLA
>>539
GitHubのGistみたいな感じ?あれもGitで実現されてるらしいけど

>>580-583
VSCの仕様はコンパイルする言語向けって感じで
更新したスクリプトファイル等だけを借りてるサーバーにアップロードしたいという需要には応えられない感じだな
需要としてはアップロードに通信量制限があるとかそういう感じ稀なケースくらいだろうからしかたないか
0602デフォルトの名無しさん2014/05/22(木) 07:30:00.04ID:O49mbUbG
>>601
UNIXの世界ではそういうのはrsyncを使うからね
タイムスタンプじゃなくてMD4を用いて更新チェックしたり
更新の転送もファイル全体じゃなくて変更部分だけを転送して通信量を最小化する
0603デフォルトの名無しさん2014/05/22(木) 08:00:54.05ID:JO7c/VLA
なるほどね
簡易なftp通信ツールじゃなく同期ツールを使うのか
0604デフォルトの名無しさん2014/05/22(木) 08:43:15.77ID:Md3S+Ay9
gitとgithubは(media)wikiとwikipediaのような関係かw
0605デフォルトの名無しさん2014/05/22(木) 09:52:08.98ID:8poss9h8
ふむ
0606デフォルトの名無しさん2014/05/22(木) 17:52:05.88ID:bnXb1Wgc
>>604
それはちがうね
wikipediaはmediawikiそのものだから
0607デフォルトの名無しさん2014/05/22(木) 18:25:23.64ID:uwnOnEuc
そういうこと言ってんじゃない
0608デフォルトの名無しさん2014/05/22(木) 18:48:58.03ID:2qkQcCiJ
>>601
>VSCの仕様はコンパイルする言語向けって感じで
>更新したスクリプトファイル等だけを借りてるサーバーにアップロードしたいという需要には応えられない感じだな
いや全然違うと思う

VCSが言語を選ぶとかじゃなくて、VCSに向かない作業をやってるのがダメなんでは?
そういうのは専用のデプロイ・デリバリツールを選ぶべき。
上の方で話題に出てた「ビルド時にリビジョン埋め込みたい」みたいな要望も
VCSじゃなくてビルドツール等が行うべき領域。

バージョン管理に向かない言語とかは特にないと思うな
ソースコードそのものがバイナリとかいうのがあるなら分からんけど・・・


あと細かい指摘ですまんがVCSのタイポだよな?
しばらくググって悩んじゃったじゃねーか
0609デフォルトの名無しさん2014/05/22(木) 18:54:11.54ID:TFAWZMIx
>>608
>ソースコードそのものがバイナリとかいうのがあるなら分からんけど・・・

Piet言語のことか
0610デフォルトの名無しさん2014/05/22(木) 19:22:23.11ID:f81WwqvH
bitbucketが作ったstash3.0ってなに?
0611デフォルトの名無しさん2014/05/23(金) 18:37:12.92ID:pr4rIIld
developで開発中、急きょ必要がありmaster(stable)からfixブランチを切り修正masterにマージ
developでは弄ってるがfixでは弄って無いファイルの更新日時まで変更される(これはdevelopから切り替えた時点でおきるが)
ファイル更新日時だけでアップロードしようと思うと無理がある
0612デフォルトの名無しさん2014/05/23(金) 20:49:08.96ID:3CistgHw
とうとうgit 2.0が
0613デフォルトの名無しさん2014/05/24(土) 09:01:11.84ID:9qFFfmjf
gitchainを知らなくていいのって小学生までだよね〜
0614デフォルトの名無しさん2014/05/24(土) 11:32:04.32ID:4TNjChUa
>>601
コミットしたものをサーバーにアップロードしたいのか?
コミットする前にテストしたりするためにサーバーにアップロードしたいのか?どっちかよくわからないけど

前者なら作業用のリポジトリをクローンしたものをローカルに用意しといてpullしてxcopyすればいいし
後者ならムダだと思うかもしれないけど今の挙動のままが正解だと思う
checkoutしてタイムスタンプが更新されたファイルは転送されるべきなんだよ
0615デフォルトの名無しさん2014/05/26(月) 16:40:41.53ID:E/fV2vLO
git checkout -b topic_foo HEAD
git push origin topic_foo
というのをよくやるんですが、git push origin topic_foo をもっと簡潔にできますか?
具体的には topic_foo を省略したい。
初審者質問でごめんなさい!
0616デフォルトの名無しさん2014/05/27(火) 03:17:32.65ID:Ha9yhWBf
バッチにしろ
0617デフォルトの名無しさん2014/05/27(火) 07:23:22.69ID:CjDrbeGH
>>615
alias p="git push origin topic_foo"
0618デフォルトの名無しさん2014/05/27(火) 08:25:02.04ID:aQ+mTKAT
>>615
git config push.default current
自己責任で使え
0619デフォルトの名無しさん2014/05/27(火) 09:36:32.14ID:M7xuRdW4
>>616
必ずしも連続して実行するわけではないので、バッチでない方法がいいなあ。
git checkout はこれでいいと思うので、git push origin topic_foo が簡潔になるよい方法があれば教えてください。
(topic_fooが、実際にはけっこう長い名前なので、入力するのがめんどくさい)
0620デフォルトの名無しさん2014/05/27(火) 11:40:51.59ID:empqvUFR
>>615
> git checkout -b topic_foo HEAD
> git push origin topic_foo
> というのをよくやるんですが、git push origin topic_foo をもっと簡潔にできますか?
> 具体的には topic_foo を省略したい。

その前にHEADを省略しろよw

git checkout -b topic_foo
git push origin topic_foo
0621デフォルトの名無しさん2014/05/27(火) 11:41:37.17ID:empqvUFR
> (topic_fooが、実際にはけっこう長い名前なので、入力するのがめんどくさい)

TABで補完すれば良い
0622デフォルトの名無しさん2014/05/27(火) 12:03:49.03ID:aQ+mTKAT
>>618を設定しとけば、topic_fooを省略してgit push originでいける
remoteがoriginならこれも省略できるから、git pushでいい
0623デフォルトの名無しさん2014/05/27(火) 16:10:42.92ID:Ha9yhWBf
バッチすら作れないのか(笑)
619がしょぼいのか619が使ってるosがしょぼいのか(笑)
うちのvistaならファイルすら不要でランチャーにいくらでも作れるんだが(笑)
0624デフォルトの名無しさん2014/05/27(火) 18:36:54.81ID:CjDrbeGH
vistaでなければ、バッチなんてめんどくさいもの作る必要すらない。
0625デフォルトの名無しさん2014/05/27(火) 19:21:12.08ID:Ha9yhWBf
いやいや面倒でもなければターミナルに切り替える必要もなくただボタン一つ押すだけだから(笑)
0626デフォルトの名無しさん2014/05/27(火) 21:50:46.03ID:x1QZTJwI
必ずしも連続して実行する訳ではない、と言われてるのに脳内で作れないって決めつけちゃうのヤバいな
これからの日本社会に必要な人材だ
0627デフォルトの名無しさん2014/05/28(水) 02:29:31.61ID:JqBWJ9I7
>>625
ボタン押すとかめんどくさすぎる
0628デフォルトの名無しさん2014/05/28(水) 06:37:21.38ID:3jHSpg0i
バッチってもしかしてブランチ毎に作るんか?w
0629デフォルトの名無しさん2014/05/28(水) 09:27:53.43ID:CrCNX+z2
主となるブランチが1個なら別にいいだろ
0630デフォルトの名無しさん2014/05/28(水) 09:47:28.15ID:3jHSpg0i
元の質問はトピックブランチの話をしてるんだから
主となるブランチが1個とかじゃないだろw
0631デフォルトの名無しさん2014/05/28(水) 10:02:33.99ID:TQzWSZnP
トピックブランチっていくつあるの?
0632デフォルトの名無しさん2014/05/28(水) 10:44:05.28ID:+VRaMc3N
そこからかよw

無知が提示する案ほど
迷惑なものはないよなw
0633デフォルトの名無しさん2014/05/28(水) 12:13:27.82ID:zJ+uQAQa
でも結局>>618でFAだろ?
0634デフォルトの名無しさん2014/05/28(水) 13:56:51.68ID:3jHSpg0i
作ったトピックブランチを確実にpushする前提なら
(トピックブランチ作ったけどやっぱpushするのやめたーってのが無い前提なら)
push.default=currentにしなくてもpush.default=simpleで(2.0からのデフォルト)
ブランチ作ってすぐgit push -u origin topic_fooをやっとけばいい
それ以降はgit pushだけで済む
0635デフォルトの名無しさん2014/05/28(水) 15:03:48.65ID:ioEFfNM4
コミットの回数とタグの数をそれぞれ取得する方法おしえて
0636デフォルトの名無しさん2014/05/28(水) 15:29:40.52ID:3jHSpg0i
コミットの回数
git rev-list --all --no-merges | wc -l

タグの数
git tag | wc -l
0637デフォルトの名無しさん2014/05/29(木) 00:23:03.07ID:RABmUlyV
git add .
git commit -m "前と同じ"
git rebase -i
git push origin <branch>
git rebase master
git push -f origin <branch>



今この状態で、流石にメッセージが前と同じではまずいので直前のコミットとsquashしたいのですが
git rebaseしたらこんなこと言われてしまいます

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details

git rebase <branch>

どうすればいいのでしょうか
0638デフォルトの名無しさん2014/05/29(木) 00:35:18.93ID:Kg1bZGF5
>公開リポジトリにプッシュしたコミットをリベースしてはいけない
>
>この指針に従っている限り、すべてはうまく進みます。もしこれを守らなければ、あなたは嫌われ者となり、友人や家族からも軽蔑されることになるでしょう。
0639デフォルトの名無しさん2014/05/29(木) 00:40:14.69ID:RABmUlyV
そうなったらまずはgit pushを取り消せばいいのでしょうか?
0640デフォルトの名無しさん2014/05/29(木) 00:59:18.64ID:erdIUEhx
>>636
gitってこう引数がおおくてわけわかめ
コマンドを増やしてgit commit-countみたいにわけてほしい
0641デフォルトの名無しさん2014/05/29(木) 01:05:45.72ID:bLCAImAr
wcは引数じゃないだろ
0642デフォルトの名無しさん2014/05/29(木) 01:25:09.99ID:/G0dYxTO
unix使いの大好きなシェル芸
0643デフォルトの名無しさん2014/05/29(木) 02:00:42.20ID:yg8neWnh
>>640
つ alias
0644デフォルトの名無しさん2014/05/29(木) 07:45:11.40ID:QPTL35Py
>>641
シェルの引数じゃん

とか屁理屈を言ってみる
0645デフォルトの名無しさん2014/05/29(木) 08:39:11.17ID:A6IQETei
シェルの引数ってなんだ?wcはただのコマンドだぞ
0646デフォルトの名無しさん2014/05/29(木) 08:42:01.31ID:dDbteSWz
>>645
シェルへの引数と言いたかったんじゃないの?
0647デフォルトの名無しさん2014/05/29(木) 08:45:00.26ID:A6IQETei
シェルへ引数なんて渡してないし
0648デフォルトの名無しさん2014/05/29(木) 09:10:15.42ID:A6IQETei
>>637
git rebaseの引数省略しすぎ
0649デフォルトの名無しさん2014/05/29(木) 10:02:11.97ID:bNL2V7UE
wcはトイレだわな
0650デフォルトの名無しさん2014/05/29(木) 11:00:25.25ID:QPTL35Py
>>647
はいはい



人と会話できるように頑張ってね (ハート
0651デフォルトの名無しさん2014/05/29(木) 11:05:28.42ID:efebR6WC
Git 2.0.0 リリース
https://github.com/git/git/releases/tag/v2.0.0
0652デフォルトの名無しさん2014/05/29(木) 11:14:25.76ID:1+PX4fUT
msysgitのv2.0.0はまだまだ先かな・・・
0653デフォルトの名無しさん2014/05/29(木) 12:18:16.52ID:JkDx0bBd
>>636で多いって言ってる人って、
リダイレクトやパイプって使ったことこないの?
Linuxを使う上での基礎。初心者レベルのことなんだが。

自己紹介よろしく。Linuxつかえませーんという自己紹介をしてくれw
0654デフォルトの名無しさん2014/05/29(木) 12:31:49.12ID:kyPc1SKC
それ「おまえが気持ちよくなれる」以外の何のメリットがあるんだ
0655デフォルトの名無しさん2014/05/29(木) 12:49:31.76ID:LpHrGA0w
シェル芸とかって言って煽る方もなんだかな。
commit-countとかどんどん増やしていってもきりがないし、どうしても専用コマンドを作らないといけないってもの以外は出力をパイプで処理とかでいいじゃん。
まあ>>635みたいな無能そうな奴の質問には答えないほうがいいのかもしれないな。答えても「わけわかめ」とか言われるんだからw
0656デフォルトの名無しさん2014/05/29(木) 13:45:23.70ID:1vfDNvKU
コマンドが多機能になっても、単純なコマンド組み合わせた方がわかりやすいから、ついついパイプ使っちゃうな。
0657デフォルトの名無しさん2014/05/29(木) 17:55:22.19ID:urb8vROk
githubとかでもなんでもsshを使ってgitする方法が安全って言われているじゃないですか
んでsslキーっていうんですかid_rsaっていうファイルありますよね
こういうのをdropboxに置いて管理するのは間違ってますか?
0658デフォルトの名無しさん2014/05/29(木) 18:38:10.80ID:A6IQETei
>>657
sshのid_rsaファイルのことをsslキーなんて言わない
秘密鍵のid_rsaファイルは普通パスフレーズをつけて暗号化してあるけど、それでも他人から見えるとこに置くべきではない
dropboxは厳密に他人から見えない場所とは言い切れない
その鍵で何を管理してるかで鍵の取り扱い方針は決めるべき
0659デフォルトの名無しさん2014/05/29(木) 19:01:58.24ID:dDbteSWz
>>658
暗号化して置いておけばよくね?
0660デフォルトの名無しさん2014/05/29(木) 19:08:28.29ID:urb8vROk
まじっすか
なんかdropboxで共有したらどの環境からでも接続できるよってブログを見かけたんですけどやっぱりセキュリティ的によくないですよね
0661デフォルトの名無しさん2014/05/29(木) 19:14:49.64ID:A6IQETei
>>659
どの程度の強度の暗号化をするかによるね
とりあえず10文字未満のパスフレーズ程度じゃあまり役に立たない
0662デフォルトの名無しさん2014/05/29(木) 19:16:30.06ID:Jpnwpx9o
安全のために鍵かけるなら鍵の扱いも安全にしろよw

というかid_rsaってPC外に出すもんじゃないんじゃないの?
0663デフォルトの名無しさん2014/05/29(木) 19:17:11.95ID:Jpnwpx9o
間違えた
×というかid_rsaってPC外に出すもんじゃないの?
○というかid_rsaってPC外に出さないもんじゃないの?
0664デフォルトの名無しさん2014/05/29(木) 19:21:19.75ID:yBXBS2Lg
どうしても移動させるときは暗号化したUSBメモリ
06656602014/05/29(木) 19:41:02.34ID:H5LJYYF1
一応パスワードは70文字にしています
パスワードはkeepassに保存していて、パスワードが保存されているデータベースと鍵ファイル?の2つもdropboxで共有しようと思ってました
0666デフォルトの名無しさん2014/05/29(木) 19:48:26.76ID:A6IQETei
>>665
パスワードが保存されているデーターベースが一緒の場所に置いてあるなら、
その70文字に意味無くて、keypassのマスターパスワードの強度が問題になる
0667デフォルトの名無しさん2014/05/29(木) 19:50:15.90ID:1vfDNvKU
>>659
オンラインの認証は、警備員の見てる前で金庫の暗証番号入力するようなもの。
dropboxや情報漏洩などで盗まれた暗号化された情報は、金庫を持ち帰って機械なども使って開けようとするもの。
警備員の見てる前でそんなことしたら捕まるが、持ち帰ればやりたい放題。
0668デフォルトの名無しさん2014/05/29(木) 19:53:24.06ID:H5LJYYF1
>>666
マスターパスワードは4文字にしてます
0669デフォルトの名無しさん2014/05/29(木) 19:58:00.86ID:A6IQETei
>>668
最悪です。
0670デフォルトの名無しさん2014/05/29(木) 20:07:59.65ID:A6IQETei
>>668
最悪はちょっと言い過ぎたかもだけど
それは暗号化してない秘密鍵をdropboxに置いてるのとほぼ変わらない
つまり他人に見られる可能性のある場所に一般的なパスワードをそのまま置いてるのとほぼ同じ
0671デフォルトの名無しさん2014/05/29(木) 20:14:11.97ID:JkDx0bBd
いいえ、最悪です。
0672デフォルトの名無しさん2014/05/29(木) 21:22:37.06ID:H5LJYYF1
f
0673デフォルトの名無しさん2014/05/30(金) 01:25:20.18ID:EMzWDMfn
ファイルを作らないでgitに直接データをコミットする方法ありませんか?
rubyのgollumってgitでデータを管理しているそうでファイルを作らないでどうやってgitで管理しているのか疑問に思って質問しました
0674デフォルトの名無しさん2014/05/30(金) 01:33:04.77ID:q6NHkjTH
あるブランチ上にある2つのコミットの間で変更・追加・削除・移動されたファイル名(ファイルパス)の一覧を表示する方法ありますか?
0675デフォルトの名無しさん2014/05/30(金) 01:58:40.65ID:fAx5Tsbo
>>674
git diff a..b --name-status
0676デフォルトの名無しさん2014/05/30(金) 02:07:01.03ID:q6NHkjTH
>>675
トン
ありがと
0677デフォルトの名無しさん2014/05/30(金) 02:31:09.91ID:n9pxH6sn
>>673
patchを取り込むのってファイルなくてもできそうな気がするけど、どうだろう?
0678デフォルトの名無しさん2014/05/30(金) 08:32:01.24ID:2GmvsnCC
>>673
gitのレポジトリの構造は簡単だから、レポジトリに直接アクセスするライブラリとか各種言語向けにいろいろ作られてる
gollumはrubyで書かれてて、rubyにはgritっていうレポジトリに直接アクセス可能なライブラリがあって、gollumもgritを使ってる
ここでたまに話がでるgitlabもgritを使ってるね
0679デフォルトの名無しさん2014/05/30(金) 10:42:47.22ID:V58Lvn6/
>>678
おもしろそうなので grit を調べてみたら、grit はメンテナンスしてないので rugged を薦めてるね。
https://github.com/mojombo/grit/blob/master/README.md

grit
https://github.com/mojombo/grit

rugged
https://github.com/libgit2/rugged
0680デフォルトの名無しさん2014/05/30(金) 12:04:19.72ID:77FTxa6s
すげえそんなのあるのか
phpかpythonでそのライブラリってないっすか?
0681デフォルトの名無しさん2014/05/30(金) 12:12:12.88ID:wKr0dicp
rugged なら、その上のlibgit2下にずらっとあるけどそれでどうかな
0682デフォルトの名無しさん2014/05/30(金) 13:43:32.48ID:V58Lvn6/
>>680 >>681
libgit2 を使うなら PHP は php-git、Python は pygit2 だね。

libgit2
http://libgit2.github.com/
https://github.com/libgit2/libgit2

php-git
https://github.com/libgit2/php-git

pygit2
http://www.pygit2.org/
0683デフォルトの名無しさん2014/05/30(金) 13:53:45.96ID:C8E1zgtw
どうもありがとう!
0684デフォルトの名無しさん2014/05/30(金) 13:59:07.40ID:v6d8zvnx
どうしたしまして!
0685デフォルトの名無しさん2014/05/30(金) 14:48:31.65ID:2GmvsnCC
>>679
gritの本家は更新止まってるけど、gitlabがforkしてメンテしてる
https://github.com/gitlabhq/grit

RubyGemsからはgitlab-gritの名前でインストールできる
https://rubygems.org/gems/gitlab-grit
0686デフォルトの名無しさん2014/05/30(金) 14:53:30.58ID:V58Lvn6/
>>685
情報ありがとう
0687デフォルトの名無しさん2014/05/30(金) 22:09:59.66ID:v6d8zvnx
どうしたいしまして!
0688デフォルトの名無しさん2014/05/30(金) 23:42:52.28ID:VEn3EfW3
Python2/3のgitインターフェースはないですか?
できればbottleみたいにインストール不要なので
gitlib2のPythonバインディングはコンパイルが面倒でした
0689デフォルトの名無しさん2014/05/31(土) 09:09:25.27ID:j/TOOJQQ
Git 2.0.0 がリリースされたけど 1.9.4 もリリース
https://github.com/git/git/releases/tag/v1.9.4
0690デフォルトの名無しさん2014/05/31(土) 10:26:04.90ID:hQl0nrcC
なんでやねん
0691デフォルトの名無しさん2014/05/31(土) 12:26:02.52ID:Q8mJYa9Q
秘密鍵にパスフレーズ振ってるやつなんていねーよ……
0692デフォルトの名無しさん2014/05/31(土) 12:28:52.59ID:mt1wvbpO
ノートPCに秘密鍵入れといて
ノートPC盗難されたらどうするつもり?
0693デフォルトの名無しさん2014/05/31(土) 14:00:26.64ID:3W9FVu4M
>>692
諦めるに決まってんだろ、何言ってんだ

お前、自分の頭にしかパスワードが無ければ
頭を持ってかれるんだぞ? それに比べれば
ノーパソくらい大した損害じゃねーよ
0694デフォルトの名無しさん2014/05/31(土) 14:07:47.34ID:bRH5rrCK
秘密鍵が盗まれたってそれがどこにつながる鍵なのかわからなければ悪用されないじゃん
0695デフォルトの名無しさん2014/05/31(土) 14:08:43.81ID:ZdLIEqhK
ところがどっこい
0696デフォルトの名無しさん2014/05/31(土) 14:21:11.79ID:orufI9PA
>>692
HDDやSSDは暗号化して使うのが基本
そうじゃなければ秘密鍵ファイルを暗号化汁
0697デフォルトの名無しさん2014/05/31(土) 14:43:33.95ID:bRH5rrCK
暗号化されたってログインされたら意味無いじゃん
0698デフォルトの名無しさん2014/05/31(土) 14:50:07.85ID:eTy5fHBW
>>696
truecrypt 終わったねえ
0699デフォルトの名無しさん2014/05/31(土) 16:59:58.04ID:2ArsU7CW
2.0のリリースノートを機械翻訳したら、何かいろいろ速くしたって書いてあるようだけど
実際どうなんだ
0700デフォルトの名無しさん2014/06/01(日) 11:36:35.94ID:zOVN/jYA
>>699
計れよ
0701デフォルトの名無しさん2014/06/01(日) 13:14:54.21ID:SAafBPBX
てめーが、やれ
0702デフォルトの名無しさん2014/06/01(日) 14:03:13.82ID:dFCTVAji
>>694
つまり、どこにつながる鍵なのかわかれば悪用されるって
君はいいたいんだよね?
0703デフォルトの名無しさん2014/06/01(日) 14:18:12.44ID:q7lY0P5T
>>702
裏 とか 対偶 とか知らんの?
0704デフォルトの名無しさん2014/06/01(日) 14:18:29.63ID:rJY7yXwk
yes
0705デフォルトの名無しさん2014/06/01(日) 14:26:54.79ID:X2VZJkGd
githubに登録してある公開鍵はすべて誰でも簡単に取得できるから、
秘密鍵が盗まれると簡単にイタズラ可能だよ
0706デフォルトの名無しさん2014/06/01(日) 14:33:26.05ID:dFCTVAji
>>703
ん?なに?w

もしかして「とは限らない」って言ってるの?w
俺は悪用される可能性があるって話をしてるんだけど。
0707デフォルトの名無しさん2014/06/01(日) 14:37:41.79ID:rJY7yXwk
>>705
どうやって取得するの?
0708デフォルトの名無しさん2014/06/01(日) 14:38:31.41ID:dFCTVAji
1. パスワードが盗まれたってそれがどこのパスワードかわからなければ悪用されないじゃん
2. つまりどこのパスワードかわかれば悪用されるってことだよね(俺が言ったこと)
3. 裏ガー、対偶ガー

こう言われた気分w


どこのパスワードかわかっても悪用されるとは限らない(キリッ)

こう言ってるように俺は感じたw
0709デフォルトの名無しさん2014/06/01(日) 14:40:36.77ID:k00SlaTm
具体的に何割とか計算できるもの以外の可能性は
ただごねてるだけと変わらない
0710デフォルトの名無しさん2014/06/01(日) 14:40:53.33ID:X2VZJkGd
>>707
https://github.com/アカウント名.keys
0711デフォルトの名無しさん2014/06/01(日) 14:42:14.70ID:dFCTVAji
本当に悪用されないと思ってるなら
ここで秘密鍵を公開すればいいんだよな。
0712デフォルトの名無しさん2014/06/01(日) 14:54:25.82ID:rJY7yXwk
じゃあさ
8gjk39joi4njodgf9
ってパスワードがあったとしたらこれで悪用してみろよ!
0713デフォルトの名無しさん2014/06/01(日) 14:54:47.95ID:dFCTVAji
>>712
どうせそれ偽物だろw

偽物を貼った時点で自覚してるじゃん
ここに秘密鍵を書くのは怖いことだってw

だいたい秘密鍵がバレた時は、
どこに接続しているかの情報もわかることが
大半なのでそこまで書くべきだよ。

え?どこの秘密鍵かは答えられない?
あぁ、それは、どこの秘密鍵かわかれば悪用されるって
自覚しているからだね(最初に俺が言ったこと)
0714デフォルトの名無しさん2014/06/01(日) 14:55:35.81ID:dFCTVAji
(ヒント)わずか22秒で書けると思う?w
0715デフォルトの名無しさん2014/06/01(日) 14:56:09.78ID:X2VZJkGd
>>712
秘密鍵が何なのか理解できてない?
0716デフォルトの名無しさん2014/06/01(日) 14:56:31.51ID:rJY7yXwk
偽物ってなんのだよ
このパスワードがどこのサイトのかわからないと使い道ないぞ
あとidもわからないとまったく使えないぞ
これはおれんちのlocalhostのパスワードだから
0717デフォルトの名無しさん2014/06/01(日) 14:57:25.03ID:rJY7yXwk
なんでどこに接続しているかわかるんだよ
0718デフォルトの名無しさん2014/06/01(日) 14:57:58.60ID:q7lY0P5T
>>706
> 俺は悪用される可能性があるって話をしてるんだけど。

可能性とか言いながら

> つまり、どこにつながる鍵なのかわかれば悪用される

とか、言い切る奴って (w
0719デフォルトの名無しさん2014/06/01(日) 15:02:51.61ID:e/SJ8pUJ
悪用される可能性があるときは、必ず悪用される。
というのが防犯の鉄則だよね
0720デフォルトの名無しさん2014/06/01(日) 15:03:48.27ID:G7XNVB3u
スレチなので移動をおながいします
0721デフォルトの名無しさん2014/06/01(日) 15:04:54.94ID:X2VZJkGd
パスワードと公開鍵認証の秘密鍵との違いを理解できてないのか
0722デフォルトの名無しさん2014/06/01(日) 20:00:44.12ID:Anql4k9d
>>692
ペアの公開鍵を捨てる以外になにがある?
0723デフォルトの名無しさん2014/06/01(日) 20:15:54.15ID:n3zMz1VV
トピックブランチ名をチケット番号と紐付けて運用してるとして、

1. ブランチ ticket1 を切る
2. ticket1 にたくさんコミットして、開発・テスト完了
3. ticket1 を develop にマージして push
4. ここで、ticket1 に実装漏れとかバグが発覚

この場合、どんなブランチの使い方が妥当なの?
ticket1 っていう名前を再利用して、そのままブランチ切って開発・マージする方法とか
いったんマージしたのを revert して、ticket1 のトピックブランチを正しく補完してからマージしなおすとか
別の ticket2 を作って、ticket1 と ticket2 は git の外での関連付けに任せる方法とか
0724デフォルトの名無しさん2014/06/01(日) 20:38:23.33ID:MYnj2kml
> いったんマージしたのを revert して、ticket1 のトピックブランチを正しく補完してからマージしなおすとか
漏れてまいそうで(アカン)
0725デフォルトの名無しさん2014/06/01(日) 20:49:21.18ID:iPeFjK0r
俺なら別のチケット切る
0726デフォルトの名無しさん2014/06/01(日) 22:13:35.46ID:7u+U5fAC
チケット番号とブランチ名を一緒にしておきたいのはBTSの運用の都合だと思われるので、
BTSを重要視し、ブランチ名を一緒にしておく事が大事だと思うならするならdevelopの最新からもう一度ticket1というブランチを切ってそこから修正すればいいと思うし、
Gitの履歴の方が重要だと思うならticket1_fixとかで新しくブランチ切ればいいんじゃないかな。
0727デフォルトの名無しさん2014/06/01(日) 23:17:53.65ID:wXEX5FU/
言語ごとにリポジトリを作成した時に自動で.gitignoreを生成するライブラリとかってありますか?
0728デフォルトの名無しさん2014/06/02(月) 00:42:17.96ID:CbbBfIj2
>>727
http://www.gitignore.io
おすすめ
0729デフォルトの名無しさん2014/06/02(月) 01:05:25.92ID:/lZkAqJY
ステマ乙
0730デフォルトの名無しさん2014/06/02(月) 01:09:16.33ID:gFpQKwCr
>>728
リポジトリを作る時に言語名を入力してgit init と.gitignoreをつくってほしいんですよ
有りそうな気がするんですけどそのサイト見て自分でコピペするしかないんですかね?
0731デフォルトの名無しさん2014/06/02(月) 01:25:08.89ID:6oKdltFr
.gitignoreに全部入れりゃいいじゃん?

たとえばPHPの開発だとして、Ruby標準の
.gitignore(それが何なのかよくわからんが?)を
追加して何が問題なんだ?

だいたい、一つのリポジトリで複数の言語使うことなんて
よくある話で、言語名で.gitignoreを作るという発想がよくわからん。

どうせエディタのテンポラリファイルとかバックアップファイルとかは
言語名指定しても含まれないんだろ?それじゃ片手落ちじゃね?

そもそも、言語標準の.gitignoreって意味分かんないんだよな。
どっちかと言ったら、.gitignoreに入れるものは言語ではなくて
使うツールによって決まるものだろう。
0732デフォルトの名無しさん2014/06/02(月) 01:28:04.27ID:gFpQKwCr
そんな事言ったら世の中のフレームワークやライブラリに喧嘩売ることになりますよっと
0733デフォルトの名無しさん2014/06/02(月) 01:30:45.30ID:l4SS/Bsy
そういうツールが無いのなら自分で作ってしまえばいいの
そしてそのツールを売りに出せばバカ売れ間違いなしなの
0734デフォルトの名無しさん2014/06/02(月) 01:54:49.93ID:6oKdltFr
>>732
意味がわからん。

今話しているのは.gitignoreの話で
フレームワークやライブリの話は全く関係ないだろ。
0735デフォルトの名無しさん2014/06/02(月) 01:59:28.89ID:l4SS/Bsy
そういえばGitHubにもgitignoreのサンプルがあるね
https://github.com/github/gitignore
0736デフォルトの名無しさん2014/06/02(月) 01:59:52.26ID:6oKdltFr
基本的な所がわかってないのかもしれないな。
言語名を入力してgit initとか言ってる時点でハテナだし、
(1リポジトリ = 1言語ではない)
言語名が決まったからって.gitignoreは決まらない。

たとえばC言語であっても、Linux用であれば.oを.gitignoreに
追加するだろうけどWindows用だと.objeだし。

その他のOSを考えると、.gitignoreは言語名できまるのではなく、
使うツールで決まるもの。(>>731で既に俺が言ったこと)
0737デフォルトの名無しさん2014/06/02(月) 02:10:49.16ID:l4SS/Bsy
あ、なるほど
>>728>>735を指定したとおりに繋ぎ合わせてくれるのか
やるじゃないかMr. Blau
0738デフォルトの名無しさん2014/06/02(月) 02:14:43.55ID:6oKdltFr
.gitignoreはあとから入れるもんだよなー。
使うツールが決まった時点で追加するものだ。
0739デフォルトの名無しさん2014/06/02(月) 02:19:55.88ID:l4SS/Bsy
>>728にコマンドラインから取得する方法まで懇切丁寧に教えてくれてるし
何も困る事ないじゃないですかー
0740デフォルトの名無しさん2014/06/02(月) 02:44:00.18ID:mMUvacT0
複数言語入れて使いにくいのはおつむの問題
0741デフォルトの名無しさん2014/06/02(月) 12:49:24.52ID:KoJqCjfS
すいません
もともとgitのソースコードがローカルにあったのでgit pullしてmakeしてインストールしたんですけど
インストールしたバージョンgit version 2.0.0.6.g03cd2b0
なんですけどこれは2.0のリリースのですか?ベータですか?
https://github.com/git/git/releasesでg03cd2b0を検索してもヒットしません
0742デフォルトの名無しさん2014/06/02(月) 12:51:44.85ID:RquarvTq
リリースでビルドしたいならタグを使えよ
0743デフォルトの名無しさん2014/06/03(火) 19:31:06.67ID:5oGupbY1
linuxのgitのdiffコマンドって何のdiffツールですか?
githubみたいなdiffが欲しいんですけどあれってgit diffの結果を出力してるだけなんですかね?
0744デフォルトの名無しさん2014/06/03(火) 21:17:15.22ID:rCJu7D+N
>>741
git checkout v2.0.0しないと
07452162014/06/03(火) 22:17:39.88ID:Q95pPloD
ダメだ一つのフォルダにphpで作ったやつとかrubyで作ったやつをごっちゃにしていれてるとわけわかんねえ
やっぱり言語ごとにフォルダ分け内とダメだね
0746デフォルトの名無しさん2014/06/03(火) 22:32:05.17ID:5DO4L7dm
gitで管理する以前の問題では
0747デフォルトの名無しさん2014/06/03(火) 23:29:08.00ID:LGyoc4CS
>>745
拡張子でわかる
0748デフォルトの名無しさん2014/06/03(火) 23:36:43.88ID:o0dI1/Bo
この1ヶ月間何やってたのかと
0749デフォルトの名無しさん2014/06/03(火) 23:41:14.87ID:9AiAEfmm
一ヶ月でけっこスレすすんでるなw
言語ごとにというか、ひとつの言語のコードでも機能ごとにある程度フォルダわけないと混乱するだろ
0750デフォルトの名無しさん2014/06/03(火) 23:41:30.25ID:bK0U8GNH
そもそもどういうリポジトリなんだ
0751デフォルトの名無しさん2014/06/04(水) 00:13:25.94ID:Vfc08V0n
c:¥myrepo¥gazoudownloader
c:¥myrepo¥createxml
c:¥myrepo¥bbs

こんな感じでプロジェクトの名前だけ
もうねわけわからん
0752デフォルトの名無しさん2014/06/04(水) 00:16:34.88ID:Vfc08V0n
このプロジェクトはなんだったかな?フォルダの中身を覗いて初めてphpとわかる。php用の環境を立ち上げる

よしこのphpで書いたプロジェクトは終わったから続けて他のphpのプロジェクトを更新するか

あれ?どれがphpで書いたプロジェクトだっけ?これかな?あ、ちがうこれはperlだ。じゃあこれは。ああrubyだった。じゃあこれは・・・よしphpだ。

もうめんどうくせえよ
0753片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0 2014/06/04(水) 00:19:32.02ID:qVJRsv3N
ReadMe.txtくらい書けよ。
grep使え。
0754デフォルトの名無しさん2014/06/04(水) 00:23:08.01ID:HmwUcklb
c:\myrepo\php\gazoudownloader
c:\myrepo\php\createxml
c:\myrepo\perl\bbs
とかにすればいいんじゃない?
0755デフォルトの名無しさん2014/06/04(水) 00:34:07.34ID:Vfc08V0n
そうするとここのスレの先輩が怒るんですよ
0756デフォルトの名無しさん2014/06/04(水) 00:36:00.26ID:2MS74yRY
誰も怒ってないと思うが
もうお前がめんどうくせえよ
git関係ねーし
0757デフォルトの名無しさん2014/06/04(水) 00:38:13.72ID:F6AvD4LE
>>752
gitの話関係ないよね?
単にディレクトリで分ければいいだけの話だよね?
0758デフォルトの名無しさん2014/06/04(水) 00:39:35.70ID:HmwUcklb
>>755
スレ読んでみたけど、
あんたがgithubのプロジェクト名とローカルにリポジトリを置くパスの区別がついて無いだけだな
0759デフォルトの名無しさん2014/06/04(水) 00:40:09.95ID:F6AvD4LE
>>754
それは馬鹿だろw

だいたい、プロジェクトごとにリポジトリを分けるのが
普通だってわかってる?

c:\php\myrepo\gazoudownloader
c:\php\myrepo\createxml
c:\php\myrepo\perl\bbs

こうすればいいだけだよ。
git関係ない。
0760デフォルトの名無しさん2014/06/04(水) 00:41:28.11ID:u9d9cpJD
整理術の本でも買って読んでなさいって感じ
0761デフォルトの名無しさん2014/06/04(水) 00:45:45.12ID:HmwUcklb
>>759
gazoudownloaderとかcreatexmlとかbbsが各々リポジトリで、それぞれgitで管理されてて、
myrepoっていうのがリポジトリ置き場ってことじゃないの?
0762デフォルトの名無しさん2014/06/04(水) 00:45:50.36ID:2MS74yRY
「超」整理法で日付ディレクトリ最強ですね
0763デフォルトの名無しさん2014/06/04(水) 00:49:28.83ID:F6AvD4LE
>>761
あぁ? くだらなすぎてちゃんと見てなかったよw

c:php\gazoudownloader (1リポジトリ)
c:php\createxml (1リポジトリ)
c:perl\bbs (1リポジトリ)

これでいいのか?

繰り返し言う。リポジトリの中に言語名を入れる奴は馬鹿。
0764デフォルトの名無しさん2014/06/04(水) 00:51:22.33ID:F6AvD4LE
だいたいさ、1つのリポジトリで
複数言語使うことなんてよくある話なんだから。

リポジトリに言語名入れるとかありえないって
少し考えればわかるじゃんw
0765デフォルトの名無しさん2014/06/04(水) 00:57:04.62ID:HmwUcklb
リポジトリの中に言語名のフォルダあるのけっこう普通だと思うけど?
javaの標準的なプロジェクト構成とかそうだし
railsなんかもjavascriptとかcoffeescriptなんかのコードは言語名下のフォルダに収まってる
0766デフォルトの名無しさん2014/06/04(水) 00:57:43.07ID:TUGNI46Z
.phpで全部検索すればいい。
それかシンボリックリンクで言語ごとにも分類すればいい。それなら、複数言語にも対応可能。
0767デフォルトの名無しさん2014/06/04(水) 00:59:34.87ID:2MS74yRY
>>765
リポジトリ「名」の中に言語名入れるなって話だろうに
0768デフォルトの名無しさん2014/06/04(水) 01:00:11.45ID:TUGNI46Z
普通だから良い方法とは限らない。
0769デフォルトの名無しさん2014/06/04(水) 01:01:27.99ID:HmwUcklb
>>767
おう。それはいらんな。
0770デフォルトの名無しさん2014/06/04(水) 01:03:07.11ID:dR3HZjet
>>765
githubで探してきて。
その数の1000倍は言語名が
リポジトリに入ってないだろうさ。
0771デフォルトの名無しさん2014/06/04(水) 01:06:12.08ID:cWUULp7C
複数のリポジトリを一つにまとめるって
subversionの中の一部で流行った
バッドノウハウだよね。

subversionがリポジトリを作りにくい上に
tracが単一リポジトリしか対応していない時代があって
その場合に苦肉の策として考えだされた間違えたやり方。

リポジトリはプロジェクトごとに分けましょう。以上。
0772デフォルトの名無しさん2014/06/04(水) 01:08:55.77ID:njjTYj+V
こりゃもう「リポジトリ」というものに関して語るスレが必要だね
0773デフォルトの名無しさん2014/06/04(水) 01:09:54.10ID:pgNO5HMb
おいクソども。
クソでスレ進めんなボケ。
0774デフォルトの名無しさん2014/06/04(水) 01:12:39.69ID:HmwUcklb
いやこの人は、例えばこんな感じにgithubのリポジトリがある場合に
ore/gazoudownloader
ore/createxml
ore/bbs

ローカルには、こんな感じに置いても何の問題も無いということが解んなかったんじゃない?
c:\php\gazoudownloader
c:\php\createxml
c:\perl\bbs
0775デフォルトの名無しさん2014/06/04(水) 01:12:44.95ID:BwekaK/m
railsはrubyだけ
symfonyはphpだけ
gollumみたいに複数言語を使うほうがめずらしいよ
0776デフォルトの名無しさん2014/06/04(水) 01:16:02.01ID:cWUULp7C
>>775
そりゃ、その言語のフレームワークだからだろw
アホすぎだw

(フレームワークを使ってる/使ってなくてもいいが)
アプリのコード見てみろ。

たとえばgit https://github.com/git/git
C 45.9% Shell 34.6% Perl 9.7% JavaScript 3.4% Tcl 2.7% Python 2.4% Other 1.4%

だ。今はリポジトリ見れば簡単にわかるようになって便利だな。
リポジトリの上のカラフルなバーをクリックするんだよ。
0777デフォルトの名無しさん2014/06/04(水) 01:28:41.65ID:u9d9cpJD
ローカルなんだからディレクトリ名なんか好きにすりゃいいし、
数が増えすぎてわけわからなくなったらwikiでも立ててカタログ作りゃえーやん
0778デフォルトの名無しさん2014/06/04(水) 02:04:43.66ID:zV8qAQiq
svn使ってた時に1リポジトリ複プロジェクトにしたおかげで
gitに変換する時に死んだわ…
俺がリネーム厨だったせいなのが原因だけど
0779デフォルトの名無しさん2014/06/04(水) 11:50:46.93ID:JBvZNONu
編集するための環境が複数言語に対応してないことの方が大問題じゃね?w
0780デフォルトの名無しさん2014/06/04(水) 12:19:13.04ID:PLuHq7Rw
>>776
そんな特殊なものを例に出されてもねwwwwwwwwwwwww
ほとんどのプロジェクトは1つの言語だけで作られてるでしょwwwwwwwwwwwww
0781デフォルトの名無しさん2014/06/04(水) 12:21:44.90ID:bEyKGuJO
>>780
ウェブ系ってたくさんの言語あるよ
というか普通の開発でだってひとつの言語で済むのは
すごく稀な例だと思うよ
0782デフォルトの名無しさん2014/06/04(水) 12:43:56.96ID:u9d9cpJD
いつまでこのスレチの話題続くの?
0783デフォルトの名無しさん2014/06/04(水) 12:54:10.95ID:PLuHq7Rw
ぷろじぇくと100も200も増えたらどうすんだよwwwwwwwwwwwwwwwwwwwwwww
1つのフォルダに全部いれとくのかよwwwwwwwwwwwwwwwww
探すのたいへんだぞwwwwwwwwwwwwwww
0784デフォルトの名無しさん2014/06/04(水) 21:29:03.04ID:jJTqmzi2
>>783
同時にそんな件数かかえられるわけないだろ。
現在かかえてるやつだけ残して終わったやつは消せ
0785デフォルトの名無しさん2014/06/04(水) 22:38:03.42ID:q4t2wT6z
>>783は言い間違えたんだよ。
本当に言いたかったのはこっち

ぷろじぇくと100も200も増えたらどうすんだよwwwwwwwwwwwwwwwwwwwwwww
1つのリポジトリに全部いれとくのかよwwwwwwwwwwwwwwwww
探すのたいへんだぞwwwwwwwwwwwwwww
0786デフォルトの名無しさん2014/06/04(水) 23:41:02.34ID:lKY790DW
一つ質問
git mv に失敗したっぽくて、git log --follow してもログが分断されてしまった…
(ようするに消した後、新規追加と同じになってる)

この状況で、ログをくっつける事は可能でしょうか?
0787デフォルトの名無しさん2014/06/05(木) 00:10:17.95ID:B5xrGd/9
>>786
git mvは「消した後、新規追加」と同じことをするコマンドだから何も心配はいらない
0788デフォルトの名無しさん2014/06/05(木) 01:12:05.22ID:iGxBJzBl
>>787
でも、git mv に成功した場合は、git log --follow でログが表示されるのが
されないから多分分断されてる
ムリクリfollowするようにしたいけど、その方法を教えてもらえればと
0789デフォルトの名無しさん2014/06/05(木) 01:23:40.15ID:fhxWm8Xr
>>788
gitは、あるコミットにおいてrmされたファイルとaddされたファイルの内容を比べて、
中身がだいたい同じ場合それはファイルがmvされたのだと適当に判断する

あんたがmvに成功したと思ってるのは、mvしたファイルの内容がgitの許容範囲内だっただけ
0790デフォルトの名無しさん2014/06/05(木) 01:29:08.95ID:iGxBJzBl
>>789
なるほど、薄々そんな気がしていたがやっぱりそうだったのか…
リファクタリング中だったから、git mv した後いぢり過ぎたのか

これからはgit mv した後はすぐコミットする事にします。どうもでした。
0791デフォルトの名無しさん2014/06/05(木) 09:40:58.07ID:sbCUAgw4
ファイルの移動に限らず、ちょっとした関数の移動でも1コミットにしてるな
「内容を全く変えずに移動」で1コミットになってると、行番号だけがずれてるcherry-pickなんかも受け入れてくれやすい
と散々rebase&cherry-pickしまくった経験則だけど
0792デフォルトの名無しさん2014/06/05(木) 11:30:52.10ID:pAA2pjK6
フォルダのどこからでもgit addで追加する場合ってどうやるのか教えてください
git add -Aってカレントフォルダだけですよね
0793デフォルトの名無しさん2014/06/05(木) 17:28:56.51ID:kE+YYBnP
>>710
http://qiita.com/hikaruna/items/6131758d9895c6a8225c

>>710がqiitaに公開したのかqiitaの人がこのスレから転載したのかw
0794デフォルトの名無しさん2014/06/05(木) 19:55:24.38ID:9JC5UGTi
これとはまた違うのか

https://developer.github.com/v3/users/keys/
https://developer.github.com/v3/repos/keys/
0795デフォルトの名無しさん2014/06/05(木) 20:19:48.42ID:fhxWm8Xr
>>792
追加するフォルダかファイルのパスを指定する
0796デフォルトの名無しさん2014/06/06(金) 17:56:42.08ID:ZbxJIgia
初歩的な質問ですけど
ブランチで開発やってて、他のブランチの結果をpullするって出来ますか?

master -------------
branchA \____?_ _ _ _
branchB \______/


図が難しいので順序が逆ですが
branchBが先にmasterからブランチして
branchAが次にmasterからブランチした。

branchAがbranchBの結果をpullして取り込みたいんですが。
branchBがmasterにmergeすると簡単なのかな?

教えてください。
0797デフォルトの名無しさん2014/06/06(金) 18:38:12.44ID:ICJsHYDG
>>796
Gitのマージは賢いからその程度なら全く難しく考える必要なく
branchA側からbranchBをマージできるぞ
0798デフォルトの名無しさん2014/06/07(土) 07:34:24.03ID:paHf3aPB
カレント・ディレクトリの tags ファイルをローカル・リポジトリに追加したいのです
が "git add tags" できません。

"git add tags " コマンド自体を実行させても、エラーを返しません。上手くいったか
と思って "git status" で確認すると、インデックスには tags ファイルは追加されて
いません。tags ファイルを別の名前 tags_test に rename すれば "git add
tags_test" でインデックスに追加されます。でも Vim の補完に使うファイルであり
tags ファイル名のままにしておかねばなりません。"git add -- tags" と実行させても
同じです。

"git add tags", "git add -- tags" が働かない理由と対策を教えてもらえないでしょうか。

OS 環境は Windows7 であり git version は下の様になっています
git --version
git version 1.8.1.msysgit.1
0799デフォルトの名無しさん2014/06/07(土) 07:45:02.46ID:oJ+iP19r
再現しないけど
既に管理下に入ってるんじゃないの?
0800デフォルトの名無しさん2014/06/07(土) 08:00:43.50ID:paHf3aPB
Repository 内に無いことは最初に確認済みでした。

でも、今 git ls-files で確認してみたら tags ファイルが入っていました。このおっちょちょいが。

失礼しました。ありがとうございました。
0801デフォルトの名無しさん2014/06/07(土) 18:48:16.19ID:jSVebn/T
どんなコマンドを入力してもログは絶対に消えないですか
0802デフォルトの名無しさん2014/06/07(土) 18:59:57.78ID:3R8CEA88
rm -fR .git
0803デフォルトの名無しさん2014/06/09(月) 18:34:36.80ID:dvi2Sb61
コンフリクトしてpushしたやつを戻すの難しかったお
Git恐怖症になりそう
0804デフォルトの名無しさん2014/06/09(月) 21:41:17.37ID:nOs0/HFd
コンフリクトしてpushって言ってる言葉自体がわからんw

共有リポジトリなら、revertコマンド一つ。
自分専用リポジトリならローカルを適当に書き換えて
push --forceすれば終わりなんだけどな。
0805デフォルトの名無しさん2014/06/09(月) 21:50:57.46ID:35sdSSzp
最悪、ハッシュさえ覚えとけば(普通は覚えるまでもなくreflogに残ってるが)
ブランチの状態をある時点まで戻すのは簡単だからな
これができないような状態にまで壊すのは、意識的にやらない限りなかなか無い
0806デフォルトの名無しさん2014/06/10(火) 00:28:24.33ID:Rfvv6P0m
revert様々やで
0807デフォルトの名無しさん2014/06/10(火) 01:38:29.66ID:AAMs7V03
途中で分岐させて、片方にコミットAとそのrevertコミット、もう片方にAのチェリーピック食わせてて両方マージしたら暗黙にrevertが優先されて焦った事があった。
マージ賢いけど、賢く運用してる場合に限り賢く振る舞ってくれる感じがする。
0808デフォルトの名無しさん2014/06/10(火) 02:27:26.48ID:osqTzX66
>>807
試しにやってみたけどcherry-pickした方が残るぞ?どんな条件でそんなこと起こるんだ?
0809デフォルトの名無しさん2014/06/10(火) 05:19:03.10ID:8m9M+kuY
再現されない

git init
vim README
git add .
git commit -m "initial commit"
git checkout -b branch1
vim foo1.cpp
git add .
git commit -m "add foo1.cpp"      -> 10b43c7
vim foo2.cpp
git add .
git commit -m "add foo2.cpp"      -> 2bf1437
vim foo3.cpp
git add .
git commit -m "add foo3.cpp"     -> 3b31558
vim foo4.cpp
git add .
git commit -m "add foo4.cpp"     -> 086ca1c
git revert 2bf1437 3b31558       -> foo2.cpp foo3.cpp削除
git checkout -b branch2 master
git cherry-pick 2bf1437 3b31558    -> foo2.cpp foo3.cpp作成
git checkout -b branch2m
git merge branch1             -> 問題なく融合(foo1.cpp〜foo4.cppが存在)
git checkout -b branch1m branch1
git merge branch2              -> 問題なく融合(foo1.cpp〜foo4.cppが存在)
0810デフォルトの名無しさん2014/06/10(火) 07:59:18.53ID:AAMs7V03
そう…再現しねぇんだよ…なんでかなぁ。
0811デフォルトの名無しさん2014/06/10(火) 17:44:37.82ID:Rfvv6P0m
git resetで前のコミットに戻って編集した後pushしたい時って今までのコミットrevertしてからpushするしか無いの?
0812デフォルトの名無しさん2014/06/10(火) 18:27:22.10ID:lvdNmXjN
こんな感じ?

           C4まで公開済み
           ↓
[C1]-[C2]-[C3]-[C4]-[C5]-[C6]-[C7]
                      ↑
                   現在のHEAD

C3まで戻りたいのならC4までresetした後、C3をrevert、でpush可能
C5まで戻りたいのならC5までreset、でpush可能
0813デフォルトの名無しさん2014/06/10(火) 19:14:50.43ID:Rfvv6P0m
>>812
なるほどありがとう
0814デフォルトの名無しさん2014/06/10(火) 20:44:55.54ID:ZZTnWEBr
>>812
これなんかおかしい
0815デフォルトの名無しさん2014/06/10(火) 21:33:28.07ID:pZUiJHso
herokuでwordpressみたいなPaaSの運用って思ったよりめんどくさいのね。
Gitの管理していないファイルの扱いをどうしたらいいんだ。
0816デフォルトの名無しさん2014/06/11(水) 01:19:10.50ID:ehbBircS
>>815
その問題は、データベースに保存するデータを
どうするかって話と同じだろ?
0817デフォルトの名無しさん2014/06/11(水) 07:23:42.77ID:YrJFhcVC
違うでしょ。
herokuの場合wordpressが作成するデータベースは勝手に消えないけど、アップロードしたファイルは消えちゃう。
解決法としてストレージを外部に持つしか方法がないようだ。
0818デフォルトの名無しさん2014/06/11(水) 12:44:22.03ID:EyVsoFD4
heroku使うのにwordpress使うってカスがやること
0819デフォルトの名無しさん2014/06/11(水) 13:23:01.02ID:8t9Ps5Bi
git version 1.8.5.2.msysgit.0 で
git rm -rf dir/
fatal: pathspec 'dir/' did not match any files
ってファイルは消せるのにディレクトリが消せないのはどういうこと?
dir/内は空っぽです
0820デフォルトの名無しさん2014/06/11(水) 14:31:43.41ID:xqrpI9NS
PaaSの環境によるけど、herokuでwordpressってすごく普通だけど。
0821デフォルトの名無しさん2014/06/11(水) 15:22:38.37ID:Rgm1d36A
>>819
Gitはファイルを管理するけどディレクトリそのものは管理しないから
0822デフォルトの名無しさん2014/06/11(水) 20:03:40.21ID:ALIRMVK5
.gitkeepでググれ
08238192014/06/12(木) 00:35:02.82ID:KlCOfI2g
>>821
確かに…別の場所でpullしたらディレクトリ消えてた
git内では消えてるのにディレクトリそのものは残ってるから2回目以降に表示されてたんだな
ファイルはgit rmでばっさり消すくせにディレクトリは消さないってなんでなん
08248192014/06/12(木) 00:42:00.03ID:KlCOfI2g
>>822
ググった
なるほど、git mvでディレクトリ内のファイルを先に全部移動したから、その時点で
gitの管理からはずれてたのか
もう理解できたからいいけど、なんか直感的な挙動じゃなかったな
0825デフォルトの名無しさん2014/06/12(木) 00:50:48.34ID:k+HyAclm
>>823
だから、Gitはファイルを管理するけどディレクトリそのものは管理しない
git rm はGitで管理してるファイルを消すコマンド
ワーキングツリー上の空ディレクトリを消したければ普通のコマンド使え
0826デフォルトの名無しさん2014/06/12(木) 00:51:39.35ID:k+HyAclm
リロードしてなかった
08278192014/06/12(木) 01:33:07.61ID:KlCOfI2g
>>825
一応試したところgit rm -r dir/で実際のディレクトリもちゃんと消えるね
08288192014/06/12(木) 01:34:47.60ID:KlCOfI2g
>>827
もちろん空でないディレクトリに限るけど
0829デフォルトの名無しさん2014/06/12(木) 01:40:04.38ID:k+HyAclm
>>827
dir/の下がgitで管理されてればね
ついでに消す
0830デフォルトの名無しさん2014/06/12(木) 01:41:26.71ID:k+HyAclm
またリロードしてなかった
0831デフォルトの名無しさん2014/06/12(木) 02:44:56.35ID:0fE6ecZu
最初の頃に管理に入れた、とあるファイルが
作り込んだ後になって「各自で別々の内容のまま持つべき」
って話になったんですが、どうすればいいのでしょうか?
git rm --cachedだと各自がpullしたときに消えちゃう…各自の持ってるファイルは現状のままにしたいです
0832デフォルトの名無しさん2014/06/12(木) 02:46:03.19ID:0fE6ecZu
あ、現状のままというか、各自で別々の内容にしていけるように、です。
0833デフォルトの名無しさん2014/06/12(木) 02:52:56.27ID:bcr4Y1Fv
.gitignoreに書けばいいんじゃないの?
0834デフォルトの名無しさん2014/06/12(木) 02:59:30.25ID:0fE6ecZu
>>833
既にコミット済みなので、.gitignoreに書いても除外されないんですよね…
0835デフォルトの名無しさん2014/06/12(木) 03:01:38.52ID:cPATFudP
じゃあコミットからはずせよ
0836デフォルトの名無しさん2014/06/12(木) 03:08:14.85ID:LUHHUJAl
http://qiita.com/usamik26/items/56d0d3ba7a1300625f92
こういうのあるけど
0837デフォルトの名無しさん2014/06/12(木) 03:28:09.83ID:bcr4Y1Fv
非管理ディレクトリでも作ってそこにファイル置いてシンボリックリンクでも張ってつかえばええんちゃうの
0838デフォルトの名無しさん2014/06/12(木) 12:01:55.49ID:Qv1u/W6+
とにかく業務これだけ使えれば万全ってコマンドをあるだけおしえて
commit
add
checkout
branch
remote
log
reflog
reset
これ走ってる
0839デフォルトの名無しさん2014/06/12(木) 12:24:21.06ID:f3a/iFpr
grep
rebase
status
diff
revert
こいつらも覚えとき
bisect、blameもおすすめ
0840デフォルトの名無しさん2014/06/12(木) 14:21:17.86ID:k+HyAclm
>>831みたいなときに
.gitignoreに書いて、git rm --cachedして、その状態をcommitしてたんだけど
そうするとちょっと問題があって
そのcommit以前をチェックアウトした後に、そのcommit以後をチェックアウトすると、
管理から外したファイルが消失しちゃうんだよね
>>836はまったく未知だったわちょっと動作を確かめてみる
0841デフォルトの名無しさん2014/06/12(木) 14:23:15.51ID:fKk4MWnJ
Pro Gitにも書いておいてほしい
0842デフォルトの名無しさん2014/06/13(金) 18:00:50.16ID:VgtrMdkb
>>836はローカルなリポジトリだけに作用する感じなのかねえ
特定のファイルが最初から.gitignoreに登録されてリポジトリには登録されるべきでなかったことをリモートリポジトリにも反映するには、
git filter-branchで最初から書き換えてしまうしか無いのかな
0843デフォルトの名無しさん2014/06/15(日) 12:29:50.14ID:ZB+9NljM
日々の作業を自動化するプログラムを書いてgitで管理していくとプロジェクトが50個超えるんですけど
ここの先輩もそんなにいきますか?
0844デフォルトの名無しさん2014/06/15(日) 12:33:02.69ID:C1Yq9FDg
日々の作業がそんなにないんだけど...
0845デフォルトの名無しさん2014/06/15(日) 12:48:11.71ID:ZuLV4hXG
>>843
それgit関係無いですよね?
0846デフォルトの名無しさん2014/06/15(日) 13:32:29.24ID:KFTbGwac
そのプログラムとやらをまとめて一個のリポジトリにすりゃええやんけ
そんな自動化できることばっかなら仕事しなくていいんじゃね
裏山
0847デフォルトの名無しさん2014/06/15(日) 14:58:31.07ID:cXeYBPF2
自分が書いたコードをレビューしてくれるサイトってありませんか?
0848デフォルトの名無しさん2014/06/15(日) 15:08:34.54ID:l0ywMHBR
>>847
githubにコード晒して
レビューしてくださいっていうとか
0849デフォルトの名無しさん2014/06/15(日) 15:17:54.95ID:47+4XIuz
Git関係なくね?てか使ってる言語系のスレで聞けばよくね?
てかフルボッコされたいならこの板で良くね?
0850デフォルトの名無しさん2014/06/15(日) 15:40:00.08ID:cXeYBPF2
githubってあんまりレビューを見かけることがないんですよね
というかレビューをするのが前提って感じでも無いですし
レビューに力を入れているサイトってないんでしょうか
0851デフォルトの名無しさん2014/06/15(日) 15:40:10.00ID:azJHx8hd
stackoverflowのほうが精神衛生には良さそう
同じボコられるにしたって、匿名と名前ありでは素直に受け取れる度みたいなもんが変わってくると思う
0852デフォルトの名無しさん2014/06/15(日) 15:53:23.78ID:8GPu+iwa
stackoverflowの日本語版が出来たらそこがいいだろう
0853デフォルトの名無しさん2014/06/15(日) 16:09:10.27ID:IRi7fyG5
stackoverflowは質問事項を明確にしないと管理人に質問を凍結状態にされるぞ
レビューしてくださいとかダメだ
0854デフォルトの名無しさん2014/06/15(日) 16:12:09.02ID:qtgrwwOv
stackoverflowで質問したことあるけど勝手にタイトルを変更された
0855デフォルトの名無しさん2014/06/15(日) 19:17:17.20ID:ZZ/FPeiS
タイトルと質問内容をレビューしてもらったわけだ。
コードレビューならとりあえずgithubに上げてみ。誰かのコードレビューすれば逆にレビューしてくれる。
0856デフォルトの名無しさん2014/06/16(月) 00:22:54.07ID:idFh+z/o
>>850
コメントやりあってるのがレビューじゃなくてなんなんだよ…
この人の考えてるレビューはみんなの思い描いてるのとは別物だな、たぶん
0857デフォルトの名無しさん2014/06/16(月) 01:25:32.74ID:HINNz9l/
いやレビュー目的でgithub見に来てる人っていないでしょ?
海外のチャットで僕の英語を添削してくださいなんて言わないよね
だから添削に特化したlang8みたいなのがあるんだよ
0858デフォルトの名無しさん2014/06/16(月) 01:30:36.25ID:MERkKOKe
素晴らしいソフトウェアをもっと素晴らしくするために自分の考えだした素晴らしいアイデアを無償で提供しようってのが公開リポジトリでの交流だろ?
0859デフォルトの名無しさん2014/06/16(月) 01:31:44.76ID:MERkKOKe
どこぞの誰かが添削してくださいって言って公開してる何の役にもたたんコードを無償でレビューするとかどんな暇人やねん
0860デフォルトの名無しさん2014/06/16(月) 01:38:58.62ID:MERkKOKe
いっそのことコードを会員相互でレビューしあうサイトでも立ち上げてみたら?需要があるんなら儲かるんじゃね?
0861デフォルトの名無しさん2014/06/16(月) 06:20:11.38ID:e4oLiDm/
>>860
考えてみた

http://pastebin.com/9mG2V9mV
0862デフォルトの名無しさん2014/06/16(月) 06:29:03.47ID:AdEqdopC
いいかげんGitとは全く関係無いんで他にスレでも立ててやってくれ
0863デフォルトの名無しさん2014/06/16(月) 06:35:35.02ID:Mvi4rDX6
コードレビューでお金がもらえるサービスを作る
http://peace.2ch.net/test/read.cgi/tech/1402867973/
0864デフォルトの名無しさん2014/06/16(月) 08:11:44.62ID:WjthfDAE
>>859
> どんな暇人やねん

にちゃんでうだうだ言ってるお前が言うなよ w
0865デフォルトの名無しさん2014/06/16(月) 22:31:52.86ID:w9HZwqDq
>>863
それ普通にユーキャンだろ…
0866デフォルトの名無しさん2014/06/16(月) 22:37:07.56ID:MMwlea4w
クソサービスすぎて見てるほうが死にたくなる
0867デフォルトの名無しさん2014/06/16(月) 22:56:47.14ID:1GPgt9YV
死にたいなら死んでいいと思います。
0868デフォルトの名無しさん2014/06/18(水) 16:43:12.19ID:bAs8WhGu
gitのサブモジュールって、サブモジュールが更新されたとき、メインのgitでpullすればサブモジュールのgitも最新版になるの?
0869デフォルトの名無しさん2014/06/18(水) 17:03:50.64ID:yu0xlR7/
ならんならん
0870デフォルトの名無しさん2014/06/18(水) 17:49:25.97ID:bAs8WhGu
>>869
ありがとうございます。
ということは、サブモジュールが更新されてたらcomposerとかbowerとかつかわないけないんですね。
0871デフォルトの名無しさん2014/06/18(水) 17:53:32.85ID:yu0xlR7/
なんでやねん
0872デフォルトの名無しさん2014/06/18(水) 21:32:10.25ID:Dv/sTmWi
なんでそうなるんや…
0873デフォルトの名無しさん2014/06/19(木) 02:50:54.18ID:a+4NSFaT
git/composer/bowerあたりが全部ごっちゃになってるのか…gruntとかnpmとかもか
0874デフォルトの名無しさん2014/06/19(木) 02:52:18.29ID:GKSvjGH6
http://info.cloudforge.com/SimplifyingGitwithGitEye-SteveElsemore_CloudForge.html
0875デフォルトの名無しさん2014/06/19(木) 02:56:00.25ID:QcTSno45
>>873
はい。ごっちゃです。
nodejsで、サブモジュールのクラスを継承してるんですけどサブモジュールのライブラリを更新したらメインのサブモジュールも自動更新できるように出来ませんかね?
0876デフォルトの名無しさん2014/06/19(木) 04:35:43.70ID:ZDR2rCVo
http://git-scm.com/book/ja/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB
0877デフォルトの名無しさん2014/06/19(木) 09:10:11.76ID:uhTP2aV5
>>875
外部ライブラリのバージョンを、バージョン管理しないなら、

サブモジュールを使わないで「バージョン管理しないディレクトリ」
として管理しなければいいよ。
0878デフォルトの名無しさん2014/06/19(木) 11:01:04.34ID:QcTSno45
>>876,877
ご親切にありがとうございます。
勉強してみます。
0879デフォルトの名無しさん2014/06/19(木) 17:00:32.13ID:IwCNAxsR
細かい単位でコミットしてないとダメだなあ
あんまり大きい作業単位でコミットしてるとrevertとか便利そうな機能が使えんし
0880デフォルトの名無しさん2014/06/19(木) 17:06:48.92ID:BcmtgtjI
セーブする感覚でやっちゃってる
適当にrebaseしないと散らかりすぎるかのう
0881デフォルトの名無しさん2014/06/19(木) 20:04:21.46ID:GjYBKD0X
俺はブランチ切る→そのブランチ内でセーブ感覚でガンガンコミット→squash
0882デフォルトの名無しさん2014/06/19(木) 20:15:00.22ID:Fdr0qLJN
それがベーシックなやり方だろうね
ブランチ未満の粒度の作業単位は残す必要ないだろうし
0883デフォルトの名無しさん2014/06/19(木) 20:18:40.23ID:Df6JFFDt
個人的な好みとしては
rebaseでの根本移動はアリだけど
squashでのコミット潰しとFFマージ主義はナシ
0884デフォルトの名無しさん2014/06/20(金) 01:16:15.04ID:9P55PKrO
開発用テストサーバとローカルのコードを同期するのに同期用のブランチを切って使ってる。
それだと本当にタイプミスで動かないものの修正とかでcommit/push/pullになって、コミットログも"a"とかなので、さすがにそんなのは履歴として残すメリットはなんにもないので、
本来コミットするべきタイミングでそういうのはsquashしてトピックブランチにcommitしてる。

原理主義者からは単なる同期にgitを使うなとは言われるかもしれないけど、
他のツールを使うのも色々とめんどくさいしね。
0885デフォルトの名無しさん2014/06/20(金) 01:25:01.85ID:nPERQ22c
> squashでのコミット潰しとFFマージ主義はナシ

時と場合によって変えるべき。

なぜ「mergeはこれしかダメ」と決めつける人が多いのだろうか。

squashするべき時はsquashして、するべきじゃない時はsquashしない。
FFマージするべき時はFFマージして、FFマージするべきじゃない時はFFマージしない。

それだけじゃないか。

決めつける人は、自分がやり方ことが明確になっておらず、
ただコマンドを覚えているだけなんだろうな。
0886デフォルトの名無しさん2014/06/20(金) 01:50:53.36ID:fQqGdEOm
自分のやり方と違う奴の存在認められないからすぐ叩きが始まるのはいつものことではないか
0887デフォルトの名無しさん2014/06/20(金) 01:55:10.28ID:7nDrVBi+
1コミットにできないブランチはそもそもブランチの切り方を失敗してる説
0888デフォルトの名無しさん2014/06/20(金) 01:58:44.73ID:rNGAsf/H
1コミットにまとめようとしてsquashしたらコンフリクトがハンパなく発生して死にたくなった
0889デフォルトの名無しさん2014/06/20(金) 02:00:56.73ID:nPERQ22c
>>888
それはmergeでコンフリクトが出ているだけで
squashしたせいじゃないよ。
0890デフォルトの名無しさん2014/06/20(金) 07:49:34.87ID:XWgQCtQu
squash しなければコンフリクトも小出しになると言いたいのでは。
0891デフォルトの名無しさん2014/06/20(金) 19:41:04.84ID:FEHr8pGe
squashしたらこんなのがでる

$ git rebase -i HEAD~3
error: could not apply f7701b6... some edited

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

Could not apply f7701b697f698715b8e2ec3e339655e43e0e6f31... some edited


taro@YOSHIDA ~/myproject/helloworld (master|REBASE-i 2/2)
$
0892デフォルトの名無しさん2014/06/20(金) 19:43:03.58ID:FEHr8pGe
まとめるコミットが多いとこうういのがたくさん出る
0893デフォルトの名無しさん2014/06/20(金) 20:08:47.08ID:fQqGdEOm
がんばれがんばれどかべん
よーしだたろう
0894デフォルトの名無しさん2014/06/20(金) 21:05:57.10ID:tmj63HwH
rebaseはマージコミットの時に行った編集を再現できないから、マージコミットを巻き込んでrebaseしたら
何度でも同じコンフリクトが起きるよ
0895デフォルトの名無しさん2014/06/21(土) 02:40:47.04ID:GnC4hxCp
そして、「何度でも同じコンフリクト」が起きた時
自動で解決してくれる設定が、


あるから誰か答えてね。
0896デフォルトの名無しさん2014/06/21(土) 03:01:15.08ID:5/17O7zj
initからsquashを使うまでの流れを教えてください
0897デフォルトの名無しさん2014/06/21(土) 10:32:06.18ID:tx3pF38o
merge --squashはまず使わないが、
rebaseのsquash, fixupはよく使うレレレのおじさん
0898デフォルトの名無しさん2014/06/21(土) 11:08:10.55ID:EfmviY6O
だってgit bookのページに書いてあったsquashってrebaseの話しかなかったんだもん!
0899デフォルトの名無しさん2014/06/21(土) 12:55:15.10ID:tx3pF38o
ソーカソーカヨシヨシ
0900デフォルトの名無しさん2014/06/21(土) 16:16:41.34ID:0wQ4hVhX
バージョン1.15
ならリリースして少し改造
バージョン2.25
なら、一度全て作り直したって感じでいいのかな?

バージョン名の付け方のルールってある?
0901デフォルトの名無しさん2014/06/21(土) 17:20:16.84ID:ElcRoqBr
>>900
ある、セマンティックなやつが。
0902デフォルトの名無しさん2014/06/21(土) 18:28:28.05ID:oCK5ln20
>>900
ここよりもプログラム系のとこいった方がいいと思うけど、
よくある付け方は、メジャーバージョン変わるのは大きな仕様変更(互換性に影響あるレベル)したとき、
マイナーバージョンは、小さな仕様変更、
表記は無かったけど、ものによってはもう一つ番号加えてパッチバージョンとして、バグ修正用にしたりする。

major.minor.patch といった感じ
0903デフォルトの名無しさん2014/06/21(土) 20:17:05.33ID:zNQ9d1mJ
>>900
オープンソースだと奇数は開発版、偶数は安定版ていうルールがあることがある
0904デフォルトの名無しさん2014/06/21(土) 20:22:23.46ID:m/fZKRgt
アルファ版、ベータ版
テスティング版、スタブル版
0905デフォルトの名無しさん2014/06/21(土) 20:29:04.62ID:m/fZKRgt
前バージョン使ってた人が新バージョンを使う際に新たに学習が必要な場合はメジャーバージョンアップ
前バージョン使ってた人が新バージョンを使う際に新たに学習が必要なく、性能の大幅向上やバグフィクスやセキュリティアップデートはマイナーバージョンアップ
前バージョン使ってた人が新バージョンを使う際に新たに学習が必要なく、誤字脱字の修正や性能の微々たるの変化のある場合はリビジョンアップ
0906デフォルトの名無しさん2014/06/21(土) 21:01:35.87ID:4Db89jJs
互換性が壊れる場合はmajor、互換性が壊れない範囲の新機能はminor、外から見てわからん変更とバグ修正はrevision
0907デフォルトの名無しさん2014/06/21(土) 21:06:19.94ID:tQVBpUxD
マイナーバージョンは修正した数だけ増やす
1.0 メジャーバージョンは新規機能を実装しない
1.1.1 1個修正 マイナーバージョンは修正した数を乗せる
1.2.20 20個修正
0908デフォルトの名無しさん2014/06/21(土) 21:12:09.56ID:v5uiY6Gs
バージョン番号が4つ区分されてるやつは何なのさ

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 OPR/22.0.1471.70
0909デフォルトの名無しさん2014/06/21(土) 21:38:55.79ID:cR4XxXTT
>>908
ソースが同じでも、バイナリにはビルド番号をつけることがある。
0910デフォルトの名無しさん2014/06/21(土) 21:41:47.53ID:0wQ4hVhX
パズドラのバージョンが6.5.2
なんだけど6回一からコーディングし直したってこと?

あーいうのって誰からみてもわからいけどソースを何度も組換えたりしてるのかな。
0911デフォルトの名無しさん2014/06/21(土) 21:52:24.22ID:m/fZKRgt
そんなのパズドラの開発者に聞けよ
バージョン番号なんてどこもオレオレルールでつけてんだから
0912デフォルトの名無しさん2014/06/21(土) 21:59:46.56ID:KMvjaKi+
バージョン番号とかだと途中をすっ飛ばしたりすることもあるしな
0913デフォルトの名無しさん2014/06/21(土) 22:33:56.67ID:sYh0doPA
途中どころか最初がすっ飛ばされたWindows NTなんてのも
0914デフォルトの名無しさん2014/06/22(日) 01:13:02.79ID:b9DzNs9Q
WindowsNTって4.0なんだよな。
そう考えるとWindowsってメジャーバージョンほとんど変わってないんだな。
0915デフォルトの名無しさん2014/06/22(日) 01:20:05.59ID:upDz43Y5
NTの最初のバージョンは3.0か3.1だった気がする
0916デフォルトの名無しさん2014/06/22(日) 02:00:52.05ID:fzAy+jFw
Windows3.1に合わせて3.1から
0917デフォルトの名無しさん2014/06/22(日) 02:01:46.19ID:Y+HF0vpz
Windowsのバージョンってverで表示される
「6.1.7601」とかのことだろう?
0918デフォルトの名無しさん2014/06/22(日) 02:02:12.05ID:fzAy+jFw
3.1 → 3.5 → 3.51 → 4.0 → 2000 → XP
だな
0919デフォルトの名無しさん2014/06/22(日) 02:07:27.82ID:Y+HF0vpz
商品名とバージョン番号をごっちゃにしすぎw
0920デフォルトの名無しさん2014/06/22(日) 02:10:49.59ID:fzAy+jFw
もともとMSはバージョン番号と商品名が同じだったのを、95とNT系は2000から
バージョン番号隠すようになっただけだよ
0921デフォルトの名無しさん2014/06/22(日) 02:13:42.83ID:fzAy+jFw
まあそれ言ったら、SolarisもMacOSも似たような路線
内部のこまかいバージョンの話とは別の話なんで、ごっちゃもなにもない
0922デフォルトの名無しさん2014/06/22(日) 02:15:23.06ID:Y+HF0vpz
はいはい、昔のWindowsのバージョン版を
まとめたものを見つけてきてやったよ。
https://gist.github.com/mxpv/2935584

一部適当に抜粋

Windows Name or Service Pack Version Number
---------------------------- --------------
Windows 1.0 1.04
Windows 2.0 2.11
Windows 3.0 3
Windows NT 3.1 3.10.528
Windows 95 4.0.950
Windows Me 4.90.3000
Windows 2000 Professional 5.0.2195
Windows XP Home 5.1
Windows Server 2008 Service Pack 1 (SP1) RTM 6.0.6001.18000
Windows Vista RTM 6.0.6000.16386
Windows 7 RTM 6.1.7600
Windows 8 CTP 6.2.8250
0923デフォルトの名無しさん2014/06/22(日) 02:16:21.09ID:pzst23eU
NTはOS/2 3.0になるはずだったから3.0から始まる
0924デフォルトの名無しさん2014/06/22(日) 02:18:34.94ID:pzst23eU
>>922
NT4.0がないぞ
0925デフォルトの名無しさん2014/06/22(日) 02:19:20.89ID:Y+HF0vpz
>>924
適当に抜粋って書いただろ。 リンク先見ろよw

Windows 95 4.0.950
Windows NT Workstation 4.0 4.0.1381
Windows 98 4.1.1998
Windows 98 Second Edition 4.1.2222
Windows Me 4.90.3000
0926デフォルトの名無しさん2014/06/22(日) 02:21:26.42ID:Y+HF0vpz
これ見てわかるのは
Windowsは1.0の時からバージョン番号1.04と
製品名とバージョン番号は一致していないということ。

百歩譲って1.04の上から三文字目までで1.0なんだってことにしても
Windows 2.0は、バージョン番号2.11 の2.1であるべきってことになってしまう。
0927ID:Y+HF0vpz (連続投稿って言われたからID変えた)2014/06/22(日) 02:27:51.31ID:+pyEYukS
もう一つリスト見つけた。
http://www.gaijin.at/en/lstwinver.php

>>922にないものものっているが古いのは乗ってないな。
0928デフォルトの名無しさん2014/06/22(日) 03:05:54.38ID:K+SZQQqt
うんず→3.0+mme→3.1→95→98se→2000→Vista
0929デフォルトの名無しさん2014/06/22(日) 03:10:27.16ID:yfiuaqlG
いい加減にGitと関係ない話題は
0930デフォルトの名無しさん2014/06/22(日) 04:16:35.04ID:41dfNV8s
まあ関係無い話題で埋めるのもいいけど、使い切ったら次スレ立てといてくれよ
>>1のPro GitのURL直すの忘れないでくれ
0931デフォルトの名無しさん2014/06/22(日) 07:56:27.10ID:JoFGWc9c
cygwin で git を使ってるんだが
2.0 から速くなった気がする
0932デフォルトの名無しさん2014/06/22(日) 12:41:22.20ID:h8mHZ8/o
>>930

【スレタイ】
Git 10
【本文】
ソースコード管理を行う分散型バージョン管理システム、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 9
http://peace.2ch.net/test/read.cgi/tech/1397276540/
0933デフォルトの名無しさん2014/06/22(日) 17:00:32.70ID:nR1nGnXp
>>931
cygwinの公式パッケージってバージョン1.7.9じゃなかったっけ?
0934デフォルトの名無しさん2014/06/22(日) 17:43:36.22ID:mgZTcG6H
スレが欲しいかほれやるぞ

Git 10
http://peace.2ch.net/test/read.cgi/tech/1403426425/
0935デフォルトの名無しさん2014/06/22(日) 18:01:37.92ID:2YpoFnMx
>>934
ぱくぱく。
おいすぃです!
0936デフォルトの名無しさん2014/06/22(日) 23:52:57.71ID:UK6G8JDB
俺がプロジェクト名に言語名を入れろって話は怒られたのにこんなスレ違いな話しやがって
0937デフォルトの名無しさん2014/06/22(日) 23:57:11.41ID:qgZFRwqF
お前が怒られなくなるわけじゃねえから
0938デフォルトの名無しさん2014/06/23(月) 10:18:41.33ID:9imRHr/V
プロジェクト名に言語名を入れるのは考えるまでもなくデメリットが大きいが、
バージョン番号は必要だからな。
0939デフォルトの名無しさん2014/06/23(月) 11:40:55.87ID:2cPnnJRd
バージョン番号は、git tagしたときの
表示順に影響するかもしれないから
関係有るかもしれないしな。

githubはバージョンの付け方の標準通りに
賢くソートしてくれたはず。
0940デフォルトの名無しさん2014/06/23(月) 13:32:38.70ID:rcMzefHm
じゃあさphpで作ったライブラリは
C:/projects/phpの中に入れるって感じでいいの?
プロジェクト名に言語名を入れないでフォルダ名に言語名を付けてその下にプロジェクトを入れる感じはどう?
0941デフォルトの名無しさん2014/06/23(月) 13:33:10.12ID:rcMzefHm
20も30もプロジェクトが増えると「あれ、このプロジェクトって何言語で書いたかな」みたいにそのフォルダをのぞくまでワカラナイんだよ
0942デフォルトの名無しさん2014/06/23(月) 13:34:08.94ID:rcMzefHm
んで言語が混合する場合はc:/project/otherの中にいれる
あ、あと念の為いいますけどhtml+javascript+jquery+phpの場合はphpとして管理します
0943デフォルトの名無しさん2014/06/23(月) 13:42:56.08ID:sjU94AhZ
>>940-942
それはprojectsディレクトリ以下を一つのリポジトリにする前提で話をしてるの?
0944デフォルトの名無しさん2014/06/23(月) 13:50:17.34ID:TU3Y/liM
お恥ずかしいのですが自己解決できないため質問させてください

OSはvista 32bitです
最新のmsysgitをインストールしたのですが、日本語入力ができません
1.8.3以降は日本語がデフォで入力可能だと聞いたのですが……
msysgitにフォーカスをあてるとIMEのバーが黒くなってしまう状態です
原因がわかる方おられませんか?
0945デフォルトの名無しさん2014/06/23(月) 14:06:03.99ID:xTO7gkHY
そういう場合はサクっとtortoiseGitも入れてしまうのだ。

え?解決になってない?
0946デフォルトの名無しさん2014/06/23(月) 14:28:51.83ID:TU3Y/liM
>>945
Gitを利用した経験がないためまずはCUIで触ってなれようと思ったのですが、このありさまです
もう一台のPCに同じようにインストールしてみたところ、そちらでの日本語入力は問題ありませんでした
なにかPC側で設定がおかしいんでしょうね
0947デフォルトの名無しさん2014/06/23(月) 16:43:35.75ID:Te+HAwBv
GoogleAppsScriptのソースってgitで管理出来ませんか?
0948デフォルトの名無しさん2014/06/23(月) 22:36:15.01ID:uyVruWrs
結局pyenvに戻って来ました
0949デフォルトの名無しさん2014/06/24(火) 00:04:34.97ID:pnjDJdog
>>943
c:/projects/php/abc
c:/projects/php/def
c:/projects/ruby/ghi
c:/projects/ruby/jkl
c:/projects/python/mno
c:/projects/python/pqr
0950デフォルトの名無しさん2014/06/24(火) 00:05:24.71ID:A6Ca/1xX
>>943
言語ディレクトリ内にプロジェクトを作ってプロジェクトごとにリポジトリを作るんだよ
0951デフォルトの名無しさん2014/06/24(火) 00:14:05.87ID:M10hum9+
gitonomyでも使え
0952デフォルトの名無しさん2014/06/24(火) 00:37:23.10ID:yDq5nVzd
言語名で分ける必要性が個人的にはよくわからないな。
そのコードを書く原因となったプロジェクト別に分けるとかのほうが後で見返すのが楽なような気がするけど。
まあなにを第一キーにして分類するかというのは人それぞれっちゃ人それぞれなんだけど。

言語別で分けたいっていう人は、使う言語からプロジェクトが大別される的な感じなのかな。PHPを使ったプロジェクトとRubyを使ったプロジェクトは全然性質が異なる、的な感じで。
0953デフォルトの名無しさん2014/06/24(火) 01:49:51.54ID:Imybggoz
言語君の話はもうやめてくれ…
0954デフォルトの名無しさん2014/06/24(火) 02:25:00.96ID:VcS2x6xz
勉強とかだと「言語/プロジェクト/」は割と自然だけど
そうでなければ普通はプロジェクトが主役で、言語はその手段でしかないんだよなあ
0955デフォルトの名無しさん2014/06/24(火) 02:37:33.45ID:+d9rugo5
cd /; git init; git add .; git commit -m'init'
したらどうなるの?
0956デフォルトの名無しさん2014/06/24(火) 03:01:36.48ID:k7EYrAZu
やってみればいいじゃん
0957デフォルトの名無しさん2014/06/24(火) 06:49:44.85ID:BxyDqmCe
リポジトリをローカルファイルシステムの何処に置くかなんて好きにすればいい
何処に配置されてるなんて情報はgitリポジトリには保存されてないのだから
0958デフォルトの名無しさん2014/06/24(火) 10:45:38.99ID:E3n8a7VR
また言語で分けるとか言ってる奴が来てるのか?w

そんなどうでも良い話題でも、みんなちゃんと
答えてあげてるじゃないか。

言語で分けるべきではない。がみんなの回答だよ。
0959デフォルトの名無しさん2014/06/24(火) 12:25:39.58ID:L6gjd31u
リポジトリの数が増えすぎて管理が大変っていうならリモートリポジトリならgitonomy
などの管理ソフト使えばいいしローカルならそれこそ好きにフォルダ名決めればいい
0960デフォルトの名無しさん2014/06/24(火) 12:44:38.20ID:wbKSVw02
じゃあさjavaでエディタを作るとするじゃん
terapodって名前すするじゃん
それをc#に移植するときとかどうするんだよ
だから
c:/projects/java/terapd
c:/projects/c#/terapd
って言語別にわかれていたほうがいいんだよ
gitonomyなんて無駄なものを入れる必要もないでしょ
0961デフォルトの名無しさん2014/06/24(火) 12:46:24.03ID:L6gjd31u
だからローカルなら好きにすればいいじゃん
0962デフォルトの名無しさん2014/06/24(火) 13:34:43.42ID:yDq5nVzd
>>960
自分なら
terapod-java
terapod-c#
とするかな

じゃあさ、そのterapodで必要な機能を実装するのにC++でラッパーDLL書かなきゃいけなくなったらどうする?
c++/terapod-dll にするの?

まあ、なんでもいいんだけど、実際に複数のプログラムを組み合わせてアプリケーションを作っていると1つの言語で完結しないことも間々あるし、
なんらかのプロジェクトを思い出すときに、まず言語を思い出すって発想がちょっとよくわからないんだよね。
「terapodは…javaで書いたからjavaフォルダの中にあるのか」というのは若干回りくどいように感じるよ。
言語が分類の第一となるキーになるという発想が馴染むケースが、勉強とか以外にあんまり想像できないんだよね。
言語の選択は目的じゃなくて単なる手段なわけだし。
0963デフォルトの名無しさん2014/06/24(火) 13:38:31.46ID:L6gjd31u
c:/projects/editor/terapd/java
とかでも何でもいいよ。好きにしな。
0964デフォルトの名無しさん2014/06/24(火) 16:19:36.76ID:cSTWjjId
言語の学習目的は除いて普通は作る物を決めてからそれに最適な言語を選ぶからな
0965デフォルトの名無しさん2014/06/24(火) 23:22:12.22ID:UpeRHjTe
sshのconfigでgithubのアカウントを複数管理しているんですけど
configもgithubとかにpushしちゃうものですか?
バックアップとかどうやってとってますか?
0966デフォルトの名無しさん2014/06/24(火) 23:39:15.40ID:X3HExdh5
githubでgit cloneするときにユーザー名とパスワードを聞かれるんですけど
このパスワードってgithubのアカウントのを入力すればいいんですか?
それともsshキーを作った時に設定したパスワードを入力したらいいんですか?
どっちを入力してもInvalid username or pas
sword.^@fatal: Authentication failed for 〜って出ます
0967デフォルトの名無しさん2014/06/25(水) 03:38:10.84ID:GQuGFHte
普通ならキーを作った時に設定したのはパスフレーズのはずだぞ
0968デフォルトの名無しさん2014/06/25(水) 04:35:18.90ID:PrRAheWA
git clone https://github.com/... ならアカウントのでしょ。
0969デフォルトの名無しさん2014/06/25(水) 05:37:45.59ID:4vpWZdAs
そのプロジェクトにどんな技能を持った土方を投入すべきかを考える立場の人にとっては
言語単位の管理が楽でいい
現場の都合なんか知ったことか
0970デフォルトの名無しさん2014/06/25(水) 05:53:07.27ID:x2k8TeiH
cloneでユーザIDとパスワード聞かれるってことはプライベートリポジトリか?
0971デフォルトの名無しさん2014/06/25(水) 08:31:36.55ID:wdWoGsPu
エスパーすると、Pageantがタスクバーにいない or 鍵が入ってない
0972デフォルトの名無しさん2014/06/25(水) 09:09:53.09ID:oKcHQ11V
なんか存在しないリポジトリにアクセスするとユーザー名とパスワードを聞かれるようでした
正しいリポジトリにアクセスしたら聞かれなくなりました
それなら最初から聞かないで404 not foundでも表示して欲しいんですけどなんでなんでしょうかね?
0973デフォルトの名無しさん2014/06/25(水) 10:13:48.32ID:QnQpw2y6
>>966
sshかhttpsかどっちでcloneしてるかによるんじゃなかった。
多分sshでやってるけど、鍵を使うように設定してなくて、フォールバックでパスワード認証になってるけど設定されてないんじゃない。
0974デフォルトの名無しさん2014/06/25(水) 14:11:00.00ID:NedFU3Wc
せっかくプライベートにしてるのに、そういうプロジェクトがあるというヒントを出すわけにいかないから
存在しなくても認証出すんだろ。
0975デフォルトの名無しさん2014/06/25(水) 14:12:25.02ID:JWd/N+XK
おれがいってるのはこれ
https://github.com/Shougo/unite.git
0976デフォルトの名無しさん2014/06/25(水) 14:47:07.15ID:fb6jKK+E
cloneするurlをタイプミスしたりしたら
0977デフォルトの名無しさん2014/06/25(水) 15:32:42.45ID:fb6jKK+E
がびーん・・・git reset の使い方を間違ったらしくここ数日の編集が丸っと消えた・・・
0978デフォルトの名無しさん2014/06/25(水) 15:37:44.45ID:NedFU3Wc
reset ってそういいうものかと。
revert したかった?
0979デフォルトの名無しさん2014/06/25(水) 15:42:56.67ID:fb6jKK+E
ありがとう git reflog 復活でけた
0980デフォルトの名無しさん2014/06/25(水) 15:45:24.40ID:x2k8TeiH
コミットの状態にさえしてれば、ほぼ不死身だ
0981デフォルトの名無しさん2014/06/25(水) 18:02:12.54ID:E2n+vjmt
git flowとgithug flowってどっちがメジャー?
0982デフォルトの名無しさん2014/06/25(水) 20:57:10.22ID:az4qdKzA
>>933
ソースをビルドした
0983デフォルトの名無しさん2014/06/25(水) 21:00:04.82ID:x2k8TeiH
>>981
どっちも
0984デフォルトの名無しさん2014/06/25(水) 21:22:05.91ID:xmlnjG4w
git flowをやるのなら、git flowのツールを使うのが普通だと思うが、
そのgit flowツールの話が出ない所を見るとgit flowはあまり
使われてないのではないか?

かといって、github flowがよく使われているってことにはならないが。

たぶんgit flowとgithub flowは同じぐらい。
同じぐらいだが、一番多いのはそのどちらでもない。
俺俺flowってのが答えだろう。
0985デフォルトの名無しさん2014/06/25(水) 22:07:09.05ID:p7rx9Iqg
Aのサーバーが死んでたらBからpullするみたいなことがしたいんだけど、
gitってそういうことできるんだろうか?
0986デフォルトの名無しさん2014/06/25(水) 22:31:39.51ID:KDMLN+6a
フェイルオーバーはGitの仕事じゃない気がするけど
0987デフォルトの名無しさん2014/06/25(水) 22:52:39.65ID:wsqw+sxk
remoteのurlを複数指定できて、先に返事もらった方からpullするとか
同期とれていないと悲しいことになりそうだが
0988デフォルトの名無しさん2014/06/26(木) 01:08:58.53ID:kZZ04ToM
>>982
cygwinでビルドできるのか、試してみるよありがとう
0989デフォルトの名無しさん2014/06/26(木) 10:04:49.94ID:BCJ2ygce
Git 2.0.1 リリース
https://github.com/git/git/releases/tag/v2.0.1
0990デフォルトの名無しさん2014/06/26(木) 15:42:46.56ID:9xx72E8K
2.0.1には重大なバグがありコミットが消えた!
0991デフォルトの名無しさん2014/06/26(木) 15:48:17.77ID:I1GlggqH
msysgitを使ってるのでmsysgitのバージョンアップも報告してくれ
元のgitのバージョンアップされてもmsysgitに反映されるのはだいぶ先だし
0992デフォルトの名無しさん2014/06/26(木) 18:37:19.35ID:qmkxdOoD
>>990
そりゃ大変だったな
0993デフォルトの名無しさん2014/06/26(木) 18:40:56.27ID:a5DVBYeG
2.0.1が消えたのかと思ったw
0994デフォルトの名無しさん2014/06/26(木) 18:53:36.50ID:K7Y0GkEu
なにが目的で>>990みたなウソをつくんだろう?
自分がgitできなくて悔しいから?

使えるようになればいいだけなのにね。
他のソースコード管理ツールなんて
gitがある今の時代ではクソに等しいんだから使う価値ないし。
0995デフォルトの名無しさん2014/06/26(木) 19:34:38.57ID:lzGhXXy2
などと他のソースコード管理ツールを満足に使えない馬鹿が言ってます(笑)
0996デフォルトの名無しさん2014/06/26(木) 22:26:59.95ID:j1I0ttpi
産めよ
0997デフォルトの名無しさん2014/06/26(木) 22:28:48.64ID:j1I0ttpi
増やせよ
0998デフォルトの名無しさん2014/06/26(木) 22:33:15.70ID:j1I0ttpi
御国の繁栄を願わん
0999デフォルトの名無しさん2014/06/26(木) 22:41:51.47ID:j1I0ttpi
喧嘩上等
酒持ってこい
1000デフォルトの名無しさん2014/06/26(木) 23:07:24.29ID:lzGhXXy2
Git 10
http://peace.2ch.net/test/read.cgi/tech/1403426425/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。