> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Commit 与 Upload

> 在本节中，你将学习如何使用 Client、Application 和 CLI 进行 commit 和 upload。

你可以使用 Client 或 Application 进行 commit 和 upload。你
只需要一个 `squarecloud.File` 对象，并传入你的
zip 文件所在的路径。

## 进行 commit

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client('API_KEY')

    async def example():
        file = square.File('path/to/you/file.zip')
        await client.commit(file=file, app_id='application_id')
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client('API_KEY')

    async def example():
        app = await client.app(app_id='application_id')
        file = square.File('path/to/you/file.zip')
        await app.commit(file=file)
    ```
  </Tab>
</Tabs>

## 进行 upload

要 upload 一个应用，你只能使用 \[Client]。

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(...)

    async def example():
        file = square.File('path/to/you/file.zip')
        await client.upload_app(file=file)
    ```
  </Tab>
</Tabs>

**请记住，要 upload 一个应用，你需要一个（至少）包含以下文件的 zip：**：

* 主文件：负责启动你的应用
* 依赖文件：包含关于需要哪些依赖的信息
* 配置文件（squarecloud.app）：一个指定
  名称、
  描述、主文件名、版本等的配置文件。要了解更多关于
  配置文件的信息，请查看此[指南](https://docs.squarecloud.app/zh/getting-started/config-file)。

<Tip>
  为了方便起见，我们添加了一个用于创建该配置文件的类：
  `squarecloud.utils.ConfigFile`。
</Tip>
