Git 9at TECH
Git 9 - 暇つぶし2ch705:デフォルトの名無しさん
14/06/01 14:26:54.79 X2VZJkGd
githubに登録してある公開鍵はすべて誰でも簡単に取得できるから、
秘密鍵が盗まれると簡単にイタズラ可能だよ

706:デフォルトの名無しさん
14/06/01 14:33:26.05 dFCTVAji
>>703
ん?なに?w

もしかして「とは限らない」って言ってるの?w
俺は悪用される可能性があるって話をしてるんだけど。

707:デフォルトの名無しさん
14/06/01 14:37:41.79 rJY7yXwk
>>705
どうやって取得するの?

708:デフォルトの名無しさん
14/06/01 14:38:31.41 dFCTVAji
1. パスワードが盗まれたってそれがどこのパスワードかわからなければ悪用されないじゃん
2. つまりどこのパスワードかわかれば悪用されるってことだよね(俺が言ったこと)
3. 裏ガー、対偶ガー

こう言われた気分w


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

こう言ってるように俺は感じたw

709:デフォルトの名無しさん
14/06/01 14:40:36.77 k00SlaTm
具体的に何割とか計算できるもの以外の可能性は
ただごねてるだけと変わらない

710:デフォルトの名無しさん
14/06/01 14:40:53.33 X2VZJkGd
>>707
URLリンク(github.com)アカウント名.keys

711:デフォルトの名無しさん
14/06/01 14:42:14.70 dFCTVAji
本当に悪用されないと思ってるなら
ここで秘密鍵を公開すればいいんだよな。

712:デフォルトの名無しさん
14/06/01 14:54:25.82 rJY7yXwk
じゃあさ
8gjk39joi4njodgf9
ってパスワードがあったとしたらこれで悪用してみろよ!

713:デフォルトの名無しさん
14/06/01 14:54:47.95 dFCTVAji
>>712
どうせそれ偽物だろw

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

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

え?どこの秘密鍵かは答えられない?
あぁ、それは、どこの秘密鍵かわかれば悪用されるって
自覚しているからだね(最初に俺が言ったこと)

714:デフォルトの名無しさん
14/06/01 14:55:35.81 dFCTVAji
(ヒント)わずか22秒で書けると思う?w

715:デフォルトの名無しさん
14/06/01 14:56:09.78 X2VZJkGd
>>712
秘密鍵が何なのか理解できてない?

716:デフォルトの名無しさん
14/06/01 14:56:31.51 rJY7yXwk
偽物ってなんのだよ
このパスワードがどこのサイトのかわからないと使い道ないぞ
あとidもわからないとまったく使えないぞ
これはおれんちのlocalhostのパスワードだから

717:デフォルトの名無しさん
14/06/01 14:57:25.03 rJY7yXwk
なんでどこに接続しているかわかるんだよ

718:デフォルトの名無しさん
14/06/01 14:57:58.60 q7lY0P5T
>>706
> 俺は悪用される可能性があるって話をしてるんだけど。

可能性とか言いながら

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

とか、言い切る奴って (w

719:デフォルトの名無しさん
14/06/01 15:02:51.61 e/SJ8pUJ
悪用される可能性があるときは、必ず悪用される。
というのが防犯の鉄則だよね

720:デフォルトの名無しさん
14/06/01 15:03:48.27 G7XNVB3u
スレチなので移動をおながいします

721:デフォルトの名無しさん
14/06/01 15:04:54.94 X2VZJkGd
パスワードと公開鍵認証の秘密鍵との違いを理解できてないのか

722:デフォルトの名無しさん
14/06/01 20:00:44.12 Anql4k9d
>>692
ペアの公開鍵を捨てる以外になにがある?

723:デフォルトの名無しさん
14/06/01 20:15:54.15 n3zMz1VV
トピックブランチ名をチケット番号と紐付けて運用してるとして、

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

この場合、どんなブランチの使い方が妥当なの?
ticket1 っていう名前を再利用して、そのままブランチ切って開発・マージする方法とか
いったんマージしたのを revert して、ticket1 のトピックブランチを正しく補完してからマージしなおすとか
別の ticket2 を作って、ticket1 と ticket2 は git の外での関連付けに任せる方法とか

724:デフォルトの名無しさん
14/06/01 20:38:23.33 MYnj2kml
> いったんマージしたのを revert して、ticket1 のトピックブランチを正しく補完してからマージしなおすとか
漏れてまいそうで(アカン)

725:デフォルトの名無しさん
14/06/01 20:49:21.18 iPeFjK0r
俺なら別のチケット切る

726:デフォルトの名無しさん
14/06/01 22:13:35.46 7u+U5fAC
チケット番号とブランチ名を一緒にしておきたいのはBTSの運用の都合だと思われるので、
BTSを重要視し、ブランチ名を一緒にしておく事が大事だと思うならするならdevelopの最新からもう一度ticket1というブランチを切ってそこから修正すればいいと思うし、
Gitの履歴の方が重要だと思うならticket1_fixとかで新しくブランチ切ればいいんじゃないかな。

727:デフォルトの名無しさん
14/06/01 23:17:53.65 wXEX5FU/
言語ごとにリポジトリを作成した時に自動で.gitignoreを生成するライブラリとかってありますか?

728:デフォルトの名無しさん
14/06/02 00:42:17.96 CbbBfIj2
>>727
URLリンク(www.gitignore.io)
おすすめ

729:デフォルトの名無しさん
14/06/02 01:05:25.92 /lZkAqJY
ステマ乙

730:デフォルトの名無しさん
14/06/02 01:09:16.33 gFpQKwCr
>>728
リポジトリを作る時に言語名を入力してgit init と.gitignoreをつくってほしいんですよ
有りそうな気がするんですけどそのサイト見て自分でコピペするしかないんですかね?

731:デフォルトの名無しさん
14/06/02 01:25:08.89 6oKdltFr
.gitignoreに全部入れりゃいいじゃん?

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

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

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

そもそも、言語標準の.gitignoreって意味分かんないんだよな。
どっちかと言ったら、.gitignoreに入れるものは言語ではなくて
使うツールによって決まるものだろう。

732:デフォルトの名無しさん
14/06/02 01:28:04.27 gFpQKwCr
そんな事言ったら世の中のフレームワークやライブラリに喧嘩売ることになりますよっと

733:デフォルトの名無しさん
14/06/02 01:30:45.30 l4SS/Bsy
そういうツールが無いのなら自分で作ってしまえばいいの
そしてそのツールを売りに出せばバカ売れ間違いなしなの

734:デフォルトの名無しさん
14/06/02 01:54:49.93 6oKdltFr
>>732
意味がわからん。

今話しているのは.gitignoreの話で
フレームワークやライブリの話は全く関係ないだろ。

735:デフォルトの名無しさん
14/06/02 01:59:28.89 l4SS/Bsy
そういえばGitHubにもgitignoreのサンプルがあるね
URLリンク(github.com)

736:デフォルトの名無しさん
14/06/02 01:59:52.26 6oKdltFr
基本的な所がわかってないのかもしれないな。
言語名を入力してgit initとか言ってる時点でハテナだし、
(1リポジトリ = 1言語ではない)
言語名が決まったからって.gitignoreは決まらない。

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

その他のOSを考えると、.gitignoreは言語名できまるのではなく、
使うツールで決まるもの。(>>731で既に俺が言ったこと)

737:デフォルトの名無しさん
14/06/02 02:10:49.16 l4SS/Bsy
あ、なるほど
>>728>>735を指定したとおりに繋ぎ合わせてくれるのか
やるじゃないかMr. Blau

738:デフォルトの名無しさん
14/06/02 02:14:43.55 6oKdltFr
.gitignoreはあとから入れるもんだよなー。
使うツールが決まった時点で追加するものだ。

739:デフォルトの名無しさん
14/06/02 02:19:55.88 l4SS/Bsy
>>728にコマンドラインから取得する方法まで懇切丁寧に教えてくれてるし
何も困る事ないじゃないですかー

740:デフォルトの名無しさん
14/06/02 02:44:00.18 mMUvacT0
複数言語入れて使いにくいのはおつむの問題

741:デフォルトの名無しさん
14/06/02 12:49:24.52 KoJqCjfS
すいません
もともとgitのソースコードがローカルにあったのでgit pullしてmakeしてインストールしたんですけど
インストールしたバージョンgit version 2.0.0.6.g03cd2b0
なんですけどこれは2.0のリリースのですか?ベータですか?
URLリンク(github.com)でg03cd2b0を検索してもヒットしません

742:デフォルトの名無しさん
14/06/02 12:51:44.85 RquarvTq
リリースでビルドしたいならタグを使えよ

743:デフォルトの名無しさん
14/06/03 19:31:06.67 5oGupbY1
linuxのgitのdiffコマンドって何のdiffツールですか?
githubみたいなdiffが欲しいんですけどあれってgit diffの結果を出力してるだけなんですかね?

744:デフォルトの名無しさん
14/06/03 21:17:15.22 rCJu7D+N
>>741
git checkout v2.0.0しないと

745:216
14/06/03 22:17:39.88 Q95pPloD
ダメだ一つのフォルダにphpで作ったやつとかrubyで作ったやつをごっちゃにしていれてるとわけわかんねえ
やっぱり言語ごとにフォルダ分け内とダメだね

746:デフォルトの名無しさん
14/06/03 22:32:05.17 5DO4L7dm
gitで管理する以前の問題では

747:デフォルトの名無しさん
14/06/03 23:29:08.00 LGyoc4CS
>>745
拡張子でわかる

748:デフォルトの名無しさん
14/06/03 23:36:43.88 o0dI1/Bo
この1ヶ月間何やってたのかと

749:デフォルトの名無しさん
14/06/03 23:41:14.87 9AiAEfmm
一ヶ月でけっこスレすすんでるなw
言語ごとにというか、ひとつの言語のコードでも機能ごとにある程度フォルダわけないと混乱するだろ

750:デフォルトの名無しさん
14/06/03 23:41:30.25 bK0U8GNH
そもそもどういうリポジトリなんだ

751:デフォルトの名無しさん
14/06/04 00:13:25.94 Vfc08V0n
c:¥myrepo¥gazoudownloader
c:¥myrepo¥createxml
c:¥myrepo¥bbs

こんな感じでプロジェクトの名前だけ
もうねわけわからん

752:デフォルトの名無しさん
14/06/04 00:16:34.88 Vfc08V0n
このプロジェクトはなんだったかな?フォルダの中身を覗いて初めてphpとわかる。php用の環境を立ち上げる

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

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

もうめんどうくせえよ

753:片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
14/06/04 00:19:32.02 qVJRsv3N
ReadMe.txtくらい書けよ。
grep使え。

754:デフォルトの名無しさん
14/06/04 00:23:08.01 HmwUcklb
c:\myrepo\php\gazoudownloader
c:\myrepo\php\createxml
c:\myrepo\perl\bbs
とかにすればいいんじゃない?

755:デフォルトの名無しさん
14/06/04 00:34:07.34 Vfc08V0n
そうするとここのスレの先輩が怒るんですよ

756:デフォルトの名無しさん
14/06/04 00:36:00.26 2MS74yRY
誰も怒ってないと思うが
もうお前がめんどうくせえよ
git関係ねーし

757:デフォルトの名無しさん
14/06/04 00:38:13.72 F6AvD4LE
>>752
gitの話関係ないよね?
単にディレクトリで分ければいいだけの話だよね?

758:デフォルトの名無しさん
14/06/04 00:39:35.70 HmwUcklb
>>755
スレ読んでみたけど、
あんたがgithubのプロジェクト名とローカルにリポジトリを置くパスの区別がついて無いだけだな

759:デフォルトの名無しさん
14/06/04 00:40:09.95 F6AvD4LE
>>754
それは馬鹿だろw

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

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

こうすればいいだけだよ。
git関係ない。

760:デフォルトの名無しさん
14/06/04 00:41:28.11 u9d9cpJD
整理術の本でも買って読んでなさいって感じ

761:デフォルトの名無しさん
14/06/04 00:45:45.12 HmwUcklb
>>759
gazoudownloaderとかcreatexmlとかbbsが各々リポジトリで、それぞれgitで管理されてて、
myrepoっていうのがリポジトリ置き場ってことじゃないの?

762:デフォルトの名無しさん
14/06/04 00:45:50.36 2MS74yRY
「超」整理法で日付ディレクトリ最強ですね

763:デフォルトの名無しさん
14/06/04 00:49:28.83 F6AvD4LE
>>761
あぁ? くだらなすぎてちゃんと見てなかったよw

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

これでいいのか?

繰り返し言う。リポジトリの中に言語名を入れる奴は馬鹿。

764:デフォルトの名無しさん
14/06/04 00:51:22.33 F6AvD4LE
だいたいさ、1つのリポジトリで
複数言語使うことなんてよくある話なんだから。

リポジトリに言語名入れるとかありえないって
少し考えればわかるじゃんw

765:デフォルトの名無しさん
14/06/04 00:57:04.62 HmwUcklb
リポジトリの中に言語名のフォルダあるのけっこう普通だと思うけど?
javaの標準的なプロジェクト構成とかそうだし
railsなんかもjavascriptとかcoffeescriptなんかのコードは言語名下のフォルダに収まってる

766:デフォルトの名無しさん
14/06/04 00:57:43.07 TUGNI46Z
.phpで全部検索すればいい。
それかシンボリックリンクで言語ごとにも分類すればいい。それなら、複数言語にも対応可能。

767:デフォルトの名無しさん
14/06/04 00:59:34.87 2MS74yRY
>>765
リポジトリ「名」の中に言語名入れるなって話だろうに

768:デフォルトの名無しさん
14/06/04 01:00:11.45 TUGNI46Z
普通だから良い方法とは限らない。

769:デフォルトの名無しさん
14/06/04 01:01:27.99 HmwUcklb
>>767
おう。それはいらんな。

770:デフォルトの名無しさん
14/06/04 01:03:07.11 dR3HZjet
>>765
githubで探してきて。
その数の1000倍は言語名が
リポジトリに入ってないだろうさ。

771:デフォルトの名無しさん
14/06/04 01:06:12.08 cWUULp7C
複数のリポジトリを一つにまとめるって
subversionの中の一部で流行った
バッドノウハウだよね。

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

リポジトリはプロジェクトごとに分けましょう。以上。

772:デフォルトの名無しさん
14/06/04 01:08:55.77 njjTYj+V
こりゃもう「リポジトリ」というものに関して語るスレが必要だね

773:デフォルトの名無しさん
14/06/04 01:09:54.10 pgNO5HMb
おいクソども。
クソでスレ進めんなボケ。

774:デフォルトの名無しさん
14/06/04 01:12:39.69 HmwUcklb
いやこの人は、例えばこんな感じにgithubのリポジトリがある場合に
ore/gazoudownloader
ore/createxml
ore/bbs

ローカルには、こんな感じに置いても何の問題も無いということが解んなかったんじゃない?
c:\php\gazoudownloader
c:\php\createxml
c:\perl\bbs

775:デフォルトの名無しさん
14/06/04 01:12:44.95 BwekaK/m
railsはrubyだけ
symfonyはphpだけ
gollumみたいに複数言語を使うほうがめずらしいよ

776:デフォルトの名無しさん
14/06/04 01:16:02.01 cWUULp7C
>>775
そりゃ、その言語のフレームワークだからだろw
アホすぎだw

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

たとえばgit URLリンク(github.com)
C 45.9% Shell 34.6% Perl 9.7% JavaScript 3.4% Tcl 2.7% Python 2.4% Other 1.4%

だ。今はリポジトリ見れば簡単にわかるようになって便利だな。
リポジトリの上のカラフルなバーをクリックするんだよ。

777:デフォルトの名無しさん
14/06/04 01:28:41.65 u9d9cpJD
ローカルなんだからディレクトリ名なんか好きにすりゃいいし、
数が増えすぎてわけわからなくなったらwikiでも立ててカタログ作りゃえーやん

778:デフォルトの名無しさん
14/06/04 02:04:43.66 zV8qAQiq
svn使ってた時に1リポジトリ複プロジェクトにしたおかげで
gitに変換する時に死んだわ…
俺がリネーム厨だったせいなのが原因だけど

779:デフォルトの名無しさん
14/06/04 11:50:46.93 JBvZNONu
編集するための環境が複数言語に対応してないことの方が大問題じゃね?w

780:デフォルトの名無しさん
14/06/04 12:19:13.04 PLuHq7Rw
>>776
そんな特殊なものを例に出されてもねwwwwwwwwwwwww
ほとんどのプロジェクトは1つの言語だけで作られてるでしょwwwwwwwwwwwww

781:デフォルトの名無しさん
14/06/04 12:21:44.90 bEyKGuJO
>>780
ウェブ系ってたくさんの言語あるよ
というか普通の開発でだってひとつの言語で済むのは
すごく稀な例だと思うよ

782:デフォルトの名無しさん
14/06/04 12:43:56.96 u9d9cpJD
いつまでこのスレチの話題続くの?

783:デフォルトの名無しさん
14/06/04 12:54:10.95 PLuHq7Rw
ぷろじぇくと100も200も増えたらどうすんだよwwwwwwwwwwwwwwwwwwwwwww
1つのフォルダに全部いれとくのかよwwwwwwwwwwwwwwwww
探すのたいへんだぞwwwwwwwwwwwwwww

784:デフォルトの名無しさん
14/06/04 21:29:03.04 jJTqmzi2
>>783
同時にそんな件数かかえられるわけないだろ。
現在かかえてるやつだけ残して終わったやつは消せ

785:デフォルトの名無しさん
14/06/04 22:38:03.42 q4t2wT6z
>>783は言い間違えたんだよ。
本当に言いたかったのはこっち

ぷろじぇくと100も200も増えたらどうすんだよwwwwwwwwwwwwwwwwwwwwwww
1つのリポジトリに全部いれとくのかよwwwwwwwwwwwwwwwww
探すのたいへんだぞwwwwwwwwwwwwwww

786:デフォルトの名無しさん
14/06/04 23:41:02.34 lKY790DW
一つ質問
git mv に失敗したっぽくて、git log --follow してもログが分断されてしまった…
(ようするに消した後、新規追加と同じになってる)

この状況で、ログをくっつける事は可能でしょうか?

787:デフォルトの名無しさん
14/06/05 00:10:17.95 B5xrGd/9
>>786
git mvは「消した後、新規追加」と同じことをするコマンドだから何も心配はいらない

788:デフォルトの名無しさん
14/06/05 01:12:05.22 iGxBJzBl
>>787
でも、git mv に成功した場合は、git log --follow でログが表示されるのが
されないから多分分断されてる
ムリクリfollowするようにしたいけど、その方法を教えてもらえればと

789:デフォルトの名無しさん
14/06/05 01:23:40.15 fhxWm8Xr
>>788
gitは、あるコミットにおいてrmされたファイルとaddされたファイルの内容を比べて、
中身がだいたい同じ場合それはファイルがmvされたのだと適当に判断する

あんたがmvに成功したと思ってるのは、mvしたファイルの内容がgitの許容範囲内だっただけ

790:デフォルトの名無しさん
14/06/05 01:29:08.95 iGxBJzBl
>>789
なるほど、薄々そんな気がしていたがやっぱりそうだったのか…
リファクタリング中だったから、git mv した後いぢり過ぎたのか

これからはgit mv した後はすぐコミットする事にします。どうもでした。

791:デフォルトの名無しさん
14/06/05 09:40:58.07 sbCUAgw4
ファイルの移動に限らず、ちょっとした関数の移動でも1コミットにしてるな
「内容を全く変えずに移動」で1コミットになってると、行番号だけがずれてるcherry-pickなんかも受け入れてくれやすい
と散々rebase&cherry-pickしまくった経験則だけど

792:デフォルトの名無しさん
14/06/05 11:30:52.10 pAA2pjK6
フォルダのどこからでもgit addで追加する場合ってどうやるのか教えてください
git add -Aってカレントフォルダだけですよね

793:デフォルトの名無しさん
14/06/05 17:28:56.51 kE+YYBnP
>>710
URLリンク(qiita.com)

>>710がqiitaに公開したのかqiitaの人がこのスレから転載したのかw

794:デフォルトの名無しさん
14/06/05 19:55:24.38 9JC5UGTi
これとはまた違うのか

URLリンク(developer.github.com)
URLリンク(developer.github.com)

795:デフォルトの名無しさん
14/06/05 20:19:48.42 fhxWm8Xr
>>792
追加するフォルダかファイルのパスを指定する

796:デフォルトの名無しさん
14/06/06 17:56:42.08 ZbxJIgia
初歩的な質問ですけど
ブランチで開発やってて、他のブランチの結果をpullするって出来ますか?

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


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

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

教えてください。

797:デフォルトの名無しさん
14/06/06 18:38:12.44 ICJsHYDG
>>796
Gitのマージは賢いからその程度なら全く難しく考える必要なく
branchA側からbranchBをマージできるぞ

798:デフォルトの名無しさん
14/06/07 07:34:24.03 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

799:デフォルトの名無しさん
14/06/07 07:45:02.46 oJ+iP19r
再現しないけど
既に管理下に入ってるんじゃないの?

800:デフォルトの名無しさん
14/06/07 08:00:43.50 paHf3aPB
Repository 内に無いことは最初に確認済みでした。

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

失礼しました。ありがとうございました。

801:デフォルトの名無しさん
14/06/07 18:48:16.19 jSVebn/T
どんなコマンドを入力してもログは絶対に消えないですか

802:デフォルトの名無しさん
14/06/07 18:59:57.78 3R8CEA88
rm -fR .git

803:デフォルトの名無しさん
14/06/09 18:34:36.80 dvi2Sb61
コンフリクトしてpushしたやつを戻すの難しかったお
Git恐怖症になりそう

804:デフォルトの名無しさん
14/06/09 21:41:17.37 nOs0/HFd
コンフリクトしてpushって言ってる言葉自体がわからんw

共有リポジトリなら、revertコマンド一つ。
自分専用リポジトリならローカルを適当に書き換えて
push --forceすれば終わりなんだけどな。

805:デフォルトの名無しさん
14/06/09 21:50:57.46 35sdSSzp
最悪、ハッシュさえ覚えとけば(普通は覚えるまでもなくreflogに残ってるが)
ブランチの状態をある時点まで戻すのは簡単だからな
これができないような状態にまで壊すのは、意識的にやらない限りなかなか無い

806:デフォルトの名無しさん
14/06/10 00:28:24.33 Rfvv6P0m
revert様々やで

807:デフォルトの名無しさん
14/06/10 01:38:29.66 AAMs7V03
途中で分岐させて、片方にコミットAとそのrevertコミット、もう片方にAのチェリーピック食わせてて両方マージしたら暗黙にrevertが優先されて焦った事があった。
マージ賢いけど、賢く運用してる場合に限り賢く振る舞ってくれる感じがする。

808:デフォルトの名無しさん
14/06/10 02:27:26.48 osqTzX66
>>807
試しにやってみたけどcherry-pickした方が残るぞ?どんな条件でそんなこと起こるんだ?

809:デフォルトの名無しさん
14/06/10 05:19:03.10 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が存在)

810:デフォルトの名無しさん
14/06/10 07:59:18.53 AAMs7V03
そう…再現しねぇんだよ…なんでかなぁ。

811:デフォルトの名無しさん
14/06/10 17:44:37.82 Rfvv6P0m
git resetで前のコミットに戻って編集した後pushしたい時って今までのコミットrevertしてからpushするしか無いの?

812:デフォルトの名無しさん
14/06/10 18:27:22.10 lvdNmXjN
こんな感じ?

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

C3まで戻りたいのならC4までresetした後、C3をrevert、でpush可能
C5まで戻りたいのならC5までreset、でpush可能

813:デフォルトの名無しさん
14/06/10 19:14:50.43 Rfvv6P0m
>>812
なるほどありがとう

814:デフォルトの名無しさん
14/06/10 20:44:55.54 ZZTnWEBr
>>812
これなんかおかしい

815:デフォルトの名無しさん
14/06/10 21:33:28.07 pZUiJHso
herokuでwordpressみたいなPaaSの運用って思ったよりめんどくさいのね。
Gitの管理していないファイルの扱いをどうしたらいいんだ。

816:デフォルトの名無しさん
14/06/11 01:19:10.50 ehbBircS
>>815
その問題は、データベースに保存するデータを
どうするかって話と同じだろ?

817:デフォルトの名無しさん
14/06/11 07:23:42.77 YrJFhcVC
違うでしょ。
herokuの場合wordpressが作成するデータベースは勝手に消えないけど、アップロードしたファイルは消えちゃう。
解決法としてストレージを外部に持つしか方法がないようだ。

818:デフォルトの名無しさん
14/06/11 12:44:22.03 EyVsoFD4
heroku使うのにwordpress使うってカスがやること

819:デフォルトの名無しさん
14/06/11 13:23:01.02 8t9Ps5Bi
git version 1.8.5.2.msysgit.0 で
git rm -rf dir/
fatal: pathspec 'dir/' did not match any files
ってファイルは消せるのにディレクトリが消せないのはどういうこと?
dir/内は空っぽです

820:デフォルトの名無しさん
14/06/11 14:31:43.41 xqrpI9NS
PaaSの環境によるけど、herokuでwordpressってすごく普通だけど。

821:デフォルトの名無しさん
14/06/11 15:22:38.37 Rgm1d36A
>>819
Gitはファイルを管理するけどディレクトリそのものは管理しないから

822:デフォルトの名無しさん
14/06/11 20:03:40.21 ALIRMVK5
.gitkeepでググれ

823:819
14/06/12 00:35:02.82 KlCOfI2g
>>821
確かに…別の場所でpullしたらディレクトリ消えてた
git内では消えてるのにディレクトリそのものは残ってるから2回目以降に表示されてたんだな
ファイルはgit rmでばっさり消すくせにディレクトリは消さないってなんでなん

824:819
14/06/12 00:42:00.03 KlCOfI2g
>>822
ググった
なるほど、git mvでディレクトリ内のファイルを先に全部移動したから、その時点で
gitの管理からはずれてたのか
もう理解できたからいいけど、なんか直感的な挙動じゃなかったな

825:デフォルトの名無しさん
14/06/12 00:50:48.34 k+HyAclm
>>823
だから、Gitはファイルを管理するけどディレクトリそのものは管理しない
git rm はGitで管理してるファイルを消すコマンド
ワーキングツリー上の空ディレクトリを消したければ普通のコマンド使え

826:デフォルトの名無しさん
14/06/12 00:51:39.35 k+HyAclm
リロードしてなかった

827:819
14/06/12 01:33:07.61 KlCOfI2g
>>825
一応試したところgit rm -r dir/で実際のディレクトリもちゃんと消えるね

828:819
14/06/12 01:34:47.60 KlCOfI2g
>>827
もちろん空でないディレクトリに限るけど

829:デフォルトの名無しさん
14/06/12 01:40:04.38 k+HyAclm
>>827
dir/の下がgitで管理されてればね
ついでに消す

830:デフォルトの名無しさん
14/06/12 01:41:26.71 k+HyAclm
またリロードしてなかった

831:デフォルトの名無しさん
14/06/12 02:44:56.35 0fE6ecZu
最初の頃に管理に入れた、とあるファイルが
作り込んだ後になって「各自で別々の内容のまま持つべき」
って話になったんですが、どうすればいいのでしょうか?
git rm --cachedだと各自がpullしたときに消えちゃう…各自の持ってるファイルは現状のままにしたいです

832:デフォルトの名無しさん
14/06/12 02:46:03.19 0fE6ecZu
あ、現状のままというか、各自で別々の内容にしていけるように、です。

833:デフォルトの名無しさん
14/06/12 02:52:56.27 bcr4Y1Fv
.gitignoreに書けばいいんじゃないの?

834:デフォルトの名無しさん
14/06/12 02:59:30.25 0fE6ecZu
>>833
既にコミット済みなので、.gitignoreに書いても除外されないんですよね…

835:デフォルトの名無しさん
14/06/12 03:01:38.52 cPATFudP
じゃあコミットからはずせよ

836:デフォルトの名無しさん
14/06/12 03:08:14.85 LUHHUJAl
URLリンク(qiita.com)
こういうのあるけど

837:デフォルトの名無しさん
14/06/12 03:28:09.83 bcr4Y1Fv
非管理ディレクトリでも作ってそこにファイル置いてシンボリックリンクでも張ってつかえばええんちゃうの

838:デフォルトの名無しさん
14/06/12 12:01:55.49 Qv1u/W6+
とにかく業務これだけ使えれば万全ってコマンドをあるだけおしえて
commit
add
checkout
branch
remote
log
reflog
reset
これ走ってる

839:デフォルトの名無しさん
14/06/12 12:24:21.06 f3a/iFpr
grep
rebase
status
diff
revert
こいつらも覚えとき
bisect、blameもおすすめ

840:デフォルトの名無しさん
14/06/12 14:21:17.86 k+HyAclm
>>831みたいなときに
.gitignoreに書いて、git rm --cachedして、その状態をcommitしてたんだけど
そうするとちょっと問題があって
そのcommit以前をチェックアウトした後に、そのcommit以後をチェックアウトすると、
管理から外したファイルが消失しちゃうんだよね
>>836はまったく未知だったわちょっと動作を確かめてみる

841:デフォルトの名無しさん
14/06/12 14:23:15.51 fKk4MWnJ
Pro Gitにも書いておいてほしい

842:デフォルトの名無しさん
14/06/13 18:00:50.16 VgtrMdkb
>>836はローカルなリポジトリだけに作用する感じなのかねえ
特定のファイルが最初から.gitignoreに登録されてリポジトリには登録されるべきでなかったことをリモートリポジトリにも反映するには、
git filter-branchで最初から書き換えてしまうしか無いのかな

843:デフォルトの名無しさん
14/06/15 12:29:50.14 ZB+9NljM
日々の作業を自動化するプログラムを書いてgitで管理していくとプロジェクトが50個超えるんですけど
ここの先輩もそんなにいきますか?

844:デフォルトの名無しさん
14/06/15 12:33:02.69 C1Yq9FDg
日々の作業がそんなにないんだけど...

845:デフォルトの名無しさん
14/06/15 12:48:11.71 ZuLV4hXG
>>843
それgit関係無いですよね?

846:デフォルトの名無しさん
14/06/15 13:32:29.24 KFTbGwac
そのプログラムとやらをまとめて一個のリポジトリにすりゃええやんけ
そんな自動化できることばっかなら仕事しなくていいんじゃね
裏山

847:デフォルトの名無しさん
14/06/15 14:58:31.07 cXeYBPF2
自分が書いたコードをレビューしてくれるサイトってありませんか?

848:デフォルトの名無しさん
14/06/15 15:08:34.54 l0ywMHBR
>>847
githubにコード晒して
レビューしてくださいっていうとか

849:デフォルトの名無しさん
14/06/15 15:17:54.95 47+4XIuz
Git関係なくね?てか使ってる言語系のスレで聞けばよくね?
てかフルボッコされたいならこの板で良くね?

850:デフォルトの名無しさん
14/06/15 15:40:00.08 cXeYBPF2
githubってあんまりレビューを見かけることがないんですよね
というかレビューをするのが前提って感じでも無いですし
レビューに力を入れているサイトってないんでしょうか

851:デフォルトの名無しさん
14/06/15 15:40:10.00 azJHx8hd
stackoverflowのほうが精神衛生には良さそう
同じボコられるにしたって、匿名と名前ありでは素直に受け取れる度みたいなもんが変わってくると思う

852:デフォルトの名無しさん
14/06/15 15:53:23.78 8GPu+iwa
stackoverflowの日本語版が出来たらそこがいいだろう

853:デフォルトの名無しさん
14/06/15 16:09:10.27 IRi7fyG5
stackoverflowは質問事項を明確にしないと管理人に質問を凍結状態にされるぞ
レビューしてくださいとかダメだ

854:デフォルトの名無しさん
14/06/15 16:12:09.02 qtgrwwOv
stackoverflowで質問したことあるけど勝手にタイトルを変更された

855:デフォルトの名無しさん
14/06/15 19:17:17.20 ZZ/FPeiS
タイトルと質問内容をレビューしてもらったわけだ。
コードレビューならとりあえずgithubに上げてみ。誰かのコードレビューすれば逆にレビューしてくれる。

856:デフォルトの名無しさん
14/06/16 00:22:54.07 idFh+z/o
>>850
コメントやりあってるのがレビューじゃなくてなんなんだよ…
この人の考えてるレビューはみんなの思い描いてるのとは別物だな、たぶん

857:デフォルトの名無しさん
14/06/16 01:25:32.74 HINNz9l/
いやレビュー目的でgithub見に来てる人っていないでしょ?
海外のチャットで僕の英語を添削してくださいなんて言わないよね
だから添削に特化したlang8みたいなのがあるんだよ

858:デフォルトの名無しさん
14/06/16 01:30:36.25 MERkKOKe
素晴らしいソフトウェアをもっと素晴らしくするために自分の考えだした素晴らしいアイデアを無償で提供しようってのが公開リポジトリでの交流だろ?

859:デフォルトの名無しさん
14/06/16 01:31:44.76 MERkKOKe
どこぞの誰かが添削してくださいって言って公開してる何の役にもたたんコードを無償でレビューするとかどんな暇人やねん

860:デフォルトの名無しさん
14/06/16 01:38:58.62 MERkKOKe
いっそのことコードを会員相互でレビューしあうサイトでも立ち上げてみたら?需要があるんなら儲かるんじゃね?

861:デフォルトの名無しさん
14/06/16 06:20:11.38 e4oLiDm/
>>860
考えてみた

URLリンク(pastebin.com)

862:デフォルトの名無しさん
14/06/16 06:29:03.47 AdEqdopC
いいかげんGitとは全く関係無いんで他にスレでも立ててやってくれ

863:デフォルトの名無しさん
14/06/16 06:35:35.02 Mvi4rDX6
コードレビューでお金がもらえるサービスを作る
スレリンク(tech板)

864:デフォルトの名無しさん
14/06/16 08:11:44.62 WjthfDAE
>>859
> どんな暇人やねん

にちゃんでうだうだ言ってるお前が言うなよ w

865:デフォルトの名無しさん
14/06/16 22:31:52.86 w9HZwqDq
>>863
それ普通にユーキャンだろ…

866:デフォルトの名無しさん
14/06/16 22:37:07.56 MMwlea4w
クソサービスすぎて見てるほうが死にたくなる

867:デフォルトの名無しさん
14/06/16 22:56:47.14 1GPgt9YV
死にたいなら死んでいいと思います。

868:デフォルトの名無しさん
14/06/18 16:43:12.19 bAs8WhGu
gitのサブモジュールって、サブモジュールが更新されたとき、メインのgitでpullすればサブモジュールのgitも最新版になるの?

869:デフォルトの名無しさん
14/06/18 17:03:50.64 yu0xlR7/
ならんならん

870:デフォルトの名無しさん
14/06/18 17:49:25.97 bAs8WhGu
>>869
ありがとうございます。
ということは、サブモジュールが更新されてたらcomposerとかbowerとかつかわないけないんですね。

871:デフォルトの名無しさん
14/06/18 17:53:32.85 yu0xlR7/
なんでやねん

872:デフォルトの名無しさん
14/06/18 21:32:10.25 Dv/sTmWi
なんでそうなるんや…

873:デフォルトの名無しさん
14/06/19 02:50:54.18 a+4NSFaT
git/composer/bowerあたりが全部ごっちゃになってるのか…gruntとかnpmとかもか

874:デフォルトの名無しさん
14/06/19 02:52:18.29 GKSvjGH6
URLリンク(info.cloudforge.com)

875:デフォルトの名無しさん
14/06/19 02:56:00.25 QcTSno45
>>873
はい。ごっちゃです。
nodejsで、サブモジュールのクラスを継承してるんですけどサブモジュールのライブラリを更新したらメインのサブモジュールも自動更新できるように出来ませんかね?

876:デフォルトの名無しさん
14/06/19 04:35:43.70 ZDR2rCVo
URLリンク(git-scm.com)

877:デフォルトの名無しさん
14/06/19 09:10:11.76 uhTP2aV5
>>875
外部ライブラリのバージョンを、バージョン管理しないなら、

サブモジュールを使わないで「バージョン管理しないディレクトリ」
として管理しなければいいよ。

878:デフォルトの名無しさん
14/06/19 11:01:04.34 QcTSno45
>>876,877
ご親切にありがとうございます。
勉強してみます。

879:デフォルトの名無しさん
14/06/19 17:00:32.13 IwCNAxsR
細かい単位でコミットしてないとダメだなあ
あんまり大きい作業単位でコミットしてるとrevertとか便利そうな機能が使えんし

880:デフォルトの名無しさん
14/06/19 17:06:48.92 BcmtgtjI
セーブする感覚でやっちゃってる
適当にrebaseしないと散らかりすぎるかのう

881:デフォルトの名無しさん
14/06/19 20:04:21.46 GjYBKD0X
俺はブランチ切る→そのブランチ内でセーブ感覚でガンガンコミット→squash

882:デフォルトの名無しさん
14/06/19 20:15:00.22 Fdr0qLJN
それがベーシックなやり方だろうね
ブランチ未満の粒度の作業単位は残す必要ないだろうし

883:デフォルトの名無しさん
14/06/19 20:18:40.23 Df6JFFDt
個人的な好みとしては
rebaseでの根本移動はアリだけど
squashでのコミット潰しとFFマージ主義はナシ

884:デフォルトの名無しさん
14/06/20 01:16:15.04 9P55PKrO
開発用テストサーバとローカルのコードを同期するのに同期用のブランチを切って使ってる。
それだと本当にタイプミスで動かないものの修正とかでcommit/push/pullになって、コミットログも"a"とかなので、さすがにそんなのは履歴として残すメリットはなんにもないので、
本来コミットするべきタイミングでそういうのはsquashしてトピックブランチにcommitしてる。

原理主義者からは単なる同期にgitを使うなとは言われるかもしれないけど、
他のツールを使うのも色々とめんどくさいしね。

885:デフォルトの名無しさん
14/06/20 01:25:01.85 nPERQ22c
> squashでのコミット潰しとFFマージ主義はナシ

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

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

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

それだけじゃないか。

決めつける人は、自分がやり方ことが明確になっておらず、
ただコマンドを覚えているだけなんだろうな。

886:デフォルトの名無しさん
14/06/20 01:50:53.36 fQqGdEOm
自分のやり方と違う奴の存在認められないからすぐ叩きが始まるのはいつものことではないか

887:デフォルトの名無しさん
14/06/20 01:55:10.28 7nDrVBi+
1コミットにできないブランチはそもそもブランチの切り方を失敗してる説

888:デフォルトの名無しさん
14/06/20 01:58:44.73 rNGAsf/H
1コミットにまとめようとしてsquashしたらコンフリクトがハンパなく発生して死にたくなった

889:デフォルトの名無しさん
14/06/20 02:00:56.73 nPERQ22c
>>888
それはmergeでコンフリクトが出ているだけで
squashしたせいじゃないよ。

890:デフォルトの名無しさん
14/06/20 07:49:34.87 XWgQCtQu
squash しなければコンフリクトも小出しになると言いたいのでは。

891:デフォルトの名無しさん
14/06/20 19:41:04.84 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)
$

892:デフォルトの名無しさん
14/06/20 19:43:03.58 FEHr8pGe
まとめるコミットが多いとこうういのがたくさん出る

893:デフォルトの名無しさん
14/06/20 20:08:47.08 fQqGdEOm
がんばれがんばれどかべん
よーしだたろう

894:デフォルトの名無しさん
14/06/20 21:05:57.10 tmj63HwH
rebaseはマージコミットの時に行った編集を再現できないから、マージコミットを巻き込んでrebaseしたら
何度でも同じコンフリクトが起きるよ

895:デフォルトの名無しさん
14/06/21 02:40:47.04 GnC4hxCp
そして、「何度でも同じコンフリクト」が起きた時
自動で解決してくれる設定が、


あるから誰か答えてね。

896:デフォルトの名無しさん
14/06/21 03:01:15.08 5/17O7zj
initからsquashを使うまでの流れを教えてください

897:デフォルトの名無しさん
14/06/21 10:32:06.18 tx3pF38o
merge --squashはまず使わないが、
rebaseのsquash, fixupはよく使うレレレのおじさん

898:デフォルトの名無しさん
14/06/21 11:08:10.55 EfmviY6O
だってgit bookのページに書いてあったsquashってrebaseの話しかなかったんだもん!

899:デフォルトの名無しさん
14/06/21 12:55:15.10 tx3pF38o
ソーカソーカヨシヨシ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch