code: func (c *Config) Marshal() ([]byte, error) {
  	c.marshalCore()
  	c.marshalPack()
  	c.marshalRemotes()
  	c.marshalSubmodules()
  	c.marshalBranches()
  
  	buf := bytes.NewBuffer(nil)
  	if err := format.NewEncoder(buf).Encode(c.Raw); err != nil {
  		return nil, err
  	}
  
  	return buf.Bytes(), nil
  }
docs: // Marshal returns Config encoded as a git-config file.