description::
× Mcsh-creation: {2010-10-31}
Git-repository is a-directory in a-computer WITH some files on a-subject we are-working-on AND their history(evolution) MANAGED with a-git-program.
name::
* McsEngl.Git-repository!⇒Gitrepo,
* McsEngl.Gitrepo!=Git-repository,
* McsEngl.Gitrepo!~McsTchInf000032,
* McsEngl.McsTchInf000032.last.html//dirTchInf//dirMcsh!⇒Gitrepo,
* McsEngl.dirMcsh/dirTchInf/McsTchInf000032.last.html!⇒Gitrepo,
* McsEngl.Git'repository!⇒Gitrepo,
* McsEngl.Git-repo!⇒Gitrepo,
content-of-repo::
The type of information (the subject) stored in the repo's files.
files-of-repo::
The repository contains more files than the files we work on.
- "working-files" or "content-files" are the files
we work on and contain our subject.
Directories-of-Repo::
- the directory of the repo. The "base" directory|folder.
- the ".git" directory, which holds the history.
- the "working-tree", which is everything else except the .git-dir
inside the "base-dir" which holds the content-files IN A SPECIFIC
POINT|STAGE IN HISTORY.
description::
A set of git-repositories around the net on the same source|content-files.
name::
* McsEngl.Git-project,
* McsEngl.Gitrepo'project,
===
Unfortunately, you will find with the same term "git-project" to mean a "git-repository".
description::
Any program managing git-repos.
name::
* McsEngl.Gitrepo'program,
* McsEngl.program-of-git-repo,
Specific::
* Git,
* GitHub-desktop,
description::
· The-Git-program is a distributed version-control-system developed by Linus-Torvalds and Junio-Hamano mainly used for source-code-managment.
name::
* McsEngl.Git-program!⇒Git,
* McsEngl.Git!=Git-program,
* McsEngl.Gitrepo'Git-program!⇒Git,
Unix::
* On Ubuntu distribution, you may install Git using the following command
$ sudo apt-get install git-core
* on Fedora distribution, you may install Git using the following command
$ sudo yum install git.
Windows::
* http://git-scm.com/download/win,
description::
× Mcsh-creation: {2026-08-31}
"To update the Git program itself, use the package manager for your operating system.
* **Ubuntu / Debian**
```bash
sudo apt update
sudo apt install --only-upgrade git
```
* **Fedora**
```bash
sudo dnf upgrade git
```
* **Arch Linux**
```bash
sudo pacman -Syu git
```
* **macOS with Homebrew**
```bash
brew update
brew upgrade git
```
* **Windows with winget**
```powershell
winget upgrade --id Git.Git
```
Afterward, check the installed version:
```bash
git --version
```
If you tell me your OS (Ubuntu, Windows, macOS, etc.), I can give you the exact recommended command."
[{2026-08-31 retrieved} https://chatgpt.com/c/6a944b82-1290-83eb-9b7b-ae78f19f1d37]
description::
I present here the basic group of commands.
name::
* McsEngl.Git-command!⇒Gitcmd,
* McsEngl.Gitcmd!=Git-command,
* McsEngl.Git'command!⇒Gitcmd,
addressWpg::
* find right commands: https://gitexplorer.com/,
specific::
* git-add,
* git-branch,
* git-checkout,
* git-clone,
* git-commit,
* git-diff,
* git-fetch,
* git-init,
* git-log,
* git-merge,
* git-mv,
* git-pull,
* git-push,
* git-remote,
* git-reset,
* git-rm,
* git-show,
* git-stash,
* git-status,
* git-tag,
name::
* McsEngl.Gitcmd.repo-creating,
Specific::
* git-init = Create repository from an existing directory of working-files
* git-clone = Copy a remote repository
* git-commit = Record changes to the repository,
Description::
Create repository from an existing directory of working-files.
Official-doc: git-init.
description::
Copy a remote repository.
Official-doc: git-clone.
## go on a-repo on GitHub and copy its Url from Clone-or-download-button
git clone https://github.com/synagonism/blockstack-hello.git
cd blockstack-hello //go to dir of local repo
## clone "espeak-ng: to "espeak-ng-wasm:
git clone https://github.com/espeak-ng/espeak-ng.git espeak-ng-wasm
description::
Record changes to the repository.
Official-doc: git-commit
name::
* McsEngl.Gitcmd.commit,
example::
git commit -m "first commit"
//commit with message
name::
* McsEngl.Gitcmd.versioning,
Specific::
* git-add = Add files to be included in next commit
* git-commit = Record changes to the repository
* git-status = List files changed since last commit
* git-diff = Find differences between commits etc
* git-reset = Go to previous states
* git-rm = Remove files from the working tree and from the index
* git-mv = Move or rename a file, a directory, or a symlink
description::
Add files to be included in next commit.
Official-doc: git-add.
description::
List files changed since last commit.
Official-doc: git-status.
description::
Find differences between commits etc.
Official-doc: git-diff.
description::
Go to previous states.
Official-doc: git-reset.
description::
Remove files from the working tree and from the index.
Official-doc: git-rm.
description::
Move or rename a file, a directory, or a symlink.
Official-doc: git-mv.
name::
* McsEngl.Gitcmd.branching-merging,
* McsEngl.Gitcmd.merging-branching,
Specific::
* git-branch = List, create, or delete branches
* git-merge = Join two or more development histories together
* git-checkout = Update files in working-tree to match what specified
* git-log = Show history of commits
* git-tag = Give name to commit
* git-stash = Stores all changes in temporary location
description::
List, create, or delete branches.
Official-doc: git-branch.
description::
Join two or more development histories together.
Official-doc: git-merge.
description::
Update files in working-tree to match what specified.
Official-doc: git-checkout.
description::
Show history of commits.
Official-doc: git-log.
description::
Give name to commit.
Official-doc: git-tag.
description::
Stores all changes in temporary location.
Official-doc: git-stash.
name::
* McsEngl.Gitcmd.informing,
Specific::
* git-status = List all files changed since last commit
* git-log = Show the history of commits
* git-diff = Find difference between commits
* git-show = Show various types of objects
description::
Show various types of objects.
Official-doc: git-show.
name::
* McsEngl.Gitcmd.collaborating,
Specific::
* git-clone = Copy a remote repository
* git-remote = Manage set of tracked repositories
* git-pull = Fetch from and merge with another repository or a local branch
* git-fetch = Download objects and refs from another repository
* git-push = Update remote refs along with associated objects
description::
Manage set of tracked repositories.
Official-doc: git-remote.
name::
* McsEngl.Gitcmd.remote,
example::
git remote add origin https://github.com/synagonism/blockstack-hello.git
description::
Fetch from and merge with another repository or a local branch.
Official-doc: git-pull.
description::
Download objects and refs from another repository.
Official-doc: git-fetch.
description::
Update remote refs along with associated objects.
Official-doc: git-push.
name::
* McsEngl.Git'InfRsc,
* McsEngl.Gitrepo'Git'resource,
description::
* website: http://git-scm.com/
description::
Official: http://git-scm.com/documentation.
Specific::
Git started as a command-line tool, befitting its origin in the Linux kernel community. You can still use the Git command line, if you like, but you don’t have to. In particular, if you use GitHub as your host, you can use the free GitHub client on Windows or Mac. On the other hand, the Git command line will work for any host, and it comes pre-installed on most Mac and Linux systems.
Only you can decide whether you are most comfortable using the command line or a native client with a graphical user interface. If you like a GUI, in addition to the GitHub client (Windows and Mac), you might want to consider SourceTree (Windows and Mac, free), TortoiseGit (Windows only, free), and Gitbox (Mac only, $14.99). Or you can use an editor or IDE that supports Git internally (see tip No. 11).
[http://www.infoworld.com/article/3205884/application-development/20-tips-for-mastering-git-and-github.html]
description::
Extend your GitHub workflow beyond your browser with GitHub Desktop, completely redesigned with Electron.
Get a unified cross-platform experience that’s completely open source and ready to customize.
[https://desktop.github.com/]
name::
* McsEngl.Gitrepo'GitHub-desktop--program,
* McsEngl.GitHub-desktop--program,
description::
A user, the first thing he|she wants to do is to create a repo:
* install the Git-program,
* create a repository from an existing directory of working-files with git-init command or
* copy a remote repository with git-clone command,
"To create a local directory, initialize it as a Git repository, and make the first commit:
```bash
mkdir my-project
cd my-project
git init
touch README.md
git add .
git commit -m "Initial commit"
```
If Git asks for your identity first:
```bash
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
```
Then rerun the `git commit` command."
[{2026-08-31 retrieved} https://chatgpt.com/c/6a944b82-1290-83eb-9b7b-ae78f19f1d37]
name::
* McsEngl.Gitrepo'creating,
name::
* McsEngl.Gitrepo'renaming,
GitHub::
* on github.com: on repo settings, rename it,
* on local-storage: rename the-directory,
* on GitHub-desktop: remove old repo, find location of new repo,
description::
History|time is a continuous entity.
Of course Git cannot record the history of our working-files continuously.
The USER desides on which discrete point in time the program will store the state|stage of our working-files.
The set of all recorded points-in-time is the "history of the repository".
name::
* McsEngl.Gitrepo'versioning,
Definition::
* "Commit" they call any recorded stage of our working-files,
Name: "version", "stage", "snapshot".
They call it "commit" from the name of the command they use
to do this process.
* "Committing" they call the process
of storing a stage in the evolution of working-files.
warning::
Versioning is NOT an automatic process. The user subjectively
decides when to do it, in 3 steps:
1. make changes.
2. record what he|she wants to version. This is called "staging".
Repeat [1] and [2] as many times he wants.
3. make changes permanent. This is called "committing".
Description::
Recording points-in-time of the evolution of our working-files
(committing) is the first major feature of the git.
Its second major feature is its capability to create COPIES
of our working-files, in parallel with
our main working-files in order to experiment with, without
destroying our main working-files.
name::
* McsEngl.Gitrepo'branching-merging,
* McsEngl.Gitrepo'merging-branching,
Definition::
* "Branch" they call any copy of our working-files,
stored in our repository, PLUS its history.
* "Master-branch" or "master" they call the main working-files,
Git records stages not only of the master-branch but of any branch.
Merging::
Git does not stop on branching. Then it can merge the branches
with the master-branch, showing if there are conflicts.
Description::
As our work is developing and growing we must know our branches,
our commits, changes after last commit, etc.
Git has commands and tools to inform us about all these.
name::
* McsEngl.Gitrepo'informing,
description::
× Mcsh-creation: {2026-08-31}
"Use a `.gitignore` file in the root of your repository.
```gitignore
# Ignore a specific file
secret.txt
# Ignore all .log files
*.log
# Ignore a directory
node_modules/
# Ignore environment files
.env
# Ignore generated files
dist/
build/
```
Then commit the `.gitignore`:
```bash
git add .gitignore
git commit -m "Add gitignore"
```
If a file is **already tracked by Git**, adding it to `.gitignore` is not enough. Remove it from Git's index while keeping the local file:
```bash
git rm --cached secret.txt
git commit -m "Stop tracking secret.txt"
```
For a whole directory:
```bash
git rm -r --cached node_modules/
```
You can also check whether a file is being ignored with:
```bash
git check-ignore -v path/to/file
```"
[{2026-08-31 retrieved} https://chatgpt.com/c/6a944b82-1290-83eb-9b7b-ae78f19f1d37]
name::
* McsEngl..gitignore,
* McsEngl.Gitrepo'ignoring-info,
* McsEngl.ignoring-info-from-Gitrepo,
name::
* McsEngl.Gitrepo'collaborating,
General-Senario::
- you will do a number of commits locally,
- then fetch data from the online shared repository you cloned the project from to get up to date,
- merge any new work into the stuff you did,
- then push your changes back up.
description::
GitHub is a code hosting platform for version control and collaboration.
It lets you and others work together on projects from anywhere.
[https://guides.github.com/activities/hello-world/#what]
description::
* {2017-07-06} 20 tips for mastering Git and GitHub http://www.infoworld.com/,
name::
* McsEngl.Gitrepo.specific,
SPECIFIC::
* Local--git-repo,
* LocalNo--git-repo,
===
* GitHub--git-repo,
this webpage was-visited times since {2017-10-21}
page-wholepath:: synagonism.net / worldviewSngu / ModelTechInfo / Gitrepo
SEARCH::
This page uses 'locator-names', names that when you find them, you find the-LOCATION of the-concept they denote.
LOCAL-SEARCH:
Type CTRL+F "McsLag4.words-of-concept's-name", to go to the-LOCATION of the-concept.
GLOBAL-SEARCH:
Clicking on the-GREEN-BAR of a-page you have access to the-global--locator-names of my-site.
A-preview of the-description of a-global-name makes reading fast.
Abbreviations have no description.
WEBPAGE-VERSIONS::
• version.last.dynamic: McsTchInf000032.last.html.
• version.5-0-0.2021-04-10: (4-4) ../../dirMiwMcs/dirTchInf/filMcsGit-repo.5-0-0.2021-04-10.html.
• version.4-0-0.2017-11-26: ../../dirMiwMcs/dirTchInf/FilMcsGit-repo.4-0-0.2017-11-26.html,
• version.3-0-0.2017-10-21: ../../dirMiwMcs/dirTchInf/filMcsGit-repo.3-0-0.2017-10-21.html,
• version.2.2013-06-16: ../../dirMiwMcs/dirTchInf/git-repository.2.2013-06-16.html, (synagonism.net)
• version.1.2010-11-16: (GitHub),
• email: