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


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

git スレッド



1 名前:login:Penguin [2007/12/16(日) 18:40:39 ID:GslAi8rs]
ソースコード管理を行うバージョン管理システム、git について語ろう。

あの、リーナス・トーバルズだって、バージョン管理を始めたんだ。
www.kernel.org/pub/software/scm/git/

git チュートリアル (バージョン 1.5.1 以降用)
www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.html


616 名前:login:Penguin [2010/02/04(木) 11:09:26 ID:5W3FJugT]
CVSやSVNは集中型、gitは分散型 とあるんだけど
何が集中したり分散したりしてるの?

617 名前:login:Penguin mailto:sage [2010/02/04(木) 11:11:53 ID:CYNiw1E3]
リポジトリ(履歴データを持っている場所)が1つか、複数か。



618 名前:login:Penguin mailto:sage [2010/02/04(木) 13:34:55 ID:YQOQkcZC]
集中型は権力も集中しがちになる(コミット権がうんたら)

619 名前:login:Penguin mailto:sage [2010/02/04(木) 14:30:46 ID:5W3FJugT]
じゃあgitはオープンソースに適してるんですね。
仕事用で使いたくて、なるべく権力を集中させたいので
gitは見送ります。ありがとうございました。

620 名前:login:Penguin mailto:sage [2010/02/04(木) 17:54:59 ID:5NWhCwR0]
ワークフローは運用次第ってだけの話だが。
progit.org/book/ch5-1.html
github.com/progit/progit/blob/master/ja/05-distributed-git/01-chapter5.markdown

621 名前:login:Penguin mailto:sage [2010/02/04(木) 19:37:14 ID:YQOQkcZC]
分散型に出来て集中型に出来ないことは無いんじゃない?

622 名前:login:Penguin mailto:sage [2010/02/04(木) 19:39:44 ID:YQOQkcZC]
あれ逆か、集中型で可能なことは分散型で出来る。

623 名前:login:Penguin mailto:sage [2010/02/04(木) 19:55:52 ID:gmC/Yryo]
>>619
要は、運用次第で権力集中可能
例えば、マスターリポジトリの更新権限を限定するとか(つ〜か普通そうするんじゃ…)

624 名前:login:Penguin mailto:sage [2010/02/04(木) 20:47:50 ID:JYXesGU0]
>>622
オフラインでのコミットとか無理じゃね?
ローカルにリポジトリあれば別だけど自分以外ができないからあれだし



625 名前:login:Penguin mailto:sage [2010/02/04(木) 21:36:49 ID:G2p82aGi]
あと、うっかり変なcommitをしてしまったとき、gitならpushしない限り大丈夫だが、
集中型だとお説教タイムになってしまう悪寒

626 名前:login:Penguin mailto:sage [2010/02/05(金) 00:04:47 ID:+YPRuxoa]
>>625
巻き戻せばいいだけでは。

627 名前:login:Penguin mailto:sage [2010/02/05(金) 01:55:01 ID:CLmEj5oN]
>>626
普通巻き戻しは特権がいるんじゃない。 で、特権のある人に
お説教されるとw

628 名前:login:Penguin mailto:sage [2010/02/06(土) 00:46:55 ID:44qJRz29]
お説教なの? ニヤニヤされるんじゃなく?

629 名前:login:Penguin mailto:sage [2010/02/09(火) 20:22:37 ID:RAlUQWhi]
せんせーきほんてきなしつもーん

ターミナルが A と B の 2個あったとして、
A で git checkout one したあと
B の Emacs でたくさん git 対象ファイルを開いて、そのまま、
A で git checkout two するとします

Emacs で開いてるバッファ内容ってやっぱり one のままだよね?
バッファを編集して保存したら one のファイル内容が two のファイルに上書きされて「危険」だよね?
A でブランチを切り替えるたびに Emacs のバッファは全部閉じて再度開きなおさないといけないよね理屈上

630 名前:login:Penguin mailto:sage [2010/02/09(火) 20:36:57 ID:b7GskCpL]
emacs使いじゃないから知らないが、バッファ読み込み後にファイルが更新されてるのを
警告もなしにそのまま上書きしちゃうのか?

631 名前:login:Penguin mailto:sage [2010/02/09(火) 20:39:16 ID:acViODVs]
ニヤニヤ

632 名前:login:Penguin mailto:sage [2010/02/09(火) 20:39:37 ID:nKVKxkV8]
ちゃんと警告してくれますよ。

633 名前:login:Penguin mailto:sage [2010/02/09(火) 20:47:12 ID:9V49chdu]
screen と emacsclient使え。

634 名前:login:Penguin mailto:sage [2010/02/10(水) 09:43:04 ID:QkCzSUH3]
Emacsの revert-buffer を使えばバッファを再読み込みしてくれるけど……



635 名前:login:Penguin mailto:sage [2010/02/10(水) 10:00:40 ID:0TBtUf8g]
>>629
危険ていうか、それはgitじゃなくても他の端末から同じファイルを編集したら同じことになるでしょ。

俺はvimだけど、ブランチ切り替えもそうだけど、git stash -> git svn dcommit -> git stash pop
ってやった後に保存しようして、警告が出るな。
このパターンだと十中八九ファイルの内容は変わってないんだけど、念のため確認するようにしてる。

636 名前:login:Penguin mailto:sage [2010/02/10(水) 15:21:40 ID:M9UhD/wS]
git-mode上でブランチ切り替えたら再読み込みしてくれたりしないかな

ようはEmacsがブランチ変更を検知しないことが問題なんだよね
上書き警告だって本質的な対策じゃない
ブランチが変更されたんだから、編集したいのはそのブランチのファイルのはず

637 名前:login:Penguin mailto:sage [2010/02/10(水) 15:26:10 ID:3rYFILyb]
Emacsの普通の設定ならタイムスタンプが変わってたらrevertするか聞いてくるだろ


638 名前:login:Penguin mailto:sage [2010/02/10(水) 15:31:20 ID:M9UhD/wS]
>>637
それがめんどくへえという話なのでは…
編集中のバッファでなければこっそり開きなおしてくれてるくらいのサービス精神がないと
不況下の日本ではEmacsは生き残れないぞたぶん

639 名前:login:Penguin mailto:sage [2010/02/10(水) 15:33:25 ID:uKVeMcIn]
>>638
そうしたいならそうすればいいじゃん

640 名前:login:Penguin mailto:sage [2010/02/10(水) 15:43:03 ID:9JULZJQU]

git はメンテしてる Junio Hamano 氏がとんでもないナンパ野郎だと知って以来、
極力避けるようにしてる。濱野氏がメンテから降りたらもっと使ってもいいかな。


641 名前:login:Penguin mailto:sage [2010/02/10(水) 16:33:53 ID:wST9AMIH]
ふーん

642 名前:login:Penguin mailto:sage [2010/02/11(木) 11:44:58 ID:yw+dRYs8]
>>640
どのへんがナンパ野郎なのか教えて

643 名前:login:Penguin mailto:sage [2010/02/11(木) 12:45:14 ID:XV6xszzu]

濱野氏は、美人研究者のブログで、その人が git 好きなのをネタにして、
「今度 git の講演に日本に行くから、その時に二人でデートしようぜ」
と本気でナンパしていたと聞いている。

644 名前:login:Penguin mailto:sage [2010/02/11(木) 15:02:11 ID:nZMD/n4Y]
べつにgitをユーザが増えようと減ろうとJunioのナンパに貢献する
ことはないと思うけど、それ以前に共通の趣味をネタに口説くこと
がどうまずいのかも不明。



645 名前:login:Penguin mailto:sage [2010/02/11(木) 15:10:50 ID:yJW9hFuf]
女を捨てまくってるとかならともかく、アプローチしてるだけでそこまで嫌悪する必要ないだろ

646 名前:login:Penguin mailto:sage [2010/02/11(木) 15:55:14 ID:WaojUPKf]
>>643
糞ワロタwww
ブログでかよ?
他に読んでる奴等もいるだろうし、
さすがにそれはねーわなw

647 名前:login:Penguin mailto:sage [2010/02/11(木) 17:30:48 ID:aEGTGT/7]
gitに使う価値があるかどうかは、
メンテナ氏の女性へのアプローチ法とは関係がない


648 名前:login:Penguin mailto:sage [2010/02/11(木) 19:24:12 ID:oAJQYaS+]
どこのblogかkwsk

649 名前:login:Penguin mailto:sage [2010/02/11(木) 20:12:33 ID:jeJxZddW]
嫌儲の男女バージョンみたいな感じだな

650 名前:login:Penguin mailto:sage [2010/02/11(木) 22:27:09 ID:71QNNVeu]
>>638
auro-revert-bufferじゃだめなのか?

651 名前:login:Penguin [2010/02/12(金) 01:58:47 ID:hFHmJq9f]
ソースコードを本番にデプロイする時についてなのですが、
前回デプロイ時のソースとの差分だけ抽出して、そのファイルだけ本番にデプロイできるようにしたいと考えています。
今レポジトリにコミットしたリビジョンと、前回デプロイ前のコミット時のリビジョンの差分を
抽出することができればと思うのですが、それ用のコマンドってgitにあるでしょうか??

教えていただけると幸いです。

652 名前:651 [2010/02/12(金) 02:00:25 ID:hFHmJq9f]
すいません、言葉足らずでした。
>>今レポジトリにコミットしたリビジョンと、
>>前回デプロイ前のコミット時のリビジョンの差分を
>>抽出することができればと思うのですが、

更新のあったファイルの「ファイル名」だけ、gitのコマンドで抽出できないか、という意味です。

653 名前:login:Penguin mailto:sage [2010/02/12(金) 08:54:33 ID:hx+CbuVO]
>651
どーやってデプロイしてるのか教えれ。


654 名前:login:Penguin mailto:sage [2010/02/12(金) 11:50:19 ID:StLEjzjs]
>>652
git diff --name-onlyとか、どう?




655 名前:login:Penguin mailto:sage [2010/02/12(金) 14:33:42 ID:MaWIE5lB]
>>651
普通にgit pullしたら早いと思うんだけどな。
rsyncするよりも手軽だし。

656 名前:651 [2010/02/12(金) 15:29:51 ID:hFHmJq9f]
レスありがとうございますm(_ _)m

>>653
ftpかsftpでデプロイしようと思っています。
本番環境はさくらインターネットの供用サーバです。

>>654
やってみました。
これって、コミットする前の、さらにステージする前の差分ファイルを抽出するんですね。
git diff --cached --name-only って試してみたらステージ後の差分ファイル一覧も出力出来ました。
やろうとしていることは大体こんな感じなのですが、
2つ前のコミットと1つ前のコミットの間で更新されたファイル一覧の出力ってのはできないでしょうか??

>>655
なるほど、本番環境に入ってpullするんですね。
仕事では本番サーバも自分で用意してgit環境も構築してたのですが、これってやったことありませんでした。(普通にsftpとかrsyncで・・)
ただ今回の場合、デプロイ先がさくらインターネットの共有サーバなので、git環境を構築出来ないと思うんですよね。
なので普通にftpとかsftpでアップしようと思っています。

ちなみに、本番環境でgit pull する方法で、本番ウェブサーバが複数ある場合は、
それぞれにログインしてウェブサーバ毎にgit pullする感じですか?

657 名前:login:Penguin mailto:sage [2010/02/12(金) 15:54:21 ID:MaWIE5lB]
>>656
>ちなみに、本番環境でgit pull する方法で、本番ウェブサーバが複数ある場合は、
>それぞれにログインしてウェブサーバ毎にgit pullする感じですか?
どれぐらい気をつかってやるかにもよるんじゃないか。
静的コンテンツをただ更新するだけならrsyncとかgit pull/pushとかをスケジューリングで
自動でやらせてもいいかもしれないけど、warなんかだとそうもいかないだろうから
リリース毎にウェブサーバ切り替えながら慎重にやるんじゃない?

てきとうにググったら、さくらのレン鯖にGit入れてる人けっこう居るみたいだよ
ttp://www.google.co.jp/search?q=%E3%81%95%E3%81%8F%E3%82%89+%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC+git
俺もさくらのやつあるんだよね。今度やってみようかな。

658 名前:651 [2010/02/12(金) 21:58:43 ID:hFHmJq9f]
>>657
レスどもです。

そーか、スタンダードプランならsshとか使えるし、gitのインストールもできるんですね。
早速
d.hatena.ne.jp/higepon/20091119/1258633627
これみてやってみたんですが、
git push --all
のところで
Permission denied (publickey,password).
fatal: The remote end hung up unexpectedly
っていわれてしまいました。

さくらのスタンーダードプランのssh接続って試してみたら
鍵認証なしの単純なパスワード認証みたいなんですけど、
git push の時のssh接続では鍵が探されてる?気がします。
上の記事書いた人はなんでうまくいったのか・・
git://プロトコルにするとポートが開いてないみたいでダメです。思案中・・

659 名前:login:Penguin mailto:sage [2010/02/12(金) 22:57:55 ID:meESnmZa]
>>658
単に向こうの~/.sshやauthorized_keysのパーミションの
問題とかではなく?


660 名前:651 [2010/02/13(土) 00:05:44 ID:IZfm7XrQ]
>>659
いま一応確認してみましたが、~/.ssh のパーミッションは755で、authorized_keysはありませんでした。
普通にsshでログインしようとしたら鍵認証じゃなくてパスワード認証になるので
authorized_keysはないのは問題ないと思うんですが
gitでssh接続しようとするとなぜか鍵認証にしようとします・・なぜだー。

661 名前:login:Penguin mailto:sage [2010/02/13(土) 02:02:29 ID:52GS5xAq]
man co

662 名前:login:Penguin mailto:sage [2010/02/13(土) 09:09:31 ID:mH7bnksn]
>>656
> 2つ前のコミットと1つ前のコミットの間で更新されたファイル一覧の出力ってのはできないでしょうか??

git diff --name-only HEAD^^ HEAD^

それぞれのcommitのSHA-1値を与えてもOK。詳細は git diff --help してみるのがよいかと。


663 名前:login:Penguin mailto:sage [2010/02/13(土) 11:21:11 ID:tHnX+oRf]
1.7.0 キタ━━━━(゚∀゚)━━━━!!
ttp://article.gmane.org/gmane.linux.kernel/949579

664 名前:login:Penguin mailto:sage [2010/02/13(土) 11:53:52 ID:06CKMljI]
あれなんか空のディレクトリいつのまにかサポートされてる?



665 名前:login:Penguin mailto:sage [2010/02/13(土) 16:21:28 ID:3p2VcGOY]
>>664
mjd??

666 名前:login:Penguin mailto:sage [2010/02/15(月) 11:27:21 ID:v96hRl2p]
>>647
reiserfsを使っている俺には死角はなかった。

667 名前:login:Penguin mailto:sage [2010/02/15(月) 22:23:02 ID:Ap57uWpz]
progit.org/book/ja/

お、ちゃんと日本語に戻ったな。
ちょっと前まで何語かよくわからんのにすり変わっていて笑ったんだけど。

668 名前:login:Penguin mailto:sage [2010/02/18(木) 22:09:12 ID:yUl4nZSS]
>>663
repo.or.czのミラーって更新遅いんだな...

669 名前:login:Penguin mailto:sage [2010/02/23(火) 21:07:12 ID:hI3BlWsm]
ようやく、なんとか git add -p / git commit -v
に慣れてきた感じ。

git add も当たり前だがわかっててやらないと(?_?)な
状態にすぐなる。git add -u とか
git commit -v -m "hoge" huga.txt
とか、けつまずいた。git reset HEAD^ に何度も助けられたぜ。

670 名前:login:Penguin mailto:sage [2010/02/23(火) 23:41:35 ID:ZVOkCMZj]
俺も最近なれてきたけど
少し前まではgit pushした後、
別の日にgit commit --amendから初めて
git pushして、パニクってたものです・・・

671 名前:login:Penguin [2010/02/24(水) 16:05:44 ID:wK5Zb8Pm]
サブモジュールとサブツリーってどう違うのかよくわからん。
複数プロジェクトを1レポジトリでまとめたいんだけど
どうすりゃいいの?

672 名前:login:Penguin mailto:sage [2010/03/02(火) 23:16:21 ID:jWjxjdrz]
復活カキコ

673 名前:login:Penguin mailto:sage [2010/03/05(金) 07:39:15 ID:nZaP2lzx]
みなさん、もう$Id$とか使ってないですか?

674 名前:login:Penguin mailto:sage [2010/03/05(金) 08:23:57 ID:T3bjYh1e]
それgitで使えるの?
blameとか見ればいいんだし使わないよ



675 名前:login:Penguin mailto:sage [2010/03/05(金) 16:26:48 ID:HZ7fJgn/]
最近TortoiseGitが1.3.6にヴァージョンアップしたもようですが
1.3.2対応の日本語化パッチが使えなくて困ってます。。
是非1.3.2にヴァージョンダウンさせたいんですが本家のぞいても前ヴァージョンが無いんですよね・・・
どこかに1.3.2転がってませんかね?


676 名前:login:Penguin mailto:sage [2010/03/05(金) 16:38:07 ID:Cxd0LGFJ]
>>675
開発元サイトにあるぢゃん
ttp://code.google.com/p/tortoisegit/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+Size+DownloadCount

677 名前:login:Penguin mailto:sage [2010/03/05(金) 18:22:52 ID:vhUyLNw1]
msysgitの方も最新版出ないかなぁ

678 名前:login:Penguin mailto:sage [2010/03/05(金) 23:40:59 ID:nZaP2lzx]
>>674
attributesファイルに * ident って書けばできるんですけど、
日付とかではなく、コミット名(ハッシュ値)になるみたいだし、
checkoutした時しか置換されないようです。
今までSubversionとかで$Id$使ってたソースをGitに移した場合、
全ファイルのこの部分は、この先どうしていけばいいんだろう?と思いました。

679 名前:login:Penguin mailto:sage [2010/03/06(土) 00:08:17 ID:OxENSWUe]
正直RCSキーワードのためにしょうもない(前処理で$Id$に戻すとか)
コミットスクリプトが必要なのが無駄。気にしないようにするか、
日付やリビジョンを含まない形に全置換しとくかすればいいと思う。

680 名前:login:Penguin mailto:sage [2010/03/06(土) 00:09:03 ID:OxENSWUe]
CVSだとそうなんだけど、svnだとスクリプトは不要なのかな?

681 名前:login:Penguin mailto:sage [2010/03/06(土) 00:37:19 ID:5+PCqCSd]
TortoiseGIT より期待してる git extensions が backend として cygwin 1.7 も
使えるようになり、UTF-8化が可能になるかと期待したが、cygwin の git process
呼び出しで、.netが勝手にlocal cp(日本版ならcp932)に変換しやがる。
stdoutとstderrは、encodeを変えるオプションがあるし、実際それを使って、utf8
文字列として読み込んでくれるんだが、何故かstdinには無い。
processの引数と、stdinをutf8で渡せれば何とかなりそうなんだが・・・

682 名前:login:Penguin [2010/03/10(水) 06:42:35 ID:KudZTj20]
git.hogehoge.comというVirtualhostで公開した場合
アパッチの設定ってどういう記述すればいいんでしょうか?
<VirtualHost *:80>
ServerName git.55train.info
CustomLog /var/log/apache2/git/access.log combined
ErrorLog /var/log/apache2/git/error.log

DocumentRoot /sites/git/www/html/
<Directory /sites/git/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>


Alias /prj "/var/git/projects"
<Location /prj >
DAV on
AllowOverride None
AuthUserFile /var/git/projects/.davpasswd
AuthGroupFile /dev/null
AuthName "dav user"
AuthType Basic
Options Indexes -FollowSymLinks
</Location>
</VirtualHost>
っていう記述だと、中においてるスクリプトファイルが反応して.gitフォルダにアクセス出来ないようなんですが・・・

683 名前:login:Penguin [2010/03/10(水) 08:58:20 ID:Ut6hXZPm]
qb5.2ch.net/test/read.cgi/saku2ch/1268173920/

684 名前:login:Penguin mailto:sage [2010/03/10(水) 10:08:15 ID:ZHIpTB9l]
さてさて
やれやれ



685 名前:login:Penguin mailto:sage [2010/03/10(水) 11:22:43 ID:rvbZnmFs]
>>682
「スクリプトファイルが反応して」ってどういうこと?

686 名前:login:Penguin mailto:sage [2010/03/10(水) 11:41:55 ID:VG72PX0T]
お騒がせしてすいません。
特に何も入って無いサーバーなので、特に問題は無いと思うんですが、
念のためapache等は落としておきます。
徹夜明けの寝ぼけた頭で投稿したのがまずかったようです。

>>685
普通にapacheで動作するスクリプトファイルを置いていたので、
git clone 'http://〜'だと反応したんだと思います。
"ForceType text/plain"かchmodで対応してみようと思います。

すいませんでした。


687 名前:login:Penguin mailto:sage [2010/03/10(水) 11:59:59 ID:4WH27GGD]
セキュリティが不安なら、そもそも公開すんなよ

688 名前:login:Penguin mailto:sage [2010/03/10(水) 13:05:13 ID:oeQspfUo]
優しくしてやれよ!

689 名前:login:Penguin mailto:sage [2010/03/10(水) 21:35:44 ID:HKIKwOTL]
削除要請板からきますた
なんか色々大変ですね

690 名前:login:Penguin mailto:sage [2010/03/10(水) 22:16:33 ID:DRNWG7Oz]
名前まで出してしまいましたね。

691 名前:login:Penguin mailto:sage [2010/03/10(水) 22:17:57 ID:b2Fg0cB+]
わざわざ削除依頼なんてしなけりゃスルーされたよね

692 名前:login:Penguin mailto:sage [2010/03/10(水) 22:43:37 ID:rtnf98lv]
どうかな

693 名前:login:Penguin mailto:sage [2010/03/11(木) 05:05:22 ID:vWTSpXf4]
俺は気づかなかった。見た瞬間とりあえずくだ質問行けよとか思った。

694 名前:login:Penguin mailto:sage [2010/03/11(木) 07:17:44 ID:a4pU/TF4]
>>686
>git clone 'http://〜'だと反応したんだと思います。
だから反応ってどういうことだよ池沼が



695 名前:login:Penguin mailto:sage [2010/03/12(金) 00:35:01 ID:g58g7Khc]
まあ落ち着け。
とりあえず俺はgitどころか
カーネルのアップグレードに失敗したらしく
かなり焦ってる
バックアップの必要性は必要になってから気づくんだ

696 名前:login:Penguin mailto:sage [2010/03/14(日) 23:02:16 ID:74SKWdA2]
コミットの指定で使う ~ と ^ の違いがよく分からないんだけど、
例えば、HEAD~2 とか HEAD^2ってどう使い分けたらいいの?

697 名前:login:Penguin mailto:sage [2010/03/15(月) 00:13:16 ID:9vDzc51S]
縦軸と横軸だ


698 名前:login:Penguin mailto:sage [2010/03/15(月) 00:17:27 ID:9vDzc51S]
c~3-c~2-c1~-c(HEAD)
      c^2 」
      c^3 」

c~3-c~2-c1^-c(HEAD)
      c^2 」
      c^3 」


699 名前:login:Penguin mailto:sage [2010/03/15(月) 00:18:53 ID:9vDzc51S]
^複数の親と、~複数の世代の違い

700 名前:login:Penguin mailto:sage [2010/03/15(月) 00:20:25 ID:vdbEsin0]
その2つは異なるものだよ
~nはn個前の親を表していて
^nは1つ上のレベルのn個目の親を表す
  D-E
  /   \
A-B-C-F
FがHEADの時にAはHEAD~3
CかEがHEAD^1、HEAD^2。

701 名前:login:Penguin mailto:sage [2010/03/15(月) 00:58:04 ID:INJko3Py]
ありがとうございます。やっと分かりました。
^はマージによってコミットに複数の親がある時、それぞれの親を指定できるんですね。
すっきりしました!

702 名前:login:Penguin [2010/03/15(月) 03:38:25 ID:5FqVvyVi]
すっきりしない

703 名前:login:Penguin mailto:sage [2010/03/16(火) 09:03:16 ID:5gE8Vm9w]
subversion からcloneしたリポジトリで git branch -r すると@12とか
複数のバージョン?見たいなのが出てくるんですが、これはなんですか?


704 名前:login:Penguin mailto:sage [2010/03/16(火) 18:59:10 ID:I38d2Qfd]
gitは基本的に戻ることはないんだねぇ、
恥ずかしい失敗したらコマンド使ってコミット無かったことにするけど




705 名前:login:Penguin mailto:sage [2010/03/16(火) 19:22:14 ID:UUVEpT2o]
基本的に戻ることがあるようにしてるVCSなんてあるの?

706 名前:login:Penguin mailto:sage [2010/03/17(水) 21:14:49 ID:ZS5QfrTO]
git reset でいくらでも戻れるぜ。ただ、それよりも
1. 作業用ブランチでは気にせず commit/revertしまくる
2. 作業終わったら作業用ブランチの根元から新しくブランチを切る
3. cherry-pick とかで綺麗な履歴を合成
4. 作業用と新ブランチのdiffに差がないことを確認
5. 作業用ブランチはまるごとさようなら
がオススメ。1commit に複数の仕事を含めないようにしないと後で
カオスになるけど。


707 名前:login:Penguin mailto:sage [2010/03/18(木) 00:36:24 ID:dr1HU4dM]
>>706
お前は俺かw
そんな神経質なことやってるのは俺ぐらいなもんだろうと思ってたぜ。
ただ、履歴が綺麗だと気分良いけど、仕事ではそれなりで我慢するようにしようと心がけてる。

あとそのやり方やってると、diffで何も出ないんだからgit branch -D でさよならで
良いはずなんだけど、どうも念のために残しておきたくなっちゃうんだよな。。。
だからtopic_bk1 topic_bk2 ... とかいう感じで、ゴミブランチがたくさん残ってしまう。

708 名前:login:Penguin mailto:sage [2010/03/18(木) 00:48:06 ID:wZ6/zNxh]
それでいいんじゃね? 増井俊之のいう富豪的プログラミングの一例として

テキストデータなんてどうがんばってもHDD1台分も書き溜めることはできないんだから
いくらでも残しておけばいいんだと思うよ

709 名前:login:Penguin mailto:sage [2010/03/18(木) 01:28:19 ID:dr1HU4dM]
でもあれだぜ、git branchが一画面分超えちゃうようになるとちょっと考えちゃうぜ。
デフォで git branch | grep hogehoge しないと使ってられない。
ってまあ、そうなる前に整理しろって話なんだけどね。。。

手動でgcした時だけ消える(消えなくてもいいけど)普通にはリストに出てこないtrashes的な属性が
ブランチに付けられたらいいなと思った。けどgit-branchはスクリプトじゃなくてC実装だったので寝る。

710 名前:login:Penguin mailto:sage [2010/03/18(木) 02:50:25 ID:6BBqQXR0]
あー、なるほど、作業用ブランチでrevert使ってなかったわ

711 名前:login:Penguin mailto:sage [2010/03/18(木) 23:14:55 ID:dr1HU4dM]
1.7はこんなん変わってるから注意、みたいなの教えて欲しい

712 名前:login:Penguin [2010/03/19(金) 11:41:12 ID:r52T5pgD]
git tag は-lでタグ指定して見られるのに、git branchは一覧しか見られないのはどうしてなぜなんだぜ

713 名前:login:Penguin mailto:sage [2010/03/19(金) 19:37:38 ID:NIuQLQlK]
>>712
tagは、大抵付けっぱなしだけど、branchはmerge済みになれば(俺は)消しちゃうから
選ばなくても、そんなに沢山出てこないんじゃないかな?

714 名前:login:Penguin mailto:sage [2010/03/19(金) 20:23:13 ID:sUcT09Pz]
>>709
ゴミブランチが多すぎてうざくなったら、clone して
別リポジトリでとっておけばいいんじゃね?
また必要になったら pull すりゃいいだろうし。



715 名前:login:Penguin mailto:sage [2010/03/19(金) 20:35:42 ID:sUcT09Pz]
ちなみに >>706 の 3 は commit が多い場合 cherry-pick じゃなく
て format-patch でファイルに落としてから選別、 git am で一気
に進めると楽。ただし、commit log の1行目に適切なサマリを書い
てないと選別作業がカオスにw

716 名前:login:Penguin mailto:sage [2010/03/19(金) 20:55:59 ID:sUcT09Pz]
あと応用として「なんか2種類のトピックに分割したほうがよくね?」
って状態になったときに、根元のcommitが beef だったとして
1. git format-patch beef で patch ファイル化
2. git checkout -b topicA beef で topicA を作成
3. topicA に必要な patch だけあてていく
4. git checkout -b topicB beef で topicB を作成
5. 残りの patch をあてる
6. git merge topicA で一旦topicBにマージ
7. git diff でもとの作業ブランチと違いがないことを確認
8. git reset HEAD^ --hard でマージ前のtopicBに戻す
9. 作業用ブランチはまるごとさようなら
とかでサクッと分割できる。






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

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

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