4
ときどき、作業ツリーから一時的に変更点を取り除いて、あとで元に戻したいことが\
6
たとえば何か作業中に小さいバグフィックスを見つけてコミットする場合などです。
7
Bazaarは変更を ``shelf`` (書棚)に保存する機能を持っています。
8
後で変更を元に戻したくなったときは、 ``unshelve`` を使って作業ツリーに戻す\
11
たとえば、一つか複数の変更がされた作業ツリーを考えて見ます...::
14
=== modified file 'description.txt'
22
+written by Michael Ellerman
31
+perform a commit, and get
35
``shelve`` コマンドはインタラクティブにどの変更を作業ツリーに保留して\
46
+written by Michael Ellerman
59
+perform a commit, and get
64
Shelve 2 change(s)? [yNfrq?]', 'y'
67
Changes shelved with id "1".
69
もしたくさんの変更が作業ツリーにあるのであれば、 ``shelve`` コマンド\
70
にファイルのリストを渡して、それらのファイルの変更だけについて質問\
72
変更を shelve した後に ``diff`` コマンドで作業ツリーに期待する変更だけが\
73
残っていることを確認するとよいでしょう。::
76
=== modified file 'description.txt'
84
+written by Michael Ellerman
89
よし! - コミットする準備ができました::
91
$ bzr commit -m "improve first sentence"
93
後になって、shelveした変更を作業ツリーに ``unshelve`` コマンドで\
97
Unshelving changes with id "1".
99
All changes applied successfully.
101
もし望むのであれば、複数のアイテムをshelfに置くことができます。
102
通常 ``unshelve`` が実行されるたびに最も最近 shelve された変更が\
104
明示的にどの変更を戻すのかを指定することで別の順序で unshelve する\
107
Bazaarはshelveされた後に変更があっても、shelfの変更を作業ツリーに\
108
マージするので、衝突が発生するかもしれません。
109
その場合は通常のマージ後と同じように衝突を解決しなければなりません。