Steve,
If you haven't used a distributed VCS like Git before, you may
be missing one key concept:
There are multiple Git repos, one local and one at GitHub. Each
is a complete copy of the entire repo, including all old versions
of all files. Neither is just the latest version of each file.
The typical sequence of operations, using the Git verbs:
clone,
add, commit, push, pull, etc, is:
- Create a repo at GitHub
-
Clone the repo locally
- Now you have 2 empty repos, one local, one remote
-
Add the files you want to manage to the local git repo
-
Commit, which causes all
added files to be added
to
the local repo (or updated, if they had been previously
added and committed)
-
Push, which synchronizes the local repo with the remote
repo, pushing all of the files to GitHub
Then, someone else on your team may do:
-
Clone the repo locally to his machine, so he now has a 3rd
repo, just like the other 2, with all versions of all files
- Create/edit/delete some files
-
Add the files he created/edited/deleted
-
Commit, which causes all of his creations/edits/deletions
to be applied to his local repo
-
Push, which synchronizes his local repo with the remote
repo, pushing all of the creations/edits/deletions to GitHub
Then, you may do:
-
Pull, which synchronizes your local repo with the remote
repo, pulling all of the creations/edits/deletions to GitHub
After that, you can each do any of the following, as many times
as you like independent of each other:
- Create/edit/delete files
-
Add the files
-
Commit
-
Pull, to merge the other person's latest changes into with
your local updates
-
Push, to push the merged changes back to GitHub
If you both edit the same file, and both add, commit, pull and
push, Git will merge both sets of changes into the file, so
nothing gets lost. If you both edited the same line in the same
file, Git will report a "merge conflict", and you'll have to
manually
edit the file to properly apply both changes to that line. Your
starting point for that edit will be the file that Git creates
containing both versions of the line with special "<<<" and
">>>"
types of flag lines to show the 2 alternatives.
Does this make more sense now?
I suspect you've been doing commits to your local repo, but
never pushing the commits to GitHub.
BTW, the commands you are looking for are probably in
/usr/local, not in /Developer/usr/local.