When I develop a package I typically open a new notebook and start writing functions which I need until I have a version which I am happy with. Then I copy them to a m-file. During this process I usually go back to an existing cell and change few things and hit SHIFT+RETURN to see the effect of changes. The problem is that as the this happens during several sessions, when I go through the cells in a notebook, the order of the cells does not necessarily represent the order in which I have carried out the calculations.
I was wondering if it is possible to have a shortcut such that every time I want to reevaluate an existing cell, it gets copied to the end of notebook. Preferably the shortcut should have two version such that one just copies the cell to the end of notebook (just in case I want to make some changes before evaluating it) and the other copies the cell to the end of notebook and evaluates it without any changes. Of course I can do this manually for each cell but it would be nice to have a less time consuming way to do this.