You don't need unshelve as @Dennis suggests, although this may be one way to do this.
For an undisclosed file that you want to add to an existing shelf, simply open that file in the existing shelf change summary. For example, if your shelf is identified by changelog # 1729, then do
p4 edit -c 1729 forgot_to_shelve.py
Then set it aside:
p4 shelve -c 1729
If it turns out that the file already exists on the shelf, but you want to update it, then, as usual, add -f :
p4 shelve -c 1729 -f
For the file that is currently open that you want to add to your existing shelf, you must first reopen save this file in your existing change shelf before postponing it as above:
p4 reopen -c 1729 forgot_to_shelve_and_currently_opened.py p4 shelve -c 1729
Link:
To add a file to a previously existing shelf, the file must first be open in the list of changes in the shelf; use p4 reopen to move an open file from one change list to another.
p4 shelve // โโPerforce 2013.3: Command Reference
Andrew Cheong
source share