|
Size: 1303
Comment:
|
Size: 1849
Comment: Link
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| Git is a version control system designed to be used in a distributed ecosystem and primarily interfaced in a terminal (i.e. `git(1)`). | '''Git''' is a version control system designed to be used in a distributed ecosystem and primarily interfaced in a terminal (i.e. `git(1)`). Compare to [[Cvs|CVS]]. |
| Line 13: | Line 15: |
On [[Windows]], see the [[https://gitforwindows.org/|Git for Windows]] project. |
|
| Line 30: | Line 34: |
| ---- | |
| Line 32: | Line 35: |
| === Submodules === | |
| Line 33: | Line 37: |
| To clone a repository that uses submodules, try: | |
| Line 34: | Line 39: |
| == Related Utilities and Services == | {{{ git clone --recurse-submodules [email protected]:example/example.git }}} |
| Line 36: | Line 43: |
| === Text Interfaces === | Alternatively, submodules can be pulled in a separate step. |
| Line 38: | Line 45: |
| {{{ git clone [email protected]:example/example.git cd example git submodule update --init --recursive }}} |
|
| Line 39: | Line 51: |
| To add a submodule, try: | |
| Line 40: | Line 53: |
| === Web Interfaces === | {{{ git submodule add [email protected]:example/subexample }}} |
| Line 42: | Line 57: |
| See: | To delete a submodule, try: |
| Line 44: | Line 59: |
| * !GitWeb * [[CGit|CGit]] === Services === * [[Git/GitShell|git-shell]] |
{{{ git submodule deinit subexample }}} |
| Line 57: | Line 67: |
| == Tips == | == Troubleshooting == |
| Line 80: | Line 90: |
| ---- == See also == [[https://man.archlinux.org/man/git.1|git(1)]] [[Git/GitShell|git-shell]] [[CGit|CGit]] |
Git
Git is a version control system designed to be used in a distributed ecosystem and primarily interfaced in a terminal (i.e. git(1)).
Compare to CVS.
Contents
Installation
All Linux distributions offer a git package. Most BSD distributions do as well.
On Windows, see the Git for Windows project.
Usage
To begin tracking a directory, run git init. This creates a .git folder to maintain the internal state of the version control system.
Use git status to show the current state in a human-readable format.
Branches
For more information about using branches, see here.
Submodules
To clone a repository that uses submodules, try:
git clone --recurse-submodules [email protected]:example/example.git
Alternatively, submodules can be pulled in a separate step.
git clone [email protected]:example/example.git cd example git submodule update --init --recursive
To add a submodule, try:
git submodule add [email protected]:example/subexample
To delete a submodule, try:
git submodule deinit subexample
Troubleshooting
Fatal error when cloning a remote repository
If git fails to clone a remote repository, possibly with one of the following error messages:
fatal: fetch-pack: invalid index-pack output ... fatal: early EOF fatal: index-pack failed
Then try a shallow clone first:
git clone --depth 1 https://example.com/repo.git git fetch --unshallow git pull --all
