Git is great compared to all the other version control tools I have used.  It does take some getting used to.  I think that the GUI interface with Eclipse just makes it harder.  I do all of my git interaction from the command line.  There is a full manual (man git) and of course many many examples online.

I have checked the latest changes into main and pushed it to github.  So it is now indistinguishable from a new project setup for blinky, unless you want to go back in history and do something with the launchpad.  I think that is the best approach.

I would ignore the GUI git interface and just go to the command line. 
cd into the Pacsat software dir and type:
git checkout main
git pull

That should get you the latest.

Then make your own development branch, e.g.:
git branch jims_ax5043_renovation_project

Note that git branch just creates the branch, which is a virtual collection of commits ending at the latest commit in the branch you are currently in.  You can think of it as cloning the current branch.

So, to put your future edits in a branch called "jims_ax5043_renovation_project" you type:
git checkout jims_ax5043_renovation_project

Now any commits you make are in that branch.  Edit any files you like.  At any time type:
git status

This shows you the files you have changed (in red).  If you want to start building a commit that you will add to your branch you type:
git add <file-name or list of files>

You can also type git diff <filename> to see what you changed in a file  or just git diff on its own to get a big list of all your changes since the last commit.

If you type git status again you will see the files that will be committed in green.  They are "staged" ready to commit.  You can add more or remove some of the ones that are there.

When you are happy with the files you type
git commit -m "Some sort of commit comment"

That adds the changes to a commit and your branch includes that commit.

You carry on and add as many commits as you like.  When you think it is useful to the rest of us and it does not crash/cause issues, then you merge your commits into a branch we are all using.  We will use main for this and know that it is the development branch. 

To merge into main you first commit all the changes on your current branch and then checkout main:
git checkout main
git pull     // this is just to get the latest changes from github

Then merge with:
git merge jims_ax5043_renovation_project

Changes that build on existing commits merge automatically.  If there are conflicts then it will tell you. You resolve them by running
git mergetool

That runs a GUI comparison program and allows you to choose which changes you want.  Or reach out to me for help merging into main if you want.

Then send the changes back to github with:
git push

If someone else has put new changes on main then you bring your own branch up to date with main by typing:
git pull                 // again just to get the latest
git merge main

You can run that even though you have other changes that are not yet committed to main.  In fact that is the best way of avoiding merge conflicts further down  the line.  Stay as current as you can with the other changes on main.

73
Chris

--
Chris E. Thompson
chrisethompson@gmail.com
g0kla@arrl.net