# Vip Docs: How to use perforce

First of all, I hate perforce. 

# **Streams**

Streams are essentially branches. Double click on a stream icon to work in that stream. The stream you're in has a little monitor icon next to its name. E.g. in the below i am in main. 

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772432568456.png)


# **Commit and push changes within a stream**

In perfoce this is called submitting. Just go into the pending tab, right click on the red changelog, and click submit

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772433114297.png)

# **Pulling changes**

Just click the refresh button, then click the projects root folder (VIP... not the directory path above it) and click "Get Latest"

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772433192192.png)


# **Merging Streams**

Mering is a bit more complicated than in git. Perforce convention in "merge down copy up". So if you want to achive parity between main and a child stream you must do the following. 


1. Right click on the stream you want to merge with main and select Merge / integrate .... 

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772432800738.png)

2. Click Merge 

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772432827772.png)


3. Go to your pending tab (this is like the changelog) and click resolve

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772432904513.png)

4. Pick your resolve option

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772432956738.png)

5. Click Submit (essentially the same as commit)

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772432983413.png)

6. Right click on the Main stream and select "Copy files" 

![](/Vip%20Docs/How%20To%20Use%20Perforce/image-1772433308009.png)

7. Resolve and submit in main just like before