For details on the branch structure see: Branch Structure
...
The initial clone (pulling down all the source code) can be done with an initial blank directory but requires the repositories csv located at the bottom of the page.
Terminology
- Commit: stores the current contents of the index in a new commit along with a log message from the user describing the changes
Branch: a pointer to a commit
Master: the default name for the first branch
HEAD: a pointer to the most recent commit on the current branch
Merge: joining two or more commit histories
Workspace: the colloquial name for your local copy of a Git repository
Working tree: the current branch in your workspace; you see this in
git status
output all the timeCache: a space intended to temporarily store uncommitted changes
Index: the cache where changes are stored before they are committed
Tracked and untracked files: files either in the index cache or not yet added to it
Stash: another cache, that acts as a stack, where changes can be stored without committing them
Origin: the default name for a remote repository
Local repository: another term for where you keep your copy of a Git repository on your workstation
Remote repository: a secondary copy of a Git repository where you push changes for collaboration or backup
Upstream repository: the colloquial term for a remote repository that you track
Pull request: a GitHub-specific term to let others know about changes you've pushed to a branch in a repository
Merge request: a GitLab-specific term to let others know about changes you've pushed to a branch in a repository
'origin/master': the default setting for a remote repository and its primary branch
Typical Tasks and Commands
Task | Command | Description |
---|---|---|
Get initial local copy of all code | sg clone | |
sg branch | List all of the branches in your repos. | |
sg checkout -b <branch> | Create and check out a new branch named <branch>. Drop the -b flag to checkout an existing branch. | |
git merge <branch> | Merge into the current branch. | |
git fetch <remote> <branch> | Fetches a specific <branch>, from the repo. Leave off <branch> to fetch all remote refs. | |
git push --all origin | ||
git pull <remote> | Fetch the specified remote’s copy of current branch and immediately merge it into the local copy. | |
Usage
Usage | Example | Description |
---|---|---|
sg <command> | sg pull default | Apply a generic command to all repositories |
<tag> <command> | sg rs update default | Apply a generic command to all repositories that are tagged with "rs" |
"git" <command> | sg git push origin prep | Apply a git command to all git repositories |
"some hg command" | sg export tip | Apply a hg command to all HG repositories |
<any of the above> | sg clone -p 6 | Do any usage but limiting degree of parallel processes |
...