class_docstr: CodeDriver is the parent of all code drivers. Any child must implement the methods below
  
  Methods
  -------
  create_ref()
      add remaining files, make a commit and add to datmo ref
  exists_ref()
      check if commit reference exists
  delete_ref()
      delete commit reference if exists
  list_refs()
      list all commit references
  push_ref()
      push commit reference given
  fetch_ref()
      fetch commit reference given
  check_unstaged_changes()
      check if there exists any unstaged changes for code
  checkout_ref()
      checkout to commit reference given
class_docstr_tok: ["CodeDriver","is","the","parent","of","all","code","drivers",".","Any","child","must","implement","the","methods","below","Methods","--","--","--","-","create_ref","(",")","add","remaining","files",",","make","a","commit","and","add","to","datmo","ref","exists_ref","(",")","check","if","commit","reference","exists","delete_ref","(",")","delete","commit","reference","if","exists","list_refs","(",")","list","all","commit","references","push_ref","(",")","push","commit","reference","given","fetch_ref","(",")","fetch","commit","reference","given","check_unstaged_changes","(",")","check","if","there","exists","any","unstaged","changes","for","code","checkout_ref","(",")","checkout","to","commit","reference","given"]
docstr: Add remaining files, make a commit and add to datmo ref
  
  Parameters
  ----------
  commit_id : str, optional
      if commit_id is given, it will not add files and not create a commit
  
  Returns
  -------
  commit_id : str
      commit_id for the ref created
  
  Raises
  ------
  CodeNotInitialized
      error if not initialized (must initialize first)
  CommitDoesNotExist
      commit id specified does not match a valid commit
  CommitFailed
      commit could not be created
docstr_tok: ["Add","remaining","files",",","make","a","commit","and","add","to","datmo","ref","Parameters","--","--","--","--","--","commit_id",":","str",",","optional","if","commit_id","is","given",",","it","will","not","add","files","and","not","create","a","commit","Returns","--","--","--","-","commit_id",":","str","commit_id","for","the","ref","created","Raises","--","--","--","CodeNotInitialized","error","if","not","initialized","(","must","initialize","first",")","CommitDoesNotExist","commit","id","specified","does","not","match","a","valid","commit","CommitFailed","commit","could","not","be","created"]
code: def create_ref(self, commit_id=None):
      """Add remaining files, make a commit and add to datmo ref
  
      Parameters
      ----------
      commit_id : str, optional
          if commit_id is given, it will not add files and not create a commit
  
      Returns
      -------
      commit_id : str
          commit_id for the ref created
  
      Raises
      ------
      CodeNotInitialized
          error if not initialized (must initialize first)
      CommitDoesNotExist
          commit id specified does not match a valid commit
      CommitFailed
          commit could not be created
      """
      pass
  
file_path: datmo/datmo/core/controller/code/driver/__init__.py
imports: from abc import ABCMeta, abstractmethod
  from future.utils import with_metaclass
label_desc: Use image node_id 3 for calling the CodeDriver obj's underlying member method code with example usage: obj.create_ref(commit_id) without return types