トップページ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/
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の仕様はコンパイルする言語向けって感じで
更新したスクリプトファイル等だけを借りてるサーバーにアップロードしたいという需要には応えられない感じだな
需要としてはアップロードに通信量制限があるとかそういう感じ稀なケースくらいだろうからしかたないか
0602デフォルトの名無しさん2014/05/22(木) 07:30:00.04ID:O49mbUbG
>>601
UNIXの世界ではそういうのはrsyncを使うからね
タイムスタンプじゃなくてMD4を用いて更新チェックしたり
更新の転送もファイル全体じゃなくて変更部分だけを転送して通信量を最小化する
0603デフォルトの名無しさん2014/05/22(木) 08:00:54.05ID:JO7c/VLA
なるほどね
簡易なftp通信ツールじゃなく同期ツールを使うのか
0604デフォルトの名無しさん2014/05/22(木) 08:43:15.77ID:Md3S+Ay9
gitとgithubは(media)wikiとwikipediaのような関係かw
0605デフォルトの名無しさん2014/05/22(木) 09:52:08.98ID:8poss9h8
ふむ
0606デフォルトの名無しさん2014/05/22(木) 17:52:05.88ID:bnXb1Wgc
>>604
それはちがうね
wikipediaはmediawikiそのものだから
0607デフォルトの名無しさん2014/05/22(木) 18:25:23.64ID:uwnOnEuc
そういうこと言ってんじゃない
0608デフォルトの名無しさん2014/05/22(木) 18:48:58.03ID:2qkQcCiJ
>>601
>VSCの仕様はコンパイルする言語向けって感じで
>更新したスクリプトファイル等だけを借りてるサーバーにアップロードしたいという需要には応えられない感じだな
いや全然違うと思う

VCSが言語を選ぶとかじゃなくて、VCSに向かない作業をやってるのがダメなんでは?
そういうのは専用のデプロイ・デリバリツールを選ぶべき。
上の方で話題に出てた「ビルド時にリビジョン埋め込みたい」みたいな要望も
VCSじゃなくてビルドツール等が行うべき領域。

バージョン管理に向かない言語とかは特にないと思うな
ソースコードそのものがバイナリとかいうのがあるなら分からんけど・・・


あと細かい指摘ですまんがVCSのタイポだよな?
しばらくググって悩んじゃったじゃねーか
0609デフォルトの名無しさん2014/05/22(木) 18:54:11.54ID:TFAWZMIx
>>608
>ソースコードそのものがバイナリとかいうのがあるなら分からんけど・・・

Piet言語のことか
0610デフォルトの名無しさん2014/05/22(木) 19:22:23.11ID:f81WwqvH
bitbucketが作ったstash3.0ってなに?
0611デフォルトの名無しさん2014/05/23(金) 18:37:12.92ID:pr4rIIld
developで開発中、急きょ必要がありmaster(stable)からfixブランチを切り修正masterにマージ
developでは弄ってるがfixでは弄って無いファイルの更新日時まで変更される(これはdevelopから切り替えた時点でおきるが)
ファイル更新日時だけでアップロードしようと思うと無理がある
0612デフォルトの名無しさん2014/05/23(金) 20:49:08.96ID:3CistgHw
とうとうgit 2.0が
0613デフォルトの名無しさん2014/05/24(土) 09:01:11.84ID:9qFFfmjf
gitchainを知らなくていいのって小学生までだよね〜
0614デフォルトの名無しさん2014/05/24(土) 11:32:04.32ID:4TNjChUa
>>601
コミットしたものをサーバーにアップロードしたいのか?
コミットする前にテストしたりするためにサーバーにアップロードしたいのか?どっちかよくわからないけど

前者なら作業用のリポジトリをクローンしたものをローカルに用意しといてpullしてxcopyすればいいし
後者ならムダだと思うかもしれないけど今の挙動のままが正解だと思う
checkoutしてタイムスタンプが更新されたファイルは転送されるべきなんだよ
0615デフォルトの名無しさん2014/05/26(月) 16:40:41.53ID:E/fV2vLO
git checkout -b topic_foo HEAD
git push origin topic_foo
というのをよくやるんですが、git push origin topic_foo をもっと簡潔にできますか?
具体的には topic_foo を省略したい。
初審者質問でごめんなさい!
0616デフォルトの名無しさん2014/05/27(火) 03:17:32.65ID:Ha9yhWBf
バッチにしろ
0617デフォルトの名無しさん2014/05/27(火) 07:23:22.69ID:CjDrbeGH
>>615
alias p="git push origin topic_foo"
0618デフォルトの名無しさん2014/05/27(火) 08:25:02.04ID:aQ+mTKAT
>>615
git config push.default current
自己責任で使え
0619デフォルトの名無しさん2014/05/27(火) 09:36:32.14ID:M7xuRdW4
>>616
必ずしも連続して実行するわけではないので、バッチでない方法がいいなあ。
git checkout はこれでいいと思うので、git push origin topic_foo が簡潔になるよい方法があれば教えてください。
(topic_fooが、実際にはけっこう長い名前なので、入力するのがめんどくさい)
0620デフォルトの名無しさん2014/05/27(火) 11:40:51.59ID:empqvUFR
>>615
> git checkout -b topic_foo HEAD
> git push origin topic_foo
> というのをよくやるんですが、git push origin topic_foo をもっと簡潔にできますか?
> 具体的には topic_foo を省略したい。

その前にHEADを省略しろよw

git checkout -b topic_foo
git push origin topic_foo
0621デフォルトの名無しさん2014/05/27(火) 11:41:37.17ID:empqvUFR
> (topic_fooが、実際にはけっこう長い名前なので、入力するのがめんどくさい)

TABで補完すれば良い
0622デフォルトの名無しさん2014/05/27(火) 12:03:49.03ID:aQ+mTKAT
>>618を設定しとけば、topic_fooを省略してgit push originでいける
remoteがoriginならこれも省略できるから、git pushでいい
0623デフォルトの名無しさん2014/05/27(火) 16:10:42.92ID:Ha9yhWBf
バッチすら作れないのか(笑)
619がしょぼいのか619が使ってるosがしょぼいのか(笑)
うちのvistaならファイルすら不要でランチャーにいくらでも作れるんだが(笑)
0624デフォルトの名無しさん2014/05/27(火) 18:36:54.81ID:CjDrbeGH
vistaでなければ、バッチなんてめんどくさいもの作る必要すらない。
0625デフォルトの名無しさん2014/05/27(火) 19:21:12.08ID:Ha9yhWBf
いやいや面倒でもなければターミナルに切り替える必要もなくただボタン一つ押すだけだから(笑)
0626デフォルトの名無しさん2014/05/27(火) 21:50:46.03ID:x1QZTJwI
必ずしも連続して実行する訳ではない、と言われてるのに脳内で作れないって決めつけちゃうのヤバいな
これからの日本社会に必要な人材だ
0627デフォルトの名無しさん2014/05/28(水) 02:29:31.61ID:JqBWJ9I7
>>625
ボタン押すとかめんどくさすぎる
0628デフォルトの名無しさん2014/05/28(水) 06:37:21.38ID:3jHSpg0i
バッチってもしかしてブランチ毎に作るんか?w
0629デフォルトの名無しさん2014/05/28(水) 09:27:53.43ID:CrCNX+z2
主となるブランチが1個なら別にいいだろ
0630デフォルトの名無しさん2014/05/28(水) 09:47:28.15ID:3jHSpg0i
元の質問はトピックブランチの話をしてるんだから
主となるブランチが1個とかじゃないだろw
0631デフォルトの名無しさん2014/05/28(水) 10:02:33.99ID:TQzWSZnP
トピックブランチっていくつあるの?
0632デフォルトの名無しさん2014/05/28(水) 10:44:05.28ID:+VRaMc3N
そこからかよw

無知が提示する案ほど
迷惑なものはないよなw
0633デフォルトの名無しさん2014/05/28(水) 12:13:27.82ID:zJ+uQAQa
でも結局>>618でFAだろ?
0634デフォルトの名無しさん2014/05/28(水) 13:56:51.68ID:3jHSpg0i
作ったトピックブランチを確実にpushする前提なら
(トピックブランチ作ったけどやっぱpushするのやめたーってのが無い前提なら)
push.default=currentにしなくてもpush.default=simpleで(2.0からのデフォルト)
ブランチ作ってすぐgit push -u origin topic_fooをやっとけばいい
それ以降はgit pushだけで済む
0635デフォルトの名無しさん2014/05/28(水) 15:03:48.65ID:ioEFfNM4
コミットの回数とタグの数をそれぞれ取得する方法おしえて
0636デフォルトの名無しさん2014/05/28(水) 15:29:40.52ID:3jHSpg0i
コミットの回数
git rev-list --all --no-merges | wc -l

タグの数
git tag | wc -l
0637デフォルトの名無しさん2014/05/29(木) 00:23:03.07ID:RABmUlyV
git add .
git commit -m "前と同じ"
git rebase -i
git push origin <branch>
git rebase master
git push -f origin <branch>



今この状態で、流石にメッセージが前と同じではまずいので直前のコミットとsquashしたいのですが
git rebaseしたらこんなこと言われてしまいます

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details

git rebase <branch>

どうすればいいのでしょうか
0638デフォルトの名無しさん2014/05/29(木) 00:35:18.93ID:Kg1bZGF5
>公開リポジトリにプッシュしたコミットをリベースしてはいけない
>
>この指針に従っている限り、すべてはうまく進みます。もしこれを守らなければ、あなたは嫌われ者となり、友人や家族からも軽蔑されることになるでしょう。
0639デフォルトの名無しさん2014/05/29(木) 00:40:14.69ID:RABmUlyV
そうなったらまずはgit pushを取り消せばいいのでしょうか?
0640デフォルトの名無しさん2014/05/29(木) 00:59:18.64ID:erdIUEhx
>>636
gitってこう引数がおおくてわけわかめ
コマンドを増やしてgit commit-countみたいにわけてほしい
0641デフォルトの名無しさん2014/05/29(木) 01:05:45.72ID:bLCAImAr
wcは引数じゃないだろ
0642デフォルトの名無しさん2014/05/29(木) 01:25:09.99ID:/G0dYxTO
unix使いの大好きなシェル芸
0643デフォルトの名無しさん2014/05/29(木) 02:00:42.20ID:yg8neWnh
>>640
つ alias
0644デフォルトの名無しさん2014/05/29(木) 07:45:11.40ID:QPTL35Py
>>641
シェルの引数じゃん

とか屁理屈を言ってみる
0645デフォルトの名無しさん2014/05/29(木) 08:39:11.17ID:A6IQETei
シェルの引数ってなんだ?wcはただのコマンドだぞ
0646デフォルトの名無しさん2014/05/29(木) 08:42:01.31ID:dDbteSWz
>>645
シェルへの引数と言いたかったんじゃないの?
0647デフォルトの名無しさん2014/05/29(木) 08:45:00.26ID:A6IQETei
シェルへ引数なんて渡してないし
0648デフォルトの名無しさん2014/05/29(木) 09:10:15.42ID:A6IQETei
>>637
git rebaseの引数省略しすぎ
0649デフォルトの名無しさん2014/05/29(木) 10:02:11.97ID:bNL2V7UE
wcはトイレだわな
0650デフォルトの名無しさん2014/05/29(木) 11:00:25.25ID:QPTL35Py
>>647
はいはい



人と会話できるように頑張ってね (ハート
0651デフォルトの名無しさん2014/05/29(木) 11:05:28.42ID:efebR6WC
Git 2.0.0 リリース
https://github.com/git/git/releases/tag/v2.0.0
0652デフォルトの名無しさん2014/05/29(木) 11:14:25.76ID:1+PX4fUT
msysgitのv2.0.0はまだまだ先かな・・・
0653デフォルトの名無しさん2014/05/29(木) 12:18:16.52ID:JkDx0bBd
>>636で多いって言ってる人って、
リダイレクトやパイプって使ったことこないの?
Linuxを使う上での基礎。初心者レベルのことなんだが。

自己紹介よろしく。Linuxつかえませーんという自己紹介をしてくれw
0654デフォルトの名無しさん2014/05/29(木) 12:31:49.12ID:kyPc1SKC
それ「おまえが気持ちよくなれる」以外の何のメリットがあるんだ
0655デフォルトの名無しさん2014/05/29(木) 12:49:31.76ID:LpHrGA0w
シェル芸とかって言って煽る方もなんだかな。
commit-countとかどんどん増やしていってもきりがないし、どうしても専用コマンドを作らないといけないってもの以外は出力をパイプで処理とかでいいじゃん。
まあ>>635みたいな無能そうな奴の質問には答えないほうがいいのかもしれないな。答えても「わけわかめ」とか言われるんだからw
0656デフォルトの名無しさん2014/05/29(木) 13:45:23.70ID:1vfDNvKU
コマンドが多機能になっても、単純なコマンド組み合わせた方がわかりやすいから、ついついパイプ使っちゃうな。
0657デフォルトの名無しさん2014/05/29(木) 17:55:22.19ID:urb8vROk
githubとかでもなんでもsshを使ってgitする方法が安全って言われているじゃないですか
んでsslキーっていうんですかid_rsaっていうファイルありますよね
こういうのをdropboxに置いて管理するのは間違ってますか?
0658デフォルトの名無しさん2014/05/29(木) 18:38:10.80ID:A6IQETei
>>657
sshのid_rsaファイルのことをsslキーなんて言わない
秘密鍵のid_rsaファイルは普通パスフレーズをつけて暗号化してあるけど、それでも他人から見えるとこに置くべきではない
dropboxは厳密に他人から見えない場所とは言い切れない
その鍵で何を管理してるかで鍵の取り扱い方針は決めるべき
0659デフォルトの名無しさん2014/05/29(木) 19:01:58.24ID:dDbteSWz
>>658
暗号化して置いておけばよくね?
0660デフォルトの名無しさん2014/05/29(木) 19:08:28.29ID:urb8vROk
まじっすか
なんかdropboxで共有したらどの環境からでも接続できるよってブログを見かけたんですけどやっぱりセキュリティ的によくないですよね
0661デフォルトの名無しさん2014/05/29(木) 19:14:49.64ID:A6IQETei
>>659
どの程度の強度の暗号化をするかによるね
とりあえず10文字未満のパスフレーズ程度じゃあまり役に立たない
0662デフォルトの名無しさん2014/05/29(木) 19:16:30.06ID:Jpnwpx9o
安全のために鍵かけるなら鍵の扱いも安全にしろよw

というかid_rsaってPC外に出すもんじゃないんじゃないの?
0663デフォルトの名無しさん2014/05/29(木) 19:17:11.95ID:Jpnwpx9o
間違えた
×というかid_rsaってPC外に出すもんじゃないの?
○というかid_rsaってPC外に出さないもんじゃないの?
0664デフォルトの名無しさん2014/05/29(木) 19:21:19.75ID:yBXBS2Lg
どうしても移動させるときは暗号化したUSBメモリ
06656602014/05/29(木) 19:41:02.34ID:H5LJYYF1
一応パスワードは70文字にしています
パスワードはkeepassに保存していて、パスワードが保存されているデータベースと鍵ファイル?の2つもdropboxで共有しようと思ってました
0666デフォルトの名無しさん2014/05/29(木) 19:48:26.76ID:A6IQETei
>>665
パスワードが保存されているデーターベースが一緒の場所に置いてあるなら、
その70文字に意味無くて、keypassのマスターパスワードの強度が問題になる
0667デフォルトの名無しさん2014/05/29(木) 19:50:15.90ID:1vfDNvKU
>>659
オンラインの認証は、警備員の見てる前で金庫の暗証番号入力するようなもの。
dropboxや情報漏洩などで盗まれた暗号化された情報は、金庫を持ち帰って機械なども使って開けようとするもの。
警備員の見てる前でそんなことしたら捕まるが、持ち帰ればやりたい放題。
0668デフォルトの名無しさん2014/05/29(木) 19:53:24.06ID:H5LJYYF1
>>666
マスターパスワードは4文字にしてます
0669デフォルトの名無しさん2014/05/29(木) 19:58:00.86ID:A6IQETei
>>668
最悪です。
■ このスレッドは過去ログ倉庫に格納されています