How to hide a field of a content type except when editing?
Implement hook_form_alter() and check whether $form['nid']['#value'] is empty, if empty then it is creation else it is update. If creation then hide the  field by setting #access property to FALSE.

UPDATE : Create a custom module and use the following code with needed modification.

Here is an example to hide tags field  in article content type.

function MYMODULE_form_alter(&amp;$form, &amp;$form_state, $form_id){
  if($form_id=='article_node_form' &amp;&amp; empty($form['nid']['#value'])){
     $form['field_tags']['#access']=FALSE;
  }
}


Here is a tutorial on how to create a custom module.