Make and Save Changes

Committing + Pushing!

The most common workflow for someone using Git is to simply commit a change and then push it. You can think of commits as "saving" and pushing as "synchronizing." Basically, commits are meaningful local changes that you choose to store as a checkpoint. Pushing is when you send those changes to a remote server so that they are always stored.
Committing and pushing is most of the meaningful work you'll be doing with Git. That's why we feature it so heavily in our Getting Started Guide. So congrats, you've made it to the bread and butter of our documentation.

Pull before you push

If you're working as an individual, it's rare that you'll have to pull changes. However, if you're working as a team other people may modify the same repository as you and those changes could be important. It might be helpful to check out the section on getting changes to understand the concept of "pulling" before going ahead with the rest of this page.
These docs feature "getting changes" before "making changes" because you can't push changes to a repository if your local repository isn't up to date. As a mental model, you can think about this as Git wants you to know what you're updating before you're allowed to update it.

Make a change

Click Show in Explorer to see the files.
Double-click your desired file from the explorer view to open it as you would normally. Make changes to your file.
Open Copia Desktop and view the rendered diff.
Once you've confirmed that the changes are correct by looking at the diff, you'll be ready to commit and push a change.

Renaming + Deleting Files

In addition to changing a file itself, you can also rename or delete a file. This too will be picked up by Copia Desktop. From there, feel free to commit and push the changes as per the steps above.
It is recommended to perform file renames separate from changes to a file (i.e. in its own commit). This is because git doesn’t know about renames, it only infers them based on whether a newly added file is similar to another file that was deleted. Both making changes and renaming in a single commit may result in the end of one file's history and the start of a new.

Commit + Push a Change


In the lower left corner of Copia desktop app, fill in the box where you can add a summary of the change and a more detailed description of the change if necessary. Press Commit to Master. This stores your change locally. You can make multiple changes and commit them before moving on.
You can add a Co-Author by clicking the icon in the lower left of the Description field. You might do this in certain use-cases where two engineers are working on code, but only one is saving changes to Copia. This allows you to attribute code changes to multiple users for future reference.

Amend Commit

In some cases, you may wish to update the most recent commit you have made in your current branch, prior to pushing the change. For example, if you needed to update the commit message or if you forgot to include changes in the commit. In these cases, you can amend the commit by right-clicking on the most recent commit on the history tab.
If you wanted to include additional changes, make them prior to amending the commit.
Update the summary or description fields, as needed. In addition, check any uncommitted changes that you would like to add to the commit. When finished, click Amend last commit.
If you have already pushed a change, you will not be allowed to amend the commit, as this will alter the history on the server, causing confusion for others who may have already pulled these changes.


Press the blue Push button. This "pushes" your local commits to Copia's servers. Your commits will not be viewable by anyone else until you perform this step.

A little more on commits

A "commit" is the basic unit of Git version history and includes a "commit message" or description of the change along with information about when the change occurred and who made the change. Commits are often used to mark serious changes that you might want to go back to. It's very common to make multiple meaningful commits on your local branch before pushing to remote. When you push all of your local commits are stored remotely. All commits you make will appear in the version history.