[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/07 21:30 / Filesize : 266 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Git 8



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/

560 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 15:15:54.97 ID:a+Iqcg5c.net]
>>547,548
質問者はステージングされたファイルを削除しても
インデックスに残り続ける事を不思議に思った、と言いたいんでしょ
コミットとか操作の意図とかはどうでもいい話だと思うよ

561 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 19:36:58.50 ID:N9inECXp.net]
ワークとステージが別と理解すべし

562 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 20:03:40.12 ID:ClnHzXXo.net]
>>554
実験してるだけってことね

563 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 20:04:06.07 ID:vrX/dLqF.net]
ワーキングステージックス?

564 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 22:19:20.44 ID:mqmIxcJs.net]
>>551
git rm --cachedしたいの?

565 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 23:29:54.21 ID:jnh1VUPi.net]
>>551
rmとはgit rmのことなのか普通のrmなのか。

まあそれはどうでもいいとして、

・ファイルを修正する → その修正内容をgit addする。
という手順がある。これと同じで、

・ファイルを削除する → その修正内容をgit addする。
ということも出来る。削除したのにaddするとは面白いね!

まあ、git addというのが「ファイルの追加」ではなく
「変更点の登録」と考えれば理解できるだろう。

なお、今のgitではファイルを物理的に削除したものをgit addするときには、
-Aオプションが必要だけどgit 2.0から不要になるとのこと。

俺はgit add -uで変更されたファイル(削除含む)を全て登録することが多いんだが。

566 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 02:34:16.48 ID:ZaDeQqIr.net]
>>549の手順を具体的に教えてほしい
ブランチ切ればいいの?

567 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 03:00:01.91 ID:CihRTndi.net]
>>560
いろんなやり方があるんじゃないの?
ワークツリー上の変更の一部だけをコミットしたいなら add -p 使えばいいし
stash saveでワークツリー上の変更を一旦退避してから、別の修正をコミットして、
その後stash popで退避した変更をワークツリーに戻して元の作業に戻るとか

568 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 10:36:13.48 ID:rHQmp5Mm.net]
コミットしてしまう前か、してしまった後かによって違うね。
コミットしておらず、ファイルの一部分のみをコミットしたいのなら
git add -pだろう。

コミットしてしまった後で、コミットの順番を
変えるだけで済むならrebaseすればいいし、
そうでないのなら、どういう状態でどういうことをしたいかで
いろいろやりかたはあるだろう。

ブランチは作ってもいいけど、小さいなら作る必要はない。
大きな修正がある場合は、過去の何処かでブランチ切って
そっちにマージやcherry-pickしていったほうが早いかもしれない。



569 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 16:48:29.50 ID:CihRTndi.net]
またGitの解説本だ

www.amazon.co.jp/dp/4863541465
開発効率をUPする Git逆引き入門

570 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:13:12.82 ID:EOaK1FG8.net]
何冊も解説本が必要な時点で終わっとる

571 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:17:40.87 ID:rHQmp5Mm.net]
何冊も解説本が販売されると、
なんで終わることになるんですか?
多分C言語なんか、一番解説本が多いと思ういますけど?

572 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:21:37.93 ID:YKmk2JvD.net]
まあそれだけ多くの人が使い始めてるわけだ

573 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:27:48.29 ID:rHQmp5Mm.net]
ちょっとある仮説を思いついたから、Amazonでバージョン管理システムの
解説本がどれくらいあるのか調べてみたよ。

CVSによるオープンソース開発 (2002/6)
実用CVS ジェニファー ベスパーマン (2003/12)

「Subversion」解説書 (2004/12)
入門Subversion (2006/7)
Subversion実践入門:達人プログラマに学ぶバージョン管理 (2007/4/21)
Subversionハンドブック (2008/5/30)
実用 Subversion (2009/7/27)
Subversion入門 (2010/5/26)

入門Mercurial (2009/1)
入門TortoiseHg + Mercurial (2013/2) (作者同じなので上のやつの改訂版かも)

入門git (2009/8/12)
入門Git (2009/9/19)
実用Git (2010/2/19)
Gitによるバージョン管理 (2011/10/25)
Gitポケットリファレンス (2012/7/10)
わかる Git (2012/12/7)
アリスとボブのGit入門レッスン (2012/9)
開発効率をUPする Git逆引き入門 (2014/4/8)

ちなみに、仮説っていうのは、本の発行年から、どのように世の中が
移り変わっているかがわかるんじゃないかってこと

574 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:28:55.56 ID:TC2j70a9.net]
Pro Gitでだいたい事足りると思うんだけどなあ

575 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 18:15:28.83 ID:oYfix9gh.net]
入門書
リファレンス
オライリー

本格的に使うならこれは買ってもおかしくない

576 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 10:47:49.25 ID:iF7/E7LV.net]
>>569
入門書ってどれだよ・・・

577 名前:デフォルトの名無しさん mailto:sage [2014/03/17(月) 14:16:02.50 ID:ywio8KhI.net]
>>567のだとGitポケットリファレンス以外は全部入門書でいいんじゃないの

578 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 02:53:47.93 ID:g+2MOTll.net]
1topi.jp/curator/fushimik/1303/04/103271
gitでDropBoxみたいな事できるそうなんですが
Rubyのスクリプトみたいです

WindowsでMyDocmentを自動同期したいなら
起動時に自動で起動すればいいの?

やりかたわからないけど



579 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 03:07:20.21 ID:OqCH9dx5.net]
素直にDropboxを使うか、Dropboxクローンが
ほしいならownCoudとかを使ったほうがいいよ。

580 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 13:54:35.23 ID:zGGXKiEK.net]
>>572
これ見てガンバレ
https://github.com/kitak/ohajiki/blob/master/README.md

581 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 14:30:23.66 ID:A9Mq7R78.net]
>>572
・タイムスタンプが同期されない
・バイナリ差分転送できない
・テキストであっても、かなり低速

582 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 14:42:56.09 ID:2bqnpC5d.net]
バージョン管理するテキストデータだけ専用のフォルダに分けて共有フォルダと別管理するべき

583 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:15:27.00 ID:Wj+qHZ+v.net]
gitでpullとかcloneするときにタイムスタンプも戻したいんだけど
どのオプションだっけか

584 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:24:01.23 ID:o89Np3ew.net]
パソコンの日付を変える。

585 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:42:33.56 ID:QY3RInUB.net]
>>577
Gitはファイルのタイムスタンプを保存していない
コミットした時間は保存してる
シェルスクリプトとか使えば、ファイルのタイムスタンプをコミットした時間に変更できる

586 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 15:06:12.02 ID:LwVxNWuC.net]
Git神
Subversionはじだいおくれ糞

587 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 18:40:00.27 ID:nryWnJ89.net]
gitはなんで空ディレクトリが扱えないんだよ
偏屈すぎるだろ
それとも実装できない理由でもあるのか?

588 名前:デフォルトの名無しさん [2014/03/23(日) 22:16:32.16 ID:hT/roAz6.net]
ファイルじゃなくて内容を管理しているから、かなあ(てきとう)



589 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:20:33.95 ID:/rUHJ76N.net]
内容を管理しているならさ、もう少しマシなdiffをだせないものかな?
どうせ外部diffを呼んでるだけなんだろうけどさ、
たとえば長い関数の一部を取り出してを他のファイルに移動した時とか、
ちゃんとそれがわかるようなdiffを出して欲しいんだけど。

590 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:24:28.99 ID:Cwtmew+7.net]
>>583がもっとましなdiff作ってるってさ

591 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:29:18.73 ID:SSYwKPLD.net]
>>583
期待してるよ

592 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:44:05.05 ID:/rUHJ76N.net]
>>584-585

バージョン管理システムはバージョン間の違いの「目的」を理解するべき

diffは テキストファイルにもバイナリファイルにも使える。
だがdiffにも難点があって、ちとアホなのよね。 diffがやってるのは
2つのバージョンを見比べて、単に違いを出してるだけ。

もっとましなdiffでは変更の結果だけでなく
変更の「目的」まで理解する。

たとえばツールを使い、 あるクラスに対してメソッドの抽出リファクタリングを行ったとする。
変更を加えたのはそこだけだ。 現状のツールはプログラム内のテキストの違いは分かる。
だけど、これがリファクタリングを行ったことまでは分からない。 変更の前後でdiffを調べてみると、
変更があったことは伝えてくれるが、 これはリファクタリングなんだと伝えるようなことはしてくれない。

これが今のdiffの欠点で、将来はどういう目的で変更したかまで把握できるdiffができる。

593 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:44:22.99 ID:oiqURFTj.net]
空のディレクトリを共有しようとする方がよっぽど偏屈に見える。それって必要?

594 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:47:02.93 ID:SSYwKPLD.net]
>>586
だからその「目的」を解釈してくれるエンジンを>>583が作るんでしょ?

595 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:50:51.21 ID:/rUHJ76N.net]
>>588
単に今のdiffの欠点と、将来はどうあるべきかを言っているだけだけど?
なに? 問題点をいっちゃダメなの?

596 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:51:53.66 ID:/rUHJ76N.net]
意味を理解するdiffっていうのは
優れたアイデアなんだけど
それぐらい、わからないのかな?

597 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:52:05.60 ID:SSYwKPLD.net]
言い出しっぺやるの法則を知らない国の人か

598 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 22:52:51.54 ID:oiqURFTj.net]
>>583
git diff -C 試した?



599 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:01:31.90 ID:YZGI/DRg.net]
>>590
そういうことしたいなら、どう考えてもそのリファクタリングを行ったツールと連動した方が確実で簡単だと思う。

600 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:06:27.71 ID:9GdGP9ts.net]
>>590
意味を理解するdiffとか、Git自体にそんなもの組み込む必要はないよ
おなじみの git-scm.com/book/ja/ の7章読んできてくれ
「7.1 Git のカスタマイズ - Git の属性」の「外部のマージツールおよび Diff ツール」

601 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:11:29.16 ID:/rUHJ76N.net]
あー、お馬鹿なお前らに名乗るの忘れていた。

俺、Martin Fowlerなんだよね。有名人だから知ってるよね?

SemanticDiff
martinfowler.com/bliki/SemanticDiff.html

ここで>>586と同じことを英語で書いてるから、
俺の言ったことが理解できない、馬鹿なことを言ってると思うのなら
英語を読むといいよw
あと無知はぐぐれ。

602 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:14:09.37 ID:SSYwKPLD.net]
>>595
いやだから最初から期待してるって言ってるじゃん。
はやく完成するといいね。

603 名前:デフォルトの名無しさん [2014/03/23(日) 23:17:10.68 ID:74vZT6SV.net]
>>595
Martin Fowlerさん降臨記念カキコ

604 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:36:31.15 ID:T9zWShXS.net]
結局何が言いたいんだろう

605 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:43:02.22 ID:oiqURFTj.net]
diff、取ってみようか。
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?SemanticDiff

606 名前:デフォルトの名無しさん [2014/03/24(月) 01:18:39.83 ID:0ol5+0pg.net]
>>587
普通に必要だろ。git使いだけど不満に思っているよ。
もう少し想像力を働かせて欲しいものだな。

607 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:25:10.36 ID:PVohiAF8.net]
>>600
empty_dir/.gitignoreに
!.gitignore
って書くんじゃだめなんすか

608 名前:デフォルトの名無しさん [2014/03/24(月) 01:26:55.61 ID:0ol5+0pg.net]
>>601
いや、それはちょっとダサいでしょ。
仕方なく、そうやっているんだけどさ...



609 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:28:53.09 ID:PVohiAF8.net]
おっと
*
が抜けた
どちらにしろ空のディレクトリを空のまま使うことなんて有り得ないんだから
.gitignoreは必要になるんじゃないのかなあ。
まあgit_root/.gitignoreにまとめて書きたいという需要もあるのか。

610 名前:デフォルトの名無しさん [2014/03/24(月) 01:34:37.43 ID:0ol5+0pg.net]
>>603
開発スタイルによるけど、たいていの場合はディレクトリ構成って設計段階から決まるから、先に作っておきたい。
仕方なく.gitkeepとか.deletemeとか使っているが、コレジャナイ感がある。
ちなみに、.gitignoreは意味が違うような気がしていて使ってないです。

611 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:56:40.05 ID:k2bvJYlJ.net]
>>600
gitでファイルのパスが管理されてるのに、パスの情報しか持たないディレクトリを管理したいだなんて、
ファイルシステムへの理解不足かプロジェクトのマヌケさを疑うね。

コードがなにかファイルをそのディレクトリに放り込む手筈になってるのなら
ディレクトリの作成も一緒にやってしまえばいい。

612 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 02:07:55.26 ID:k2bvJYlJ.net]
>>604
そういうのはせめてREADME入れといてよ…

613 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 06:19:10.58 ID:cXsOtx6k.net]
svnから取得したプロジェクトをgitに登録しようとしてるんだけど
trunkフォルダにあるデータをそのままルートにコピーして、trunkフォルダ削除しちゃった

trunk-[フォルダいっぱい]
branches-[フォルダいっぱい]
tags-[フォルダいっぱい]

これを↓

[フォルダいっぱい]
branches-[フォルダいっぱい]
tags-[フォルダいっぱい]

こんな感じ

こうするとgit-svnで引っ張ってきた過去の履歴と比較できなくなるって言われたんだけど
今から治す方法ない?

614 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 07:39:05.71 ID:coYvviPW.net]
最初っからtrunk込みのパスをgit-svnに渡しとけ
折角svnはサブディレクトリ単位でもリポジトリ扱いできるんだから

615 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 07:40:05.59 ID:coYvviPW.net]
或いはgit svn -sか。

616 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 09:59:32.00 ID:l/qxp3d1.net]
>>606
この文脈でREADMEって、何を書く想定なんだ?

617 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 12:26:30.45 ID:k2bvJYlJ.net]
>>610
なんでこの空ディレクトリがコミットされているのかと、どういうモノをここにコミットしていく予定なのか。
ディレクトリがイントロスペクティブなら、後で気が変わってツリーの見直しが発生してもドキュメントと作業ディレクトリの二重管理を防げる。

618 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 12:33:59.02 ID:rzCer1bD.net]
>>586
そんな使えないツール作ってないで、コメントつけろよ。



619 名前:デフォルトの名無しさん [2014/03/24(月) 14:56:36.98 ID:x252QyU1.net]
Q1とQ2を解説お願いします

git init
空のtest.txtを作成
git add .
git commit -m "Initial commit"
test.txtを編集
git add.
git commit -m "second commit"
git checkout HEAD@{1} で最初の履歴に戻る
test.txtを編集
git add.
git commit -m "third commit"
git statusを実行するとHEAD detached from "ハッシュ"ってメッセージが表示される(Q1)
そこでgit branch temp & git branch temp & git branch masterってやって
git branch -d temp をやると
error: The branch 'temp' is not fully merged.
If you are sure you want to delete it, run 'git branch -D temp'.
ってメッセージがでます
何故tempに切り替えたときに編集してないのにtempをmasterにmergeさせないといけないのですか?(Q2)

620 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 16:26:56.74 ID:7xUxQev3.net]
>>613
Q1
git checkout HEAD@{1} は最初の履歴に戻るコマンドじゃなくて、別のブランチに移動するコマンド
ただし HEAD@{1} がブランチじゃないので detached HEAD という特殊な状態になる
これを実行したときに You are in 'detached HEAD' というメッセージが出たはず

最初の履歴にもどりたかったら、git reset --hard HEAD@{1}とすべきだった
今から戻るにはこうする
git co master; git reset --hard 最初のコミットのハッシュ

Q2
そのメッセージは、ブランチを消すとまだ他のブランチにマージされていないコミットが消えてしまうよ、という警告
-dじゃなくて-Dを使えばその警告を無視してブランチを消せる

621 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 18:45:49.12 ID:15T1FlGn.net]
>>613
 HEAD(、temp)
 ↓
┌C3

C1←C2
  ↑
  master
Q1
Q1でのC3のようにブランチなどから参照されていないコミットをdetachedという
この状態でHEADをC2などに動かすと どこからも参照されていないC3は失われてしまう(もちろんreflogはできる)ので変更を残したいならブランチなどを作ってね、ということ

Q2
ここではtempはC3を指すように作られる
tempを作った直後は編集していないけど、上図の通りC3がマージされていない

622 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 00:33:52.38 ID:56htplUz.net]
小保方さんも論文のバージョン管理はGitでやれば良かったのに

623 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 01:53:12.00 ID:T9JHOn1b.net]
gitでもコピペは防げません

624 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 02:16:02.05 ID:6ItjGCiG.net]
>>614-615詳しい解説のおかげで大変わかりやすいです。
立て続けにすみませんマージ後の対応についてQ3とQ4もお願いします。
>>613の状態でgit logすると
9b1062c: 2014-03-25 00:36:20 +0900: Initial commit
c54e4f6: 2014-03-25 00:39:01 +0900: third commit
となります。このあとgit merge tempをしました。
コンフリクトが出るので解消させます。
git add .; git commit -m "four commit"を実行すると"[master 90cd423] four commit"って1行のみのメッセージがでました。(Q3)
いつもなら下記の2行でメッセージが表示されるはずなのにこのコミットのときは1行のみでした
[master 90cd423] four commit
1 file changed, 1 insertion(+), 1 deletion(-)

そしてgit logをすると
cb0ee7d: 2014-03-25 00:42:25 +0900: Initial commit
f082da3: 2014-03-25 00:42:38 +0900: second commit
ae0009b: 2014-03-25 00:43:09 +0900: third commit
90cd423: 2014-03-25 00:45:01 +0900: four commit
ってログが4つあります。3つじゃありません。3つにしたいのですae0009bのコミットはいりません。何故4つになったのか教えてください(Q4)

625 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 03:33:44.11 ID:FBko2gtk.net]
コミット番号についての単純で重要な事を一つ言っておくよ。

コミットの内容には番号が付いているが、このコミットの内容には歴史の内容も含まれている。
たとえばコミット番号がae0009bであれば、その過去のコミットの番号は必ずに同じになる。

つまりだ、rebase等で過去を変えると変更した所より後はすべて書き換わるということ。
また特定のブランチをマージしたり、コミットをチェリーピックしたりすると
(処理結果の過去が変わる場合は)コミット番号はマージ、チェリーピック先では変わるということ。



そして、もうひとつおまけ。

コミットには、通常のコミットとマージコミットに分かれている。(git logをよく見てみよう)

あるブランチ、そこには複数のコミットが含まれている。
それをマージすると、複数のコミットに加えてマージコミットが1つ追加される。
マージを取り消したいときはrevertするわけだけど、このマージコミットを
一つrevertするだけで、複数のコミットがまとめて取り消される。便利。

ただし、マージした時に必ずマージコミットができるかといったら、そうではなく
(処理結果の過去が同じになるので)マージコミット作らなくていいんじゃね? と
gitが判断したらマージコミットを作らない。マージコミットを作らない=fast forward(早送り)
これはオプションで制御できる。

626 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 03:37:01.81 ID:FBko2gtk.net]
AブランチからBブランチへのマージ・・・Bブランチに含まれていないAブランチのコミットを全てマージする
チェリーピック・・・特定のコミットのみ加える。

627 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 03:48:52.54 ID:FBko2gtk.net]
detachedはなんとなく異常な状態に思ってしまうかもしれないけれど、実は便利な道具なのです。

detachedの使い方 その1

「ちょっと俺のコードレビューしてくんない?」
「わかったよ、手元にcheckoutして動かしてみる」
「ブランチ名指定でcheckoutすると、ローカルリポジトリにブランチできちゃって消すのが面倒だからコミット番号でcheckoutするぜ!」

detachedの使い方 その2

「いらねーブランチがたくさんローカルリポジトリ残ってるな」
「git branch -D で消しまくっちゃえ!」
「しまった!必要なのまで消しちゃった」
「git reflogみたら、消したりcheckoutしたときのコミット番号が全て記録されている」
「よし、このコミット番号だな。checkoutだ!(detached状態)そしてブランチ名をつけるぞ!」


git reflogとコミット番号には歴史も全て含まれてる。ってことは最初に教えておくべきことだと思う。
間違って消しても、間違ってrebaseしてコミット番号が変わっても、
間違う前のコミット番号さえわかれば(reflogでわかる)復活できるんだから。

reglogはある程度大きくなって30日だっけ?立てば自動的に消えるけど
消えなければコミット番号からコミット(とその歴史)は完全な状態で復活できる。

628 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 22:19:56.67 ID:snK4TAek.net]
>>621
その1はわかるがその2は
git branch ブランチ名 コミット番号
でいきなり名前付けちゃうなあ。checkout -bでもいいし



629 名前:デフォルトの名無しさん mailto:sega [2014/03/26(水) 16:48:10.35 ID:RExXi/Ym.net]
タグでバージョン管理してんだけど
git tag
でタグ一覧表示してるときに
hoge-1.2.9 のつぎに hoge-1.2.10 が来るようにしたいんだけど
どうしたらいいかな

630 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 17:29:58.38 ID:pRpzj6Hj.net]
コミットの日付ごとにソート?

631 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 18:20:02.12 ID:1lIY7CVQ.net]
自分の好みの順番に並べ替えるフィルタを書けばいいだろ

632 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:34:33.20 ID:j+UsaIor.net]
>>623
|sort -n

633 名前:デフォルトの名無しさん [2014/03/26(水) 23:44:02.96 ID:aTmW0mN4.net]
>>605 ファイルシステムへの理解不足かプロジェクトのマヌケさを疑うね。
お前何言ってんの

634 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 00:16:47.15 ID:ze0m1e8o.net]
空のディレクトリを管理しないのは、
gitがソースコード管理システムだからだろ。
プロジェクト管理システムじゃない。

diffが全てだと言ってもいいと思う。
diffに意味がなければSCMを使う意味がない。

635 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 00:24:20.37 ID:gcsG9K2Q.net]
> gitがソースコード管理システムだからだろ。
> プロジェクト管理システムじゃない。

これは

gitがソースコード管理システムだからだろ。
デプロイシステムじゃない。

という方が適切だと思う。

ディレクトリが必要なのは、デプロイつまり動作するときであって
動作させるにはディレクトリ作成以外に

636 名前:焜pーミッション設定とか
サーバーごとの設定とか色々あるわけで、
こういうのはデプロイとしてやるべきことだと思う。
[]
[ここ壊れてます]

637 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 00:28:10.33 ID:gcsG9K2Q.net]
考えてみたら、スクリプト言語のせいなんかな?

gitはカーネル開発のために作られた
つまりC言語、コンパイルする言語。

コンパイルする言語だと、チェックアウトした時に
空のディレクトリを作成する必要ないでしょう?
makeしないと動かさないわけでディレクトリが
必要ならmakeで作成すればいいわけで。

チェックアウトしたソースコードのそのままの位置で
動かそうとするスクリプト言語だから空のディレクトリが
必要だと思っちゃう。

638 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 00:45:15.61 ID:/J3FM59H.net]
意味がわからん
スクリプト言語でも今どきは DB 初期化だのなんだので make 的なのを掛けるのが一般的だが



639 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 00:49:53.18 ID:gcsG9K2Q.net]
>>631
”今どきは” でしょう?

つまり今どきじゃないやり方では
ソースコードをチェックアウトして
make的なことをせずに、そのまま動かすことに
心当たり、あるでしょう?

640 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 00:52:45.33 ID:ze0m1e8o.net]
あ、なるほど。合点がいった。
rootにmakeファイルがあってREADMEにtestにsrcに…ってのが出発点なのに
いきなりindex.htmlとか放り込んでる連中が空ディレクトリ置けないって嘆いてるのか。

なんかExcel方眼紙思い出した。

641 名前:デフォルトの名無しさん [2014/03/27(木) 01:29:37.99 ID:JNLvBr35.net]
>>633
makeファイル前提の考え方って、どんだけ限定的な開発しかしてないんだよ。。。

642 名前:デフォルトの名無しさん [2014/03/27(木) 01:33:07.62 ID:JNLvBr35.net]
>>628
前レス気になってみこっちも見たんだけど、ひどいな。
この解釈はお子様だ。

643 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 02:05:31.43 ID:ze0m1e8o.net]
うわぁ

644 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 07:23:19.89 ID:vi39ZLyv.net]
diffで出てこないものは管理しないってのは合点がいくけど
じゃあ

645 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 07:24:21.45 ID:vi39ZLyv.net]
失礼途中送信です
じゃあなんで git commit --allow-empty を許可しちゃうんだろ?

646 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 00:16:43.38 ID:3TELInRM.net]
今日秋葉のヨドバシの中の有隣堂書店行ったら、コンピュータ関係書籍の売り上げ
一位がこの本だった。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus) [単行本(ソフトカバー)]
大塚 弘記
www.amazon.co.jp/gp/product/477416366X/

やっぱ売れているんだな。

647 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 00:25:33.22 ID:W/hCr5dM.net]
立ち読みしたけどごく初歩的なことしか書いてないのですでに使ってる人間にはいらない
GitHubのファンブック程度のものでしかない

648 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 00:26:41.92 ID:Ek64RinZ.net]
つまり、使ってない人間には〜?



649 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 00:36:46.63 ID:W/hCr5dM.net]
金の無駄
SNSの手引書ごときに何千円も出す価値なんてない
その金でGitの入門書買ってGitHubの使い方は触って覚えろ

650 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 00:38:50.93 ID:Ek64RinZ.net]
2580円しかしないと思うけど?

時々さ、パソコン系の雑誌の値段(1500円ぐらい)を
高いっていう人がいるんだけど、君も同じ種類の人間?

651 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 00:51:19.52 ID:W/hCr5dM.net]
お前が100円のガムを1000円で買いたがるバカなのはわかった

652 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 01:30:42.52 ID:HSmI/JHp.net]
売れてるんだから世の中は貴方より馬鹿な人で満ち満ちてるってことなんだよ。
こんなとこでそんな連中を馬鹿に

653 名前:するよりこの本みたいなの執筆して金にする方でも考えたらいいんじゃない?
100円のガムを1000円で売れる錬金術だぞ?
[]
[ここ壊れてます]

654 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 01:36:16.36 ID:Ek64RinZ.net]
>>644
ん? この程度の本なんだから価格も安くて2580円でしょ?

655 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 01:50:12.38 ID:W/hCr5dM.net]
>>645
本業以外四方八方に手を出して回るほど多芸でも暇でもない

>>646
通常1万円の商品がこのお値段ですってか
値段でしか物の価値がわからないなんていいカモだな


ではおやすみ

656 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 02:07:57.89 ID:3TELInRM.net]
売り上げ1位ということは注目されているってことで喜ぶべきことだと思うけど。
単に事実を報告しただけなのに、なんでやたらケチ付けないと気が済まない奴がいるんだろう?
心が貧しいのかな?

657 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 02:16:13.21 ID:MDxZ8QeT.net]
その本なあ、正直それ買うくらいならWebDBPressをPDFにまとめたやつ買ったほうが…
そこでやってた記事のリメイクみたいなもんだし

658 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 03:56:01.18 ID:Ek64RinZ.net]
>>647
いやいや、俺は本をさほど評価してないんだよ?
GitHubの紹介程度だから価格も安いと言ってる。

技術書を買い慣れてないんじゃないの?
雑誌1500円、入門書3000円。
(初心者向け以外の)オライリー本4000〜5000円
マイナー本6000円、高い本8000円〜
これぐらいが普通の感覚でしょう?



659 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 07:39:31.29 ID:Dn5nxvgF.net]
>>638
man git-commitのオプションの項目見た?
空コミット許してる他のVCSとの絡みで存在するとある。
git rebase -iすると空コミットはデフォでコメントアウトされるよ。

660 名前:デフォルトの名無しさん mailto:sage [2014/03/28(金) 11:15:20.51 ID:b5I/lc4w.net]
2500円程度の技術書がAmazonで1位になるといくら入るのか教えてくれ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<266KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef