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

Git 9

■ このスレッドは過去ログ倉庫に格納されています
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/
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
普通だから良い方法とは限らない。
■ このスレッドは過去ログ倉庫に格納されています