# BranchService

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/BranchService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/BranchService

## Methods

### ArchiveBranchAsync

```luau
BranchService:ArchiveBranchAsync(branchPlaceId: number)
```

- Tags: Yields, Roblox script security

### CompleteMerge

```luau
BranchService:CompleteMerge()
```

- Tags: Roblox script security

### CreateBranchAsync

```luau
BranchService:CreateBranchAsync(sourcePlaceId: number, sourceVersionNumber: number, name: string): { [string]: any }
```

- Tags: Yields, Roblox script security

### GetBranchesAsync

```luau
BranchService:GetBranchesAsync(placeId: number, archived: boolean): { [string]: any }
```

- Tags: Yields, Roblox script security

### GetDiffAsync

```luau
BranchService:GetDiffAsync(placeId: number, baseVersion: number, targetVersion: number): DataModelDiff
```

- Tags: Yields, Roblox script security

### GetInstanceConflicts

```luau
BranchService:GetInstanceConflicts(): { any }
```

- Tags: Roblox script security

### GetMergeChanges

```luau
BranchService:GetMergeChanges(): DataModelDiff
```

- Tags: Roblox script security

### GetMergeResolution

```luau
BranchService:GetMergeResolution(identity: ScopedInstanceIdentity, propName: string?): Enum.MergeResolution
```

- Tags: Roblox script security

### GetMergeStatus

```luau
BranchService:GetMergeStatus(): Enum.MergeStatus
```

- Tags: Roblox script security

### RestoreBranchAsync

```luau
BranchService:RestoreBranchAsync(branchPlaceId: number)
```

- Tags: Yields, Roblox script security

### SetMergeResolution

```luau
BranchService:SetMergeResolution(identity: ScopedInstanceIdentity, propName: string?, resolution: Enum.MergeResolution)
```

- Tags: Roblox script security

### StartMergeAsync

```luau
BranchService:StartMergeAsync(sourcePlaceId: number, ancestorVersion: number)
```

- Tags: Yields, Roblox script security

### UpdateBranchAsync

```luau
BranchService:UpdateBranchAsync(branchPlaceId: number, status: Enum.BranchStatus, name: string): { [string]: any }
```

- Tags: Yields, Roblox script security

## Events

### MergeStateChanged

```luau
BranchService.MergeStateChanged: RBXScriptSignal<(identity: ScopedInstanceIdentity)>
```

- Tags: Roblox script security

### MergeStateCleared

```luau
BranchService.MergeStateCleared: RBXScriptSignal<(identity: ScopedInstanceIdentity)>
```

- Tags: Roblox script security

### MergeStatusChanged

```luau
BranchService.MergeStatusChanged: RBXScriptSignal<(status: Enum.MergeStatus)>
```

- Tags: Roblox script security

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
