バージョン管理システムについて語るスレ8

このエントリーをはてなブックマークに追加
548デフォルトの名無しさん
gitで複数のブランチそれぞれに個別の未コミットのファイルを残したまま
ブランチを渡り歩くことってできる?
イメージとしてはbazaarで複数ブランチを同時にいじってて放置したまま
ブランチ間をcdで移動するみたいな。

diffとかはファイルとしての実体は不要でいいんだけど
gitは未コミット分をかかえたままになるのがちょっと困ってる。
いちいちstashとか嘘commitとかするのは
その判別含めて自動化できないと面倒で…。
549デフォルトの名無しさん:2011/08/19(金) 23:28:19.52
MercurialならShelveがあるのにな
550548:2011/08/19(金) 23:40:47.88
少し調べてみたけれど、
Mercurial の Shelve って git の stash と完全に同等に見えるけれど、そうでもないの?
551デフォルトの名無しさん:2011/08/19(金) 23:45:29.57
TortoiseHgにあったShelve Changesは
ファイルごとに退避ができてstashより便利だなーって思った覚えが。
552デフォルトの名無しさん:2011/08/19(金) 23:50:55.94
>>548
ブランチの数だけcloneしたら?
553548:2011/08/19(金) 23:57:29.95
>>552
自分も一旦はそう考えたんだけど、それだと結局bazaarと同じ運用になって、共有リポジトリ使えない分だけ損してるような…。

ツリーは1つ、というのが気に入ってbazaarからgitに移行しようかと試してるんだけど
標準ではサポートされない(というか人気のない?)使い方なのかな。
554548:2011/08/20(土) 02:26:16.94
濱野さんの本にはこう書いてある。
あとから追いやすくなるのでコミットは意味ごとに独立させるべき、
意味(意図)が同じコミットはあとからまとめるのもよい、
ローカルリポジトリは意味ごとにrebaseなどで改竄もむしろ推奨。

ということは、ブランチも意味ごとに直交させて切るべきだと思うんだけど
そーするとなぜ未コミット分がブランチをまたいで受け継がれるんだろう。
ブランチをまたぐ際にstashとか破棄前提の嘘commitが必要ってのは
単に実装が思想に(まだ)合致できてないってことなんだろうか。
日常的に使ってるとブランチは常に2〜3個必要になるし、
瞬間的には 4個とかにもなるんだけど、みんな困ってないのかな。