public function push($ref = 'master', $remote = 'origin', $remoteRef = null)
	{
		$ref      = (isset($remoteRef)) ? $ref . ':' . $remoteRef : $ref;
		$response = $this->call('push', array($remote, $ref));

		$response = trim($response);
		$return   = array();

		if (stripos($response, 'error: failed to push some refs') !== false)
		{
			$return['status']  = 'fatal';
			$return['message'] = $response;
		}
		else if (stripos($response, 'everything up-to-date') !== false)
		{
			$return['status']  = 'success';
			$return['message'] = $response;
		}
		else
		{
			$return['status'] = 'success';
		}

		return $return;
	}