# Commit Individual Forms from Form Manager (RBC Metadata)

### Scenario

A user has 10 Record-Based Configuration (RBC) records (e.g., forms in Form Manager) in a Salesforce org. They want to **deploy only one form** to the Git repository using ARM. However, after committing that one form, the repo only contains that record, and the other 9 forms are **missing**—effectively overwritten.

### Expected Behavior

#### Should pulling and committing a single form merge it into the existing set of forms or replace the full folder?

By default, **ARM will replace** the contents of the RBC directory (e.g., `FormManager`) in the Git repo with whatever records are present in the commit—**even if it’s just one record**. So if only one form is committed, the other nine forms will be removed, unless specifically preserved in the workflow.

### Best Practice: Avoid Overwriting the Full Set

To safely commit a single form **without losing the others**, follow these guidelines:

#### 1. Use Merge or Append Mode (When Supported)

* When committing changes from an org to Git using ARM, configure the commit mode to **merge** or **append**, not replace.
* This ensures new records are being **added to** the existing set in Git rather than **replacing** the folder contents.
* **Source:** [AutoRABIT Docs – Commit Changes from Org to Version Control](https://knowledgebase.autorabit.com/product-guides/arm/arm-features/version-control/ez-commits/how-do-i-commit)

#### 2. Avoid Committing a Partial Folder

* If ARM pulls and prepares a folder (like `FormManager`) with only one record, it treats that as the *entire* state.
* **Workaround:** Use the **EZ-Merge** or **file-level commit view** to cherry-pick the new or modified record and keep the others intact.
* **Source:** [AutoRABIT Docs – EZ-Merge](https://knowledgebase.autorabit.com/product-guides/arm/arm-features/version-control/ez-merge)

#### 3. Use Full Pulls + Selective Commits When Possible

* Pull the full set of RBC records from the org.
* Use version control diffs to **selectively commit** the record you want to update.
* This ensures the rest of the records stay untouched in Git.
* **Source:** [AutoRABIT Docs – Managing Commits](https://knowledgebase.autorabit.com/product-guides/arm/arm-features/version-control/ez-commits)

### Important Notes

* This behavior applies to other RBC metadata types as well (e.g., Custom Metadata, Custom Labels).
* Review the **pre-commit diff view in ARM** before committing to ensure no unintended deletions occur.

### Summary

| Goal                                       | Recommended Action                                           |
| ------------------------------------------ | ------------------------------------------------------------ |
| Commit a single form without losing others | Use append/merge mode or EZ-Merge to cherry-pick the record  |
| Avoid overwriting the RBC folder           | Never commit a partial folder unless overwriting is intended |
| Preserve metadata consistency              | Validate the commit diff and consider pulling the full set   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://knowledgebase.autorabit.com/product-guides/arm-1/arm-features/version-control/ez-commits/committing-individual-forms-from-form-manager-rbc-metadata-in-arm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
