Git 12©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
2015/03/23(月) 13:35:13.83ID:aBYp+bVsGit - Fast Version Control System
http://git-scm.com/
◆関連サイト
Pro Git - Table of Contents
http://git-scm.com/book/ja
Git入門
http://www8.atwiki.jp/git_jp/
◆前スレ
Git 11
http://peace.2ch.net/test/read.cgi/tech/1416195050/
0084デフォルトの名無しさん
2015/03/29(日) 21:45:52.31ID:SsUrZhnW補完すごいよね
addすべき対象をtabで一発で当ててきたときはビビったよ
0085デフォルトの名無しさん
2015/03/29(日) 22:04:26.44ID:vkiGWuNthttps://github.com/git/git/search?l=c&q=add&utf8=✓
0086デフォルトの名無しさん
2015/03/30(月) 08:52:02.76ID:ebxMPih7そんなもの使ってない
0087デフォルトの名無しさん
2015/03/30(月) 10:57:03.31ID:QTBkdmd4そんなのディストリビューション次第じゃないの。
0088デフォルトの名無しさん
2015/03/30(月) 11:53:27.54ID:eSl2sveJなぜbashだけが優遇されるのか?
今使われてるのはzshだろ。
0089デフォルトの名無しさん
2015/03/30(月) 12:10:49.96ID:pDn2M2s4zsh なら、oh-my-zsh に git プラグインあるだろ。
0090デフォルトの名無しさん
2015/03/30(月) 13:24:21.18ID:pQkawj3/あー、普通にgitについてたよw
0091デフォルトの名無しさん
2015/03/30(月) 21:52:59.70ID:7jnhpj+r今zsh使ってる人って残ってるの?
みんなbashに戻ったとばかり思ってた
0092デフォルトの名無しさん
2015/03/31(火) 04:25:40.16ID:DVVpWgeR0093デフォルトの名無しさん
2015/03/31(火) 10:24:36.59ID:byVPP9+b使い方が分かる人しかいませんか?
便利なGitクライアントソフトとか、各種Gitサーバソフトの
使い方とか、そういうのを質問したかったらどこがオススメ
でしょうか?
0094デフォルトの名無しさん
2015/03/31(火) 10:48:52.86ID:jsR2iUWdここでいいと思うけど。もしかして >>77 かな?
GitBucketは使ったことないけど、
・gitは各コミットのauthorとcomitterそれぞれのnameとemailを記録してる。
・gitはユーザーを管理してない。ってか、分散システムだから管理しようがない。
・authorやcomitterの変更はできるけど、コミットID(ハッシュ値)も変わるので、変更というよりは履歴の書き換えになる。
0095デフォルトの名無しさん
2015/03/31(火) 12:02:22.73ID:DMT7op/Iそれgitに限定する意味あるの?
0096デフォルトの名無しさん
2015/03/31(火) 21:52:09.98ID:N1jW3NRegithub固有の話は専用スレがある
他はここでいいんじゃない?
0097デフォルトの名無しさん
2015/04/03(金) 00:52:20.92ID:bxWPklRz0098デフォルトの名無しさん
2015/04/03(金) 09:00:43.05ID:fygFc6bt税法的にもアウトですよ。コレ。
0099デフォルトの名無しさん
2015/04/03(金) 09:06:27.04ID:TGMPBffS0100デフォルトの名無しさん
2015/04/03(金) 11:50:44.23ID:uPiWXVNBこれでコンフリクトが出た場合はコミットされないのでgit merge --abortで元に戻せますよね
じゃあgit merge --no-commitってなんの意味があるんですか?
0101デフォルトの名無しさん
2015/04/03(金) 12:16:47.24ID:/qzMUQum0102100
2015/04/03(金) 13:02:08.91ID:/gPIw7xIそうなると問題なくマージできる場合はコミットして当然だと思いますがおかしいですかね
0103100
2015/04/03(金) 13:03:07.82ID:/gPIw7xI0104デフォルトの名無しさん
2015/04/03(金) 13:49:11.28ID:/qzMUQumコミットする余裕があってもいいんじゃね
0105デフォルトの名無しさん
2015/04/03(金) 20:25:53.13ID:pcIMeknY0106デフォルトの名無しさん
2015/04/03(金) 23:06:07.33ID:TGMPBffS理想としては全てのコミットは
テストに通れなければならない。
それはマージでも同じ話で、マージ前
マージ後、どちらもテストに通らなければならない。
起きる可能性は低いけれど、起こりえるのが
問題なくマージできたがテストには失敗するいうもの。
この時
1. (マージ前) テスト実行して問題ないことを確認。
2. (マージ後) テスト実行して問題発覚
3. git reset --hard HEAD^ でマージ前に戻す。
(rebaseだとマージに含まれる複数のコミットが分解されてしまうのでまずい)
4. git merge --no-commitでコミットせずにマージ
5. テスト実行して問題ないことを確認してからコミット
という流れで使うのではないだろうか?
0107デフォルトの名無しさん
2015/04/04(土) 00:01:59.62ID:qXtcXItO0108デフォルトの名無しさん
2015/04/04(土) 00:02:51.56ID:o7ivvLL/0109デフォルトの名無しさん
2015/04/04(土) 15:34:05.03ID:4aWMIGVn0110デフォルトの名無しさん
2015/04/05(日) 13:00:59.30ID:AGMqJGUT>> 106 が正しい。そういうマージコミットのことを evil マージという。
名前は悪そうだが、必要悪、といった感じだな。
0111デフォルトの名無しさん
2015/04/05(日) 14:07:33.73ID:Gn5PCEDnこのディレクトリは.gitignoreで除外されています
git pullをしたらdata/を汚さずに最新版にアップデートできるんですが
data/の中身を毎日zipでバックアップを取ってます
data/の中身をgithubとかdropboxにリポジトリ作るとか何でもいいのでgit pushで簡単にバックアップ取れるようにしたいんですが
どうしたらいいのか教えてください
0112デフォルトの名無しさん
2015/04/05(日) 14:40:52.20ID:OOK6R9Sygitはバックアップツールじゃない。
ソースコードのバージョン管理ツールだ。
gitというのは、ソースコードのバージョンに含まれる
機能を管理し、その機能を追加したり、削除したり
何が変わったか確認したり、バグを探したり
そういう事をするために使うツールだ。
コミット毎に内容に意味があって、そのコミットをうまく
活用できるためのツールがgitだ。
日付ごとのデータのバックアップなら別のツールを使いなさい。
0113111
2015/04/05(日) 15:39:11.36ID:Gn5PCEDn分かる方教えてください
0114デフォルトの名無しさん
2015/04/05(日) 15:49:35.25ID:KkKmAC5t0115デフォルトの名無しさん
2015/04/05(日) 17:38:56.13ID:lc+vonxV0116デフォルトの名無しさん
2015/04/05(日) 18:52:26.59ID:OOK6R9Sy間違いだよ。
素人は黙ってな。
0117デフォルトの名無しさん
2015/04/05(日) 20:05:27.42ID:/p4ZvisL0118デフォルトの名無しさん
2015/04/05(日) 22:45:55.43ID:vTKOQGSX老害をからかってちゃ後が面倒だぜ
0119デフォルトの名無しさん
2015/04/05(日) 23:02:46.40ID:JNGfMGjI0120デフォルトの名無しさん
2015/04/06(月) 07:57:53.43ID:/B7mQxeO不具合修正は別 commit にするし。
0121デフォルトの名無しさん
2015/04/06(月) 19:47:22.89ID:opDSS45mブランチAでリモートにpushしてプルリク
ブランチAの作業が残っている状態でブランチB作成
ブランチBで作業
ブランチAで追加コミットを修正してsquashしてリモートにpush -f
ブランチA
2015/4/6 19:00 9deflrm23dfggcfa6emlvfcg4a27ac8aca50fgf5475cg ← pick
2015/4/6 20:00 85jvoutvg9f003afgj54vklgkptkh585jvouft9ufjocjoxf ← squash
この状態でブランチBにしたら、squashしたはずのコミットがログに残っているんです・・・・。
どうしてなんでしょうか?
また、解決策としては、ブランチBでも同じようにsquashするしかないのでしょうか?
0122デフォルトの名無しさん
2015/04/06(月) 20:05:46.15ID:qFLwaw7j>どうしてなんでしょうか?
squashしたからブランチAとブランチBは異なる歴史になった
0123デフォルトの名無しさん
2015/04/06(月) 20:31:20.34ID:opDSS45m0124デフォルトの名無しさん
2015/04/07(火) 02:46:12.38ID:CzyUtHJJブランチBをrebaseすればいいんじゃねーの?
0125デフォルトの名無しさん
2015/04/07(火) 08:01:35.49ID:had6wKpc0126デフォルトの名無しさん
2015/04/07(火) 13:53:47.58ID:1qTlkWNC--ontoありのリベースで、リベースされるコミット群の先頭とリベースの基点のそれぞれを別個に指定する必要がある
0127デフォルトの名無しさん
2015/04/07(火) 13:54:59.96ID:xmsupUvw0128デフォルトの名無しさん
2015/04/07(火) 15:02:13.44ID:biFZC1fKひとりでやってても禁止するべきだ
0129デフォルトの名無しさん
2015/04/07(火) 15:20:32.75ID:1qTlkWNCgitは基本的な仕組みがシンプルだからコミットやブランチがどうやって管理されているかとか理解しやすい
逆にシンプルな故に、その仕組みを理解せずに使い方を覚えようとするととても難しく感じる
0130デフォルトの名無しさん
2015/04/07(火) 15:39:49.42ID:xmsupUvwそうそう、pull ―rebase は内部的に rebase ―onto をやってくれるんだよ
push -f はパスワードとか入れてはいけないものを入れてしまった時とか
リベースし続けているものを意図的に公開したいとか、そういう用途向けかな
共有リポジトリで push -f すると全員に pull ―rebase をお願いしたり、
クローン済みリポジトリを全部チェックする羽目になるのでなかなか大変
0131デフォルトの名無しさん
2015/04/07(火) 16:04:18.37ID:biFZC1fK0132デフォルトの名無しさん
2015/04/07(火) 19:08:37.15ID:had6wKpcありがとうございます。
勉強になりました
0133デフォルトの名無しさん
2015/04/07(火) 21:29:48.07ID:CzyUtHJJ> push -fはやるべきじゃない
> ひとりでやってても禁止するべきだ
またお前かw
問題ないって結論出ただろ。
過去レス嫁。
0134デフォルトの名無しさん
2015/04/08(水) 12:17:07.98ID:mhUDdxzX自分のところにもサーバにもコミットの履歴が残ってるんですよね?
サーバ側はともかく、自分のところにはコミットの履歴をあまり残したくないので
過去1か月分ほどを残してあとは削除したいんですが
どうしたらよいですか?
0135デフォルトの名無しさん
2015/04/08(水) 15:36:13.30ID:uhPXCuzkGitでは最新のコミットは過去のすべてのコミットの情報が存在しなければ意味を持たない構造になっている
0136デフォルトの名無しさん
2015/04/08(水) 16:20:42.00ID:mhUDdxzXマジか
bitcoinもびっくりの冗長性ですな
適当なタイミングで新規プロジェクトにするしかないのかな
0137デフォルトの名無しさん
2015/04/08(水) 16:25:51.16ID:uhPXCuzk新規プロジェクトにしなくてもリベースを使えば過去の歴史をまとめてしまうことができるよ
でもリベースしたら最新のファイルの状態が一緒でもコミットとしては別物だからね
0138デフォルトの名無しさん
2015/04/08(水) 16:41:12.55ID:xOKsYf2d0139デフォルトの名無しさん
2015/04/08(水) 17:04:19.20ID:Uu6WjhLvGCが実行されて未参照になったコミット(歴史書換など)は2週間で消えていく
ブランチ、タグ、リモート、reflog、今チェックアウトしているブランチを
全て削除してgit gc ―prune=nowを実行すれば空のリポジトリに戻るよ
0140デフォルトの名無しさん
2015/04/08(水) 17:54:43.99ID:uhPXCuzkhttp://qiita.com/usamik26/items/7bfa61b31344206077fb
こういう方法(shallow clone)もあるので、それで問題が無ければ使えばいい
0141デフォルトの名無しさん
2015/04/08(水) 18:02:21.54ID:mhUDdxzXローカルにも同じだけ履歴を持つ方が珍しいと思ってました
0142デフォルトの名無しさん
2015/04/08(水) 20:53:19.08ID:gn+rALV1珍しいっていうか、最近VCSは全てそうなんじゃないのかな?
説明しなくてもすぐに思いつくと思うけど、
ローカルに履歴全部を持ってないと都合が悪いからね。
例えば、ネットワークが切断されている状態では
ローカルに持ってない情報を参照できない。
いつバグが入ったか昔をさかのぼって調べるとか、
数年前まで遡って調べることはよくある話。
あと、ネットワークに繋がっていたとしても
いちいちネットワークアクセスしないといけないから
遅いという問題が有る。
デメリットとしては、ディスク容量を多く使用してしまうっていうのがあるけど
正しく使っていれば(つまりExcelファイルや生成済みのバイナリ等を入れない)
テキスト関連のファイルが主になるので、多いくても数十MB程度。
0143デフォルトの名無しさん
2015/04/09(木) 08:21:03.90ID:I6al/A0qネットワークから切断された状態で開発なんてしない
ネットワークは十分高速
バグがいつ作り込まれかを何年も遡って調べるんなんてめったにない
なら、別にローカルに持つ必要はないわな
ただ分散 VCS だとリポジトリをローカルに持つから履歴もローカルにあるってだけじゃね?
そもそもサーバーって言う概念がそぐわないし...
0144デフォルトの名無しさん
2015/04/09(木) 14:58:53.14ID:Y8qSNfSy中央にサーバがほしいんだよな
ローカルのログはローカル、全体のログは全体で
できればそれぞれ別個に管理したい
0145デフォルトの名無しさん
2015/04/09(木) 18:11:05.42ID:ASRAwZv5>>140のshallow cloneを使えよ
分散VCSを使いこなせない社畜にはお似合いだよ
0146デフォルトの名無しさん
2015/04/09(木) 21:06:04.36ID:2p1dJHe9ちったぁマシな反論の仕方覚えようぜ
(俺は)ネットワークから切断された状態で開発なんてしない
(俺の)ネットワークは十分高速
(俺は)バグがいつ作り込まれかを何年も遡って調べるんなんてめったにない
お前がどうするかじゃなくて、お前ではないある人が、
実際にこの問題にぶち当たるだろw
お前解決策は(俺が)頑張るっていう方法であって
ツールの話をしていない。
今はgitというツールの話をしてる。
gitがこの点でツールとして優れているのは間違いだろ。
0147デフォルトの名無しさん
2015/04/09(木) 21:07:03.42ID:2p1dJHe9> 中央にサーバがほしいんだよな
中央とローカルの両方に
リポジトリが有るのがgitだよ。
中央のサーバーしかないものより
優れている。
0148デフォルトの名無しさん
2015/04/09(木) 23:13:32.45ID:VwJ1oW5m0149デフォルトの名無しさん
2015/04/10(金) 11:00:44.87ID:vGbO0SDK0150デフォルトの名無しさん
2015/04/10(金) 11:11:00.15ID:VmzPrHvp0151デフォルトの名無しさん
2015/04/10(金) 11:13:09.89ID:vGbO0SDKやっぱ迷惑かな
pullとかpushとかmergeとか使う機会がない・・・
0152デフォルトの名無しさん
2015/04/10(金) 11:20:04.73ID:vGbO0SDKローカルで練習します
0153デフォルトの名無しさん
2015/04/10(金) 12:13:18.23ID:JdCgojns自分のアカウントでやる文には問題ないが
複垢でフォークしたりプルリクした時に赤BAN食らったことある
メールで俺はスパムじゃないって伝えれば凍結解除される場合もあるそうだが俺は解除されなかった
凍結された場合はサービスを利用することはできるが他人からは自分のアカウントが見えなくなる
アカウント一個で自分のリポジトリに対してプルリクして練習するのは問題ない
0154デフォルトの名無しさん
2015/04/10(金) 12:27:24.48ID:vGbO0SDKそんなペナルティがあるの?
完璧に廃案ですね
0155デフォルトの名無しさん
2015/04/10(金) 13:05:04.84ID:qlTKx4Z2サーバーのつもりのディレクトリにbareのcloneをつくる。
練習用ディレクトリでremote set-urlでサーバーのつもりディレクトリを設定。
pushなりpullなりで遊ぶ。
別のディレクトリにサーバーのつもりのリポジトリをclone。
pushなりpullなりで遊ぶ。
これで複数箇所からのアクセスの練習ができる。
0156デフォルトの名無しさん
2015/04/10(金) 19:39:02.96ID:vGbO0SDKそれいいね、やってみます
皆さんありがと
0157デフォルトの名無しさん
2015/04/10(金) 21:15:19.55ID:+vp4nrUW0158デフォルトの名無しさん
2015/04/10(金) 21:27:24.79ID:mOGWHCum>>144
ありがとう。でも
gitのバージョンが古いので、shallow cloneだとそのあと
サーバにpushできなくなっちゃうんだよね
0159デフォルトの名無しさん
2015/04/10(金) 22:08:37.43ID:e5/HDRWr仕事でどうしても欲しい機能があるのにバージョンを上げられないとかひどい職場だな
0160デフォルトの名無しさん
2015/04/10(金) 22:36:50.81ID:/m+5Da0Aお前がどんな環境にいるのか知らんが
> ネットワークから切断された状態
> もしくはネットワークが低速
な環境で開発してる奴がどんだけいるんだ?
> gitがこの点でツールとして優れているのは間違いだろ。
落ち着いて、その真っ赤な顔を何とかしろよw
0161デフォルトの名無しさん
2015/04/10(金) 23:46:33.56ID:ka156RZjさすがにLANは繋がってるよな
0162デフォルトの名無しさん
2015/04/11(土) 01:13:48.91ID:VeSSjpYXだから人の話をするなって
そんなのその人の立場で変わる。
あえて言えば、電波の悪い
スタバでドヤリングとかあるだろ。
論点をすり替えずにツールの話をしろ。
0163デフォルトの名無しさん
2015/04/11(土) 01:15:49.28ID:jprZbhPvネットワークから切断された状態ってのは
ある人には有るんだよ。
0164デフォルトの名無しさん
2015/04/11(土) 01:21:30.62ID:5CJjlwliなぜリポジトリを奇妙な状態で運用したいのか、
まで立ち戻って質問した方がヨサゲ
0165デフォルトの名無しさん
2015/04/11(土) 08:53:53.30ID:aih7mS+Y人じゃなくて環境だろ
そもそもネットワークとか言い出したのは >>142 だし
>>163 みたいな状況がよく引き合いに出されるけど、そんな状況滅多にないだろ
飛行機でさえ WiFi 使えたりするしな
0166デフォルトの名無しさん
2015/04/11(土) 11:28:04.71ID:jprZbhPvだからそんな状況がめったにないのは、
お前という人の話だろ。
お前ん中ではそうなんだろうなの話をしているだけって気づけよw
0167デフォルトの名無しさん
2015/04/11(土) 11:29:34.47ID:jprZbhPv3G経由でVPNでつないで、SVNでブランチ切り替えとか
したくないわけでw
0168デフォルトの名無しさん
2015/04/11(土) 11:48:01.05ID:LbK5Z9ys0169デフォルトの名無しさん
2015/04/11(土) 11:48:46.02ID:aih7mS+Y> お前ん中ではそうなんだろうなの話をしているだけって気づけよw
そのまま返すわ w
そもそも、今時な会社で社外で開発とか無職の発想としか思えん
0170デフォルトの名無しさん
2015/04/11(土) 11:53:57.86ID:aih7mS+Ygit はローカルにリポジトリ持ってるからネットワークに繋がってなくてもコミットできる
特定の場合に便利だが、社内だとほとんど意味ない
ネットワーク繋がないとほとんど仕事ならないから
0171デフォルトの名無しさん
2015/04/11(土) 12:05:11.81ID:LbK5Z9yssvnのコミットに相当するのはgitのpushでしょ
0172デフォルトの名無しさん
2015/04/11(土) 15:03:59.96ID:aih7mS+Y> svnのコミットに相当するのはgitのpushでしょ
そう言う言い方するなら、ネットワークが必要となる状況が違うってこと
svn はネットワークに繋がってないとほぼなにもできないから
0173デフォルトの名無しさん
2015/04/11(土) 15:43:26.04ID:ZDatv+YPmasterブランチでコミットしたファイルを修正したいんです。
いったんmasterブランチに戻ってcommit --amendした場合、どうやってその更新内容をtestブランチに取り込めばいいですか?
0174デフォルトの名無しさん
2015/04/11(土) 16:28:50.45ID:jprZbhPv> そもそも、今時な会社で社外で開発とか無職の発想としか思えん
これだけオープンソースがたくさんある時代に何いってんの?w
え? お前のコード、極秘なん?
お前ん中の世界は狭いですねw
0175デフォルトの名無しさん
2015/04/11(土) 16:35:25.60ID:E+mDe4Gomasterの更新をtestに取り込みたいのなら、普通はmergeするだろ
0176デフォルトの名無しさん
2015/04/11(土) 18:06:59.33ID:aih7mS+Yオープンソースがどう関係するのか知らんけど、仕事のソースをリポジトリごと社外に持ち出すとか普通ないだろ
社外秘って言う言葉も知らんようだし、マジで無職なのかもな w
0177デフォルトの名無しさん
2015/04/11(土) 18:53:07.92ID:vaK5h5cHGPLや趣味の開発と、普通の会社での開発は違うから、
自分が書いたコードが極秘になるのは良くあることかと
0178デフォルトの名無しさん
2015/04/11(土) 19:01:20.97ID:9epD2/0o仕事の持ち出しが自由だとしてもそれがメリットに感じるのは若い内だけだよ
年取ってきたらそんなスタイルで仕事に向き合ってもまずいい事は無い
プライベートと仕事はこれでもかって程に線を引いておいた方が
最終的な効率が上がったりもするし
0179デフォルトの名無しさん
2015/04/11(土) 19:29:20.47ID:RWhwDI1tつまり需要はあった。
今時とか傾向の話しても、需要がゼロになるわけじゃない。
嫌な人はsvnでも何でも勝手に使っとけという話。
0180デフォルトの名無しさん
2015/04/11(土) 21:19:45.95ID:aih7mS+Y> つまり需要はあった。
そんな需要がどれ程あるんだ?
って話なのは理解できてる?
0181デフォルトの名無しさん
2015/04/11(土) 21:28:56.04ID:4o2Mh2tFネットで偉そうにしなきゃ死んでしまう病気にでもかかってるんですか?
0182デフォルトの名無しさん
2015/04/11(土) 22:31:52.69ID:RWhwDI1tお前が無理矢理そういう無意味な話に持っていきたいのはわかった。
サードパーティ製だったのが根幹に含まれたものが普及したんだから、需要わかるだろ。
0183デフォルトの名無しさん
2015/04/11(土) 22:42:29.28ID:d2KPF5yqローカルにコミット履歴をあまりたくさん持ちたくない
現状普通にやってると、自分のワークにも過去のコミットが
全部入っちゃうのでなんとかしたい
■ このスレッドは過去ログ倉庫に格納されています