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

Git 9

レス数が900を超えています。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/
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
レス数が900を超えています。1000を超えると表示できなくなるよ。