トップページ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/
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の仕様はコンパイルする言語向けって感じで
更新したスクリプトファイル等だけを借りてるサーバーにアップロードしたいという需要には応えられない感じだな
需要としてはアップロードに通信量制限があるとかそういう感じ稀なケースくらいだろうからしかたないか
■ このスレッドは過去ログ倉庫に格納されています