After your first GitHub upload, here is how to work without getting lost.
Part 1 gets a project folder onto GitHub. Part 2 is for the next layer: working on the same project over time, switching between Mac and Windows, using branches, opening pull requests, fixing the normal little mistakes, and knowing what to do before a project becomes public.
The normal rhythm after the first push
Once the repository exists, you do not repeat the whole first-upload process. Most days are just: get current, make a change, test it, commit it, push it.
git status
git pull --rebase
# make your changes
git status
git add .
git diff --cached
git commit -m "Describe the change"
git push
git status more than you think you need to. It tells you where you are, what changed, and what Git expects next.Bring down the latest work from GitHub.
Save a checkpoint on your computer.
Send your checkpoint up to GitHub.
The Git commands are mostly the same
Windows users usually run commands in PowerShell. Mac users usually run commands in Terminal. Once you are inside the project folder, the Git commands are the same almost all of the time.
Windows example
cd "C:\Users\YourName\Desktop\My Project"
git status
git pull --rebase
If Windows asks you to sign in through Git Credential Manager, use the browser prompt. Do not type your GitHub password into the terminal.
Mac example
cd "/Users/yourname/Desktop/My Project"
git status
git pull --rebase
If macOS asks to install Command Line Developer Tools, that is normal. Those tools include Git and the support pieces Terminal needs for developer commands.
Use branches when work should stay separate
A branch is a separate line of work. This lets you experiment, fix something, or let another person work on a different area without everyone stepping on main.
git switch main
git pull --rebase
git switch -c feature/customer-dashboard
# edit and test
git add .
git commit -m "Add customer dashboard"
git push -u origin feature/customer-dashboard
Branch names should be short and boring. Good examples are feature/login-screen, fix/github-auth-message, or docs/update-readme. Boring is good here. Git already has enough personality.
A pull request is a review before merging
A pull request, often called a PR, is where GitHub shows the difference between your branch and main. It is the best place to review changes, ask questions, run checks, and decide whether the work is ready.
- Push your branch to GitHub.
- Open the repository page in your browser.
- Click Compare and pull request.
- Write a short title and plain summary of what changed.
- Review the files changed before merging.
Conflicts are annoying, not fatal
A conflict happens when Git cannot automatically combine two edits. Usually two people changed the same line, or one person changed a file while another deleted it.
git status
Git will list the conflicted files. Open each file and look for markers like this:
<<<<<<< HEAD
your version
=======
their version
>>>>>>> branch-name
Edit the file so only the correct final version remains. Remove the marker lines. Then continue:
git add path/to/file
git status
git rebase --continue
If you were merging instead of rebasing, the last command may be:
git commit
A few useful safety commands
Git can help you back out of normal mistakes. The key is to stop and check status before trying random commands from the internet. Ask me how I know.
Unstage a file
You added a file with git add, but do not want it in the commit.
git restore --staged path/to/file
Discard a local file change
This throws away edits in one file, so only use it when you really mean it.
git restore path/to/file
Save messy work for later
Stash is useful when you need to quickly switch branches.
git stash push -m "work in progress"
git stash list
git stash pop
See what changed
Use this before committing, especially on a project with real clients or real data.
git diff
git diff --cached
git reset --hard can throw away work. If you are not sure, pause and ask someone before running it.Use tags when a version matters
A commit is a checkpoint. A tag is a label on a specific checkpoint. Tags are useful for releases, client handoffs, conference builds, and anything you may need to find again later.
git switch main
git pull --rebase
git tag v1.0.0
git push origin v1.0.0
A common version style is v1.0.0. The first number is for major changes, the second is for normal improvements, and the third is for fixes. You do not have to become a versioning scholar. Just be consistent.
On GitHub, you can also create a Release from a tag and attach a ZIP, PDF, installer, or other downloadable files.
Make sure you are pushing as the right person
If you have a personal GitHub account and a company organization, be careful which account is authenticated. This matters most when pushing to private repositories.
gh auth status
gh auth switch
Your Git author name and email are not the same thing as your GitHub login. These commands control the name shown on commits from this folder:
git config user.name "Your Name"
git config user.email "your-email@example.com"
On a company repository, access is controlled by GitHub permissions. If a push fails with a permissions message, check that the repository exists, that you are signed into the correct account, and that your account has Write access.
Review before changing visibility
Before making a private repository public, check the files and the history. Removing a secret from the current file does not remove it from older commits. If a password, token, private key, or customer export was ever committed, rotate the credential before publishing.
git log --oneline
git status
Also check your README, license, screenshots, sample data, and issue history. Public means public. Give yourself one extra coffee and one extra review before clicking that button.
Give the agent boundaries before it touches Git
An AI coding agent can be extremely helpful with Git, but the owner should stay in control of commits, pushes, releases, and credentials. Put an AGENTS.md file in the project root so the agent knows the rules.
- Ask the agent to read
AGENTS.md,README.md, andgit status. - Tell it whether it may create a branch.
- Have it show the changed files before committing.
- Run the project checks before pushing.
- Only push or open a pull request when you clearly ask it to.
.env files, or customer data into an AI chat.Keep the guides and agent instructions together.
This link is a placeholder for the public GitHub release package that can include Part 1, Part 2, the reusable AGENTS.md file, images, and README.
We would be glad to hear about your project.
RGC Data LLC works with Claris FileMaker integrations and a wide range of connected systems. We handle FileMaker database work, web applications, React and TypeScript projects, WordPress, native and cross-platform mobile apps, QuickBooks, Salesforce, and other API-based systems.
If you are not sure how the pieces should fit together, we are happy to listen, talk through the project, and see whether we can be useful.
Request a quote Email Alex


