- 1 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:16:57.41 .net]
- ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。
Git - Fast Version Control System git-scm.com/ ◆関連サイト Pro Git - Table of Contents progit.org/book/ja/ Git入門 www8.atwiki.jp/git_jp/ ◆前スレ Git 7 toro.2ch.net/test/read.cgi/tech/1381929347/
- 762 名前:デフォルトの名無しさん mailto:sage [2014/04/07(月) 23:00:16.22 ID:aZ3ao3+q.net]
- ロック不要なのは、ロック解除後に前のバージョンに戻す馬鹿がいるからだよ。
(1)書き込もうとしたら何かエラーになった。 (2)取っておこう。 (3)updateしたら出てきた。動くようになったのかな? (4)元に戻してcommit。 結局、運用ルール必須。
- 763 名前:デフォルトの名無しさん mailto:sage [2014/04/07(月) 23:29:19.10 ID:vR3IoiGJ.net]
- あるファイルの5番目に編集したハッシュタグを知る方法を教えてください
HEAD@{4}だとマージしたとか関係ないとこに当たるからだめでした
- 764 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 01:55:28.06 ID:ne0TjbLI.net]
- 5番目ってどっからどう数えるの?
普通にログを目で追うんじゃだめなん?
- 765 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 02:09:48.67 ID:4nGfwtCH.net]
- https://github.com/progit/progit/commits/master/README.md
こゆの?
- 766 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 03:19:33.60 ID:y9DHWvxi.net]
- こういう感じです
対象:Aファイル 最後に編集した3番目の例えると・・・ (古い) git init Bファイルを編集&コミット Aファイルを編集& コミット ←5 ここのハッシュタグが知りたい ブランチ切り替え Bファイルを編集 & コミット Aファイルを編集 & コミット ←4 ブランチ切り替え マージ Aファイルを編集 & コミット ←3 Aファイルを編集 & コミット ←2 Aファイルを編集 & コミット ←1 ここからカウント Bファイルを編集 & コミット git push (新しい)
- 767 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 03:20:42.76 ID:y9DHWvxi.net]
- x 最後に編集した3番目の例えると・・・
o 最後に編集した5番目の例えると・・・
- 768 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 04:24:33.49 ID:czY7oW3r.net]
- こう?
git log --oneline -- Aファイル
- 769 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 05:05:27.05 ID:fyVeu966.net]
- >>749
>>729 のリンク先も見てないのか
- 770 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 05:28:35.31 ID:lmbIx31P.net]
- >>729で説明してるのは単純な中央リポジトリに対するアクセス制御を実現する方法
Gitの場合は中央リポジトリを持たない運用とか、 中央リポジトリがあってもリポジトリが多段の階層を構成してるような運用とかがあって、 >>729みたいな単純な実装じゃ不十分なんだよね 本格的にやるならリポジトリが相互にアクセス制御情報を交換するような実装が必要になるけど 複雑な仕組みになるからやらないだろうな
- 771 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 05:37:37.12 ID:WTPhN4IX.net]
- っていうか、subversionだって
ローカルでファイルを修正すれば同じことだろ? ロックがかかった状態と言っても、 ローカルで作業している分にはネットワーク切れてるわけで、 当然ローカルにあるものは読み書き可能。
- 772 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 12:42:51.84 ID:EM68hGAU.net]
- LinuxでおすすめのGUIってなんですか?
SourceTreeがインストールできないので残念です
- 773 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 13:08:04.31 ID:1S0CFyLG.net]
- >>758
> 複雑な仕組みになるからやらないだろうな 難しいかどうか以前に、本質的に無理でしょ。 同時にロックされたときの排他制御が必要だから、なんらかの中央集権は必要。 ただちょっとした開発でもその手のサーバーは持ってると思うけど。
- 774 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 15:00:40.14 ID:lmbIx31P.net]
- >>759
subversionとかのロックはファイルを編集する前にかけるの ローカルに編集する前に中央のサーバに問い合わせて、自分がファイルを編集できるかどうかを確認する
- 775 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 15:16:54.95 ID:L1P7kA7L.net]
- >>762
いや、ファイルの読み取り専用属性を解除すれば ロックかかっていても修正できるから。
- 776 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 16:06:55.87 ID:lmbIx31P.net]
- subversionでロックをかけるには中央サーバとの接続が必要で、
お互いがロックをかけてから編集するというルールを守っている限りコンフリクトを抑止できる ここまではいいかな? gitで同じような効果を得るには中央サーバが必要になる しかしgitの場合には>>758で示したように、中央サーバに該当するものが存在しないとか、 中央サーバーが直接ローカルからアクセスできない環境で運用される場合がある それらに対応できない以上gitにおいては中途半端な実装と言うしかない
- 777 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 18:28:01.34 ID:ne0TjbLI.net]
- そもそも
コンフリクトを抑止して「効率的に開発する」という目的に対しては ロック機能自体が中途半端な存在ってことでしょ できる/できない の話と やる/やらない の話が ごっちゃになってる感じ
- 778 名前:746 mailto:sage [2014/04/08(火) 18:30:28.02 ID:9wIzdaaz.net]
- お前ら親切だなあ。
- 779 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 23:59:46.81 ID:Sb5AZ4FB.net]
- ローカルではgitを使い、本家へのコミットにはsvnを使う
というのがプロのやり方だよね
- 780 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 00:46:29.18 ID:Lm8qyw/W.net]
- >>763
ツールが想定する運用と違う使い方してダメだしとか、頭おかしいのか? >>764 もそうだけと、いかなる構成に対応できるって言ってるわけじゃないだろ。 ロック使いたいならこんなやり方でできますよって言ってるだけなんだから、必要ないならスルーすればいいだけのこと。
- 781 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 00:47:27.96 ID:BYGGYeeL.net]
- だからロックを使いたいやつをgitに呼びこむのがそもそもの間違いだろ
- 782 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 00:48:26.64 ID:hkLzWOQG.net]
- 何を使うかは上が決める
トップダウン
- 783 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 00:56:42.97 ID:yn/sF65z.net]
- gitでもロックできるみたいだからロック使った運用しろなんて馬鹿な上が言ってくるかもしれないからな
分散管理に対する不自由と引き換えになる不完全なやり方だってことを書き込んでおかないとね それを承知で使うなら別に構わないんじゃないか?
- 784 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 01:42:35.53 ID:S7o8PceK.net]
- ロックって聞くとすぐ発狂するよなGit信者って
自由の戦士のつもりかなんかなのか?
- 785 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 01:52:21.50 ID:BYGGYeeL.net]
- >>772
だからCVSを死ぬまで使ってろよ、あれだって自由ソフトウェアだぞ
- 786 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 02:10:11.00 ID:j9Z2BVsM.net]
- >>772
ROCKってのは心揺さぶるもんだろう、お前も一緒にシャウトしようぜ …と言うのは流石に冗談として、lockが無いと発狂してる人に、落ち着けと言ってるだけにしか読めないんだがなあ 何にしても元々オプソ用だったgitにlockなんて百害あって一利も無いだろうし、どうにも必要なら素直に別の使えば良い
- 787 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 02:28:49.32 ID:zsoCf0EM.net]
- lockのあるツールでlockかけたまま会社を休んだのがいて仕事にならなかったのを
経験するとlockのあるツールを積極的に使おうという気はなくなるけどな。
- 788 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 02:53:43.97 ID:6tz1smtb.net]
- >>775
ロックと言ってもただの読み取り専用属性なので 解除すれば編集できるよ。
- 789 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 02:57:15.26 ID:TCIMdxjw.net]
- >>774
> 何にしても元々オプソ用だったgitにlockなんて百害あって一利も無いだろうし 意味わからん OSS がどう関係するかもわからんし、一利ないと言うのはいいとして、百害ってなんだ? なんか lock を凄いガチガチの機能だと思ってねーか?
- 790 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 03:03:57.78 ID:NE6iElAu.net]
- まず、ロックを使うという前提だとする。
つまり、ファイルを編集する前には必ずロックをかけるということ。 普通プログラムするときは、編集対象が予め分かるわけじゃない ソースコード眺めていって、問題があるファイルを修正する。 ここまではいいね? ・ネットワークにつながってない状態でどうやってロックをかけるのか? ・ロックがかかった状態で、そのファイルを他の人が修正したい場合はどうするのか? ・ロックを解除しないまま長期休暇した場合はどうするのか (ロックを強制的に外すという案は、なら最初から外せばいいのでロックの利点?とは反する) これに答えて欲しい。 ロックを外せば(無視すれば)運用できるじゃねーか。という意見が正しいなら、 最初からロックはなくていいのではないか?という答えになる。
- 791 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 03:43:52.22 ID:j9Z2BVsM.net]
- と言うか前提が分からんなあ
ローカルコミット出来ないようにロックするのか、プッシュ出来ないようにロックするのか…
- 792 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 04:28:13.15 ID:Qxi8LBwl.net]
- まあコミットするのにいちいち書類提出しなくちゃいけないようなルールの運用もあるっていう噂だし、
ロックが必要だっていう社内論理も同様にあり得るんじゃないの。 けど、ロックの要不要はそもそもどういう運用ルールなのかによってかなり変わってくると思うのに、その前提を共有する以前に ロックがあったほうが便利だのロックなんて無意味だの言っても平行線をたどって終わりだろう。 そもそもここバージョン管理システムスレじゃないしバージョン管理システムにロックがあったほうがいいのか悪いのかっていう話題はスレチだと思うけどね。 スレチだからやめろとかうるさいことを言いたいわけじゃないが。 けど個人的な意見を言わせてもらえば、特別運用ルールや利用形態を指定しないのならここはGitスレなんだし、 「ロックなんてあったって中途半端で意味ないだろ」っていう意見の方が支配的だと思うけどな。状況限定の例外はもちろん認める。 ロックが必要、って言ってる人はVCSにロックが必要だと思ってるのか、Gitにロックが必要だと思ってるのかどっちなの?
- 793 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 04:41:58.28 ID:NE6iElAu.net]
- 書類提出とか言うのは、そもそも権限の話だから全く違う問題。
ロック禁止というのは、コミットできる権限はあるけど 他の人にコミットさせないと、別の人がコミットを禁止させる行為。 本来コミットしていいはずの人が、コミット禁止される。 なぜ?って話。
- 794 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 08:06:53.29 ID:lgQL/971.net]
- >>778
前提が滅茶苦茶だな。 > まず、ロックを使うという前提だとする。 > つまり、ファイルを編集する前には必ずロックをかけるということ。 > 普通プログラムするときは、編集対象が予め分かるわけじゃない > ソースコード眺めていって、問題があるファイルを修正する。 なんで全部ロックしようとするんだ? バイナリ系の (要はツールではマージできない) ファイルだけでいいだろ? > ・ネットワークにつながってない状態でどうやってロックをかけるのか? だから、できない状況ならあきらめろよって話。 > ・ロックがかかった状態で、そのファイルを他の人が修正したい場合はどうするのか? ロックした人と相談しなさいよ。 > ・ロックを解除しないまま長期休暇した場合はどうするのか 連絡つかないとか本人死んだとかなら、ロック解除すればいいだけ。 > (ロックを強制的に外すという案は、なら最初から外せばいいのでロックの利点?とは反する) 意味わからん。 お前さんが考えてるロックの利点ってなんだ?
- 795 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 08:14:32.41 ID:lgQL/971.net]
- >>780
> ロックが必要、って言ってる人はVCSにロックが必要だと思ってるのか、Gitにロックが必要だと思ってるのかどっちなの? あればいいじゃん、と言うだけのこと。 中途半端で使いにくそうとかいうのならわかるけど、強制解除できるなら意味ないとか、忌み嫌う意図がわからん。 >>781 マージできないからだろ。
- 796 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 08:21:10.15 ID:lgQL/971.net]
- >>781
ちょっと追記 > ロック禁止というのは、コミットできる権限はあるけど > 他の人にコミットさせないと、別の人がコミットを禁止させる行為。 ロック禁止はロックのことだと仮定して、本来ロックはコミットを禁止させる行為じゃないよ。 編集を開始させないようにするためのもの。 マージできないからその編集は無駄になる可能性が高いからね。
- 797 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 08:39:15.17 ID:rnHKJbd8.net]
- そのうちDBの排他ロックすら許せなくなっちゃうんだろな
- 798 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 10:48:27.45 ID:Cs/4QDoa.net]
- ロックがゲシュタルト崩壊
- 799 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 11:54:59.42 ID:Bivk+KoI.net]
- >>785
RDBMSにはマージという概念がないだろう。
- 800 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 11:59:27.20 ID:S7o8PceK.net]
- 確かにGitってテキスト主体のオープンソースの分散開発ならいいけど、
社内とかの仕事で使うにはあまり意味ないよね。 各人勝手にソースいじることないし、最終的にどこを取り入れるか判断する 人の負担が大きいし。
- 801 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 12:49:11.67 ID:Cs/4QDoa.net]
- >>788
意味ないとまでは思わないが、効果が薄いと言わざるを得んな。 文書は全部Officeでマージできない、開発メンバはSubversionのこ とをちょっと面倒な共有ファイルサーバくらいに思ってる、といっ た環境だと、苦労してGitに変える必要もないかなって思う
- 802 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 13:32:32.32 ID:Qxi8LBwl.net]
- >>783
多分、ロックがあった方が美味しいってことが多いシチュエーションでは、Gitなんか使わない方が皆幸せだってことをロックを嫌がる人は思ってるんじゃないのかな? リソース画像ファイルとかですらGitのリポジトリには含めるべきではないっていう原理主義の人多いし。 自分は原理主義もわかるけど、自分の利用ではリソース画像ファイルとかは必須なので、なんとかうまいことする方法があればいいのにな(他VCS含め)と思っている。 Gitにロックがあればいい、というあなたの立場は理解した上で、どういう実装があり得ると思う?自分は上手い、と思う方法が見つからないよ。
- 803 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 14:23:46.87 ID:mAyum7ca.net]
- ファイルの中にパスワードを書いたままGitHubにプッシュしたんですけど
これはまずいと思ってパスワードを削除したファイルをプッシュしたんです。 でも過去の履歴って閲覧できますよね。 どうやって闇に葬り去ることができますか? バレたら首になるので誰かヘルプ!
- 804 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 14:26:33.92 ID:qA8ouB3T.net]
- github側リポジトリを消す
自分のローカルリポジトリはパスワード追加前のコミット前の状態revert githubにプッシュし直す
- 805 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 14:30:07.03 ID:iLQ9oAQy.net]
- github の HEAD を他の誰かが取り込んだら終わりだからな
とりあえず迷ってる暇はない 今すぐ github のアカウントごと消せ
- 806 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 14:31:36.72 ID:f1/WUzrS.net]
- 凍結してfilter-branchの練習かな
- 807 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 14:31:48.87 ID:yn/sF65z.net]
- >>791
最初にやるべきことはそのパスワードそのものを無効にすることだよ もちろんそのパスワードを外部にさらしてしまったことを回りにちゃんと説明しろ
- 808 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 14:54:17.61 ID:mAyum7ca.net]
- みなさんありがとうございます
入社して7日目で首だけは避けたいのでアドバイスを参考に動いてみます
- 809 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 15:03:21.10 ID:TDs0SH97.net]
- >>790
> 原理主義の人多いし。 たかがツールなんだから便利に使えればいいと思うんだけどね。 まあ、無節操に機能を取り込んで逆に使いにくくなるとかは勘弁してと言うのはあるとは思うけど。 > どういう実装があり得ると思う?自分は上手い、と思う方法が見つからないよ。 排他が必要だから俺も中央サーバーたてる以外の方策は思い付かない。
- 810 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 16:32:18.38 ID:Bivk+KoI.net]
- 入社して7日目に2chに書き込んでいるとか
- 811 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 17:55:39.06 ID:n694gffx.net]
- >>797
>たかがツールなんだから便利に使えればいいと思うんだけどね。 こういうのって自分だけはメタ視点、なつもりで高所から見ているつもりだろうけど、 誰でも分かってる当たり前のこと言ってるだけだよな。 当面の議論には参加する能力がないけど、偉そうな態度だけは取りたいという
- 812 名前:。 []
- [ここ壊れてます]
- 813 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 19:50:12.68 ID:Qxi8LBwl.net]
- >>797
> たかがツールなんだから便利に使えればいいと思うんだけどね。 いや、原理主義は大事だと思うよ。本当に無理やり目的を達成したほうがいいのかをそもそも論で考えるのは大事だと思うから。 ただ、原理主義に固執するあまりに状況も把握せずに全否定、ってのは良くないと思うけど。 「便利に」使えればいいというのはその通りなんだけど、ツールの設計思想や構造を無視して「こういう機能があると便利なんだけど」って言ってもしょうがないとも思う。 乗用車にトイレがあったら便利だと思うけど、トイレを実装するには様々な困難があるし、乗用車の存在目的を考えたら外部化したほうがいいでしょ? そういうところを無視して「便利だと思うからつけたっていいじゃん」ってのもまた、同意できない。
- 814 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 19:53:10.76 ID:/il1zge6.net]
- gitは単なるツールでそれを運用するシステムは別でしょ
そのシステムがgitを前提としてなかった場合、システムがgitに合わせることになる
- 815 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 20:03:23.61 ID:TDs0SH97.net]
- >>799
いきなりどうした? なんか悔しかったのか? (w >>800 まあそこは色々な考え方あってしかるべきだし、使い方は人によって違うしね。 車の例えなら、キャンプ大好きで自家用車をキャンピングカーにしてるような人なら、トイレもあった方がいいと思うかもしれないよね。 設計者には悪いけど個人的に使うなら設計思想関係なく便利に使えばいいと思うよ。
- 816 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 20:07:57.73 ID:TDs0SH97.net]
- >>801
システムって具体的にどんなのを言ってるの?
- 817 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 20:24:29.52 ID:yn/sF65z.net]
- Gitはあくまでもソースコードの分散バージョン管理ツールであって
そのために必須ではない機能を何でもかんでも突っ込むのはUNIX的なやり方じゃないね バイナリファイルとかの管理のために分散環境ではうまく機能しないロックが必要だっていうなら、 そういう仕組みをGitとは別に新しく作ればいい もちろんそれを実現するのにGitを利用するのは構わないけど、 Git本体を肥大化させるのはダメだ
- 818 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 20:42:11.70 ID:/il1zge6.net]
- >>803
会社みたいに複数人で開発する場合、集中管理できるようなツール入れることになるでしょ そこで、どのツールを使うとか、そのツールで管理してる各リポジトリに対して、誰にどれだけの権限を与えるとか gitをバージョン管理ツールとして導入して運用するのに必要な管理ツールやルール的なものという意味でのシステム
- 819 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 20:44:43.35 ID:yIe5cirA.net]
- そんなに便利な機能なら拡張作れば大人気だろう
- 820 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 21:14:14.88 ID:TCIMdxjw.net]
- >>805
いわゆる運用系の話しかな なら、ツールにうまく合わせるのは当たり前やね >>806 便利だとは思うが、本質的に分散システムでは実現が難しいから、かなりの部分を運用でカバーする必要があると思う
- 821 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 21:20:04.93 ID:hkLzWOQG.net]
- 分散システムの本質ってなんだろうな
- 822 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 23:01:23.09 ID:vvfK+6uV.net]
- >>800
原理主義っていうことの意味自体が排他的なネガティブなものなので、原理主義が 大事ってのは普通の感覚だとありえないんだけどね。保守的よりさらに変化を 認めないってのが原理主義だから。
- 823 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 23:14:37.88 ID:Sjt9OQJN.net]
- >>802
いや、お前自分ではドヤ顔だけど、つまんねえだけだよ、と誰か教えてやった方がいいと思ったからさ。
- 824 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 23:20:38.44 ID:wiNih1s9.net]
- GitってVSSみたいにファイルのチェックイン、チェックアウトを厳密に
アトミックにロックするやり方の管理もできるの? テキストファイルみたいな中身を把握して差分を常に意識するならGit方式 でいいけど、画像ファイルとか、特定アプリのバイナリファイルの共同 開発だとVSS方式もあった方がいいよね。
- 825 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 23:20:46.34 ID:Il0l8m2A.net]
- WindowsでGitをインストールすると.gitconfigの[core]の項目が存在しますが
Linuxでソースコードから入れると、入れたばかりだと.gitconfigは存在しません。 名前とメールアドレスを登録したら自動的に.gitconfigが作られますけど Linuxでは[core]の部分は設定しなくてもいいのでしょうか? 例えばautoCRLFとか
- 826 名前:デフォルトの名無しさん mailto:sage [2014/04/09(水) 23:41:10.33 ID:hkLzWOQG.net]
- Git - Gitのインストール
git-scm.com/book/ja/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-Git%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB Git - 最初のGitの構成 git-scm.com/book/ja/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-%E6%9C%80%E5%88%9D%E3%81%AEGit%E3%81%AE%E6%A7%8B%E6%88%90 Git - Git のカスタマイズ git-scm.com/book/ja/Git-%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA
- 827 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:00:04.05 ID:ZuhRq4by.net]
- >>802
もちろんそれぞれの解があっていいと思うけど、トイレと車での移動を両立しようと思ったら、なにか諦めなくちゃいけないじゃない。 汚物を自分で処理するということなのか、上水下水を駐車時に勝手に流してくれるようなステーションにしか行けないような車を作るのか、諦め方は色々あると思うけど。 どういう方向に諦めるのかってのは設計思想と利用ケースによって最適解が違うから、そこを詰めずに話題にしたら「万能な方法はない」で終わっちゃうよね。 もちろん個人で使うなら自由にすればいいと思うけど、背景を共有せずに不満だけ書かれてもチラシの裏なわけで「で?」ってなってしまう。 >>809 すまん、それは言葉が悪かった。本来あるべき正当な立場に立ってものを考えてみることもときには重要だ、くらいの意味だけど。 ツールを開発してる本人たちは原理主義であるほうが軸がブレブレのツールとかにならなくていいかも、って思って原理主義って言葉が出てきたのかもしれない。
- 828 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:17:43.20 ID:ZuhRq4by.net]
- ちっ、ID変わる前に書き込んだほうがわかりやすいと思ってギリギリに書き込んだのにちょっと遅れてID変わってしまった。
>>801とか>>804のような話は正論だと思うんだけど、具体的にそれをうまくやるツールっていうのが定番がないよね。 多分、状況によって必要な実装が変わってくるから定番的なものは用意できないのか、まだみんなツールを開発するのを面倒臭がってだましだましGitを使ってる人が多いのか。 と思って調べてたら、本格的なのだとgit-annex、フィルターで済ませるのとしてはgit-largefileとかあるみたいね。 git-annexにはロック機能もあるみたい。(基本annexで管理してるものはロック状態らしい) けどやっぱり>>804の言うように、バイナリの管理って小さいものだったらまあなんとかロックさえあればいいのかもしれないけど、ムービーくらいのでかいものを管理しようと思ったら いきなりリポジトリのサイズがどんどんでかくなってまともに使えなくなるわけで、Git本体を考えなしに肥大化させちゃうような進化の方向はよろしくないと思うな。 結局、便利に使うためには「どういう理由で何を実現したくて、今後何が起きるか」ってことをちゃんと考えなければ便利には使えないわけで。
- 829 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:19:25.54 ID:cllo9doH.net]
- >>808
離れた相手の作業に邪魔されないこと
- 830 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:26:21.34 ID:NS7eKWAh.net]
- ウォーターフォール型のプロジェクトだとGitが向いてないのは確かだね。
Gitだと頻繁にコンフリクトが起きて、それを解決する工程が割り込んでくるから あらかじめ決められた工程を決められた日程でこなしていくウォーターフォールとは根本的に合わない。 コンフリクトするたびにそれを解決するためにスケジュールを修正し直してたらキリがない。 Gitはあくまでコンカレント開発ができるアジャイル開発のためのツール。
- 831 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:36:06.16 ID:I4ZYtafb.net]
- >>817
ウォーターフォール型のプロジェクトで、 ソースファイルの同じ位置を複数の人で編集しまくることとかあるの? コンフリクトが簡単に解決できないようなファイルの編集が複数の人の間で頻繁に発生するとか、 有り得ないと思うんだけど
- 832 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:40:22.58 ID:qnngGCyM.net]
- >>817
頻繁にコンフリクトが起きるようなプロジェクトならsvnだろうが他のだろう関係なく 起きるよ。 コンフリクト以前にsvnのマージ作業なんて、作った奴死ねって思う くらいひどいし。そういうマージやらコンフリクトの解消のコストがgitは他のに 比べて圧倒的に低いからgitは使う価値があると思う。 svn使ってるならローカルで git svn使う方がはるかに楽だし。
- 833 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:45:26.37 ID:GmndHch1.net]
- 自分だけしか使ってないリポジトリで
今までコミットしてきた時の名前を変更したいんですが どうやるのか教えてください 適当に名前をつけてたのですが、今後他の人もコミッターに加わるので名前を変えたいんです
- 834 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:45:46.71 ID:08KdAoTS.net]
- 何でコンフリクトが起きる事を問題視してる人がいるのかよくわからん。
gitというツールを運用する環境をどう構築するかを考えた方がいいんじゃないの そもそも、svnで問題なかったのならsvnでいいでしょ svnもgitもツールなんだし、適材適所
- 835 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:46:16.32 ID:I4ZYtafb.net]
- >>819
簡単に解決できないようなコンフリクトって例えばどんな場合におこるの? けっこう複雑な関数を同じ人がいじりまくるとかするの?
- 836 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:46:17.65 ID:GmndHch1.net]
- .gitconfigで名前を変えとけば過去の名前も変わると思ったんですがダメでした
- 837 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 00:57:11.44 ID:Aw1WhgbR.net]
- 正直同じ関数に対する修正みたいなのは被らないようにチケット割り振りしたいわな
オープンソースみたいにいつ誰がどんな修正してるかわからんようなのはともかく チームでやってる時は少なくともわかってる範囲内では影響範囲かぶらないようにしてる
- 838 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 01:01:23.41 ID:I4ZYtafb.net]
- >>823
git filter-branch
- 839 名前:デフォルトの名無しさん [2014/04/10(木) 01:34:13.89 ID:1wauUDTZ.net]
- オープンソースならメールなり掲示板なりircなりでやりとりしてるのが普通だよ
- 840 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 01:40:17.05 ID:u/ao0IlG.net]
- >>821
コンフリクトというのはいわばバグですよ。 バグは起きてはいけない コンフリクトも起きてはいけない。 subversionを使っている人はそう言ってました。 馬鹿ですよねw
- 841 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 01:46:32.26 ID:67sTFnF/.net]
- >>826
開発が活発なOSSについてはそうだろうけど 開発者が実質1人だとかメンテナ不在ってのが OSSの「普通」(圧倒的多数)だと思うけどね
- 842 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 01:58:20.93 ID:67sTFnF/.net]
- 作業が無駄になろうがマージがめんどくさかろうが
コンフリクトが顕在化するのはまだ幸運な方だよね 構文上はコンフリクトしてなくても機能上コンフリクトしていて 回帰テストに漏れがあると悲劇の始まり gitには悲劇を早く終わらせるのに役立つ機能はあっても 現状のバージョン管理システムでは悲劇の発生は阻止できそうにない
- 843 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 02:01:03.17 ID:u/ao0IlG.net]
- >>829
その為にテストを自動化するんでしょ? それに二人の人が作業するのであれば ロックをかけていたとしても 機能上コンフリクトは起こるわけだし。
- 844 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 02:01:31.21 ID:o2rx8JxT.net]
- >>729の燃料投下から100レス目か
- 845 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 02:08:15.66 ID:67sTFnF/.net]
- >>830
gitだろうとロック機能のあるツールだろうと 顕在化するコンフリクトなんて可愛いもんで 熱く議論するほどのことじゃないよねって言いたかった
- 846 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 02:15:53.96 ID:uhNdSeYA.net]
- ロックでなんとかなると思ってるのは、コード書いてない証拠。
書き始めたら結局マージするはめになる。
- 847 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 02:40:10.12 ID:UBKps7J1.net]
- ま、適切に機能分割されてて、関数やファイルで構造化されていれば、酷いコンフリクトなんかそうそう起きないわな
- 848 名前:デフォルトの名無しさん [2014/04/10(木) 04:06:22.99 ID:1wauUDTZ.net]
- 実質1人だとかメンテナ不在ならそもそも
いつ誰がどんな修正してるかわからん みたいな♪心肺ないからね
- 849 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 07:51:39.22 ID:1X5BHIzm.net]
- >>810
つまんないなら、スルーしとけよ (w >>814 > 背景を共有せずに バイナリ (=マージできない) ファイルを管理したいと言うことでしょ。 アイコン、ちょっとしたイメージファイル、ワードやエクセルなんかの文書をソースと一緒に管理したい人は多いと思うよ。 ここら辺の認識も共有されてないの? >>815 git-annex ざっとしか読めてないけど、ファイル本体を Key-Value Store に突っ込んでリンクを git で管理するって感じ? まあ、共通的なストレージあればなんとかなるわな。 > ムービーくらいのでかいものを管理しようと思ったらいきなりリポジトリのサイズがどんどんでかくなってまともに使えなくなる みんなが動画を管理する訳じゃないでしょ。 なんか無理矢理できない例を探してない?
- 850 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 08:01:21.07 ID:1X5BHIzm.net]
- >>824
同じファイルならまだしも、同じ関数を複数の人が同時に触るとかなんかの間違いでもない限り 100% あり得ないよね。 コンフリクト心配してる人はどんな管理してるんだろう? >>829 ひょっとして、バグ見つけたら担当者が勝手にちゃちゃっと修正してるの? 他に影響するような修正なら、仕様書の修正とかレビューするだろ、普通。
- 851 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 12:25:06.48 ID:NS7eKWAh.net]
- 上にもあったけど、Gitってやはりライナスの独裁モデルを元に発想されたと思うんですよ。
世界中のいろんな人がパッチを当てるみたいな細々した修正をプッシュしてきて、独裁者がどれを採用するかどうか決める。 そういう開発形態にピッタリなんだと思う。これならコンフリクトしても大丈夫なわけだし。 上でGitのコンフリクトの意味が分かってない人がいたけど、別にGitのツールとしてのコンフリクト回避機能に問題があるってわけじゃないんですよ。 大手だと誰がどこを直すのか決めてからやるわけで(そのミスを減らすためにバージョン管理ソフトを使うわけで)、ファイルのロックやロールバックがきちんと行われる方が大事なんですな。 Gitだと複数の人が同じところ勝手に直しだしたりしても検出できないでしょ。無駄な作業が発生するわけ。 どっちが悪いとかじゃなくて、Gitが向いてないタイプの管理が企業内にはあるってこと。 おわかりかな?
- 852 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 12:34:43.21 ID:IB1wq0Eb.net]
- ハサミでネジが締められないからハサミはクソと喚いてるわけだな
- 853 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 13:36:34.66 ID:tZxH7aP+.net]
- 立派な大企業様なら、クソみたいなOSSを使わないで、自分達で作るなり買うなりすれば
いいのにねー。2chでアレがデキない、コレがデキナイと喚いているだけなら、無職に も劣る。
- 854 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 13:43:39.90 ID:I4ZYtafb.net]
- どこを直すかの管理をバージョン管理ツールに頼るとかありえないんだけど
- 855 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 13:59:14.88 ID:WPYZbZRA.net]
- ユーザーとタスク管理までさせられるVCSは大変ですね
- 856 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 14:59:48.19 ID:vqBRkjrb.net]
- 開発効率をUPする Git逆引き入門 [単行本(ソフトカバー)]
www.amazon.co.jp/dp/4863541465/ >サイバーエージェントで開発に携わっている著者が、Gitの使い方を速習できるように逆引きという >形でわかりやすく解説しています。Gitコマンドとあわせて、GUIツールのSourceTreeでの操作方法も >掲載しているので、コマンド入力が苦手という方も安心です。もちろん、Git独特の基本用語や概念に >ついてもきちんと解説していますので、初心者でも理解できる内容になっています。これからGitを >使いたいと考えている方におすすめの1冊です。 昨日三省堂で見つけてパラパラめくってみたが、なかなか良さそうな本だった。 と書くとまたステマだ、俺はWEBで充分だ、とか気が狂ったみたいな顔をして口から泡を吹きながら 怒りだす奴でてくるんだろうけど。 こっちは親切で情報を提供しているのに、なんで本の紹介されると発狂する奴っているんだろうな? まあ、身の回りみていても、本代ケチるようなのにろくな技術者いないけど。
- 857 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 16:12:50.21 ID:Aw1WhgbR.net]
- 難癖つけるやつの方が声がでかいだけの話しだから気にすんな
- 858 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 17:41:18.36 ID:8TUEkxNY.net]
- すばらしい技術書を親切心で紹介します!異論を唱えるのはキチガイだけ!
この本が手に入るのにたかが数千円のはした金も出さないのはまともな技術者じゃありません! いますぐ買ってまともな技術者になりましょう! あほか
- 859 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 17:43:40.06 ID:N3vuTs56.net]
- フォークして修正を送る時ってブランチの名前はなんてつけていいのか教えてください
例えばさtestってブランチで送った場合、他の人もtestで送ってたらダブっちゃいますよね ダブった場合もコンフリクトしちゃうんですか?
- 860 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 17:55:01.85 ID:B7i8mwfP.net]
- >>843
まあこのスレじゃないけどステマっぽいのはあったし、実際あなたの書き込みがステマかどうか判断しようがないからね。 そんな風に言われるのが嫌ならこの手の掲示板は避けた方がいいと思うよ。 そもそも、人から批判されるのは嫌だけど、人に嫌みは言うぞって言う態度もどうかと思うし。 > まあ、身の回りみていても、本代ケチるようなのにろくな技術者いないけど。
- 861 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 18:02:26.77 ID:3faYMJHc.net]
- >>843
知らなかったので本の紹介には感謝する ただ、余分な書き込みは必要なかったかな 何にでも文句を言う人はどこにでもいるから それをスルーできない人は書き込まない方が精神衛生上いいのかも ともあれ今から本屋行って立ち読みしてくるよ
- 862 名前:デフォルトの名無しさん mailto:sage [2014/04/10(木) 18:13:00.11 ID:PAL5W9yR.net]
- >>843
ステマ言われるのそんなにないやろ こないだGitHubの本でステマ言われてたやつはあったけどアレは本当にいろんなところでみたからな…
|

|