Skip to content
Snippets Groups Projects
Verified Commit b6c55e25 authored by Ian Scorer's avatar Ian Scorer Committed by Achilleas Pipinellis
Browse files

Add new "Troubleshooting Git" page to General documentation (Admin).

parent a11fae24
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -61,6 +61,10 @@ We've gathered some resources to help you to get the best from Git with GitLab.
- [Getting Started with Git LFS](https://about.gitlab.com/2017/01/30/getting-started-with-git-lfs-tutorial/)
- [Towards a production quality open source Git LFS server](https://about.gitlab.com/2015/08/13/towards-a-production-quality-open-source-git-lfs-server/)
 
## Troubleshooting
- Learn a few [Git troubleshooting](troubleshooting_git.md) techniques to help you out.
## General information
 
- **Articles:**
Loading
Loading
# Troubleshooting Git
Sometimes things don't work the way they should or as you might expect when
you're using Git. Here are some tips on troubleshooting and resolving issues
with Git.
## Error Messages
### ‘Broken pipe’ Errors on Git Push
‘Broken pipe’ errors can occur when attempting to push to a remote repository:
```
Write failed: Broken pipe
fatal: The remote end hung up unexpectedly
```
#### If pushing over HTTP
Try increasing the POST buffer size in Git configuration:
```sh
git config http.postBuffer 52428800
```
The value is specified in bytes, so in the above case the buffer size has been
set to 50MB. The default is 1MB.
#### If pushing over SSH
1. Check SSH configuration:
‘Broken pipe’ errors can sometimes be caused by underlying issues with SSH
(such as authentication), so first check that SSH is correctly configured by
following the instructions in [SSH Troubleshooting][SSH-Troubleshooting].
1. Prevent session timeouts by configuring SSH ‘keep alive’ either on the client
or on the server:
>**Note:** configuring *both* the client and the server is unnecessary.
#### Configure SSH on the client
**On Linux (ssh)**
Edit `~/.ssh/config` (create the file if it doesn’t exist) and insert:
```apache
Host your-gitlab-instance-url.com
ServerAliveInterval 60
ServerAliveCountMax 5
```
**On Windows (PuTTY)**
In your session properties, go to *Connection* and under
`Sending of null packets to keep session active`, set
`Seconds between keepalives (0 to turn off)` to 60.
#### Configure SSH on the server
Edit `/etc/ssh/sshd_config` and insert:
```apache
ClientAliveInterval 60
ClientAliveCountMax 5
```
#### If 'pack-objects' type errors are also being displayed
1. Try to run a `git repack` before attempting to push to the remote repository again:
```
git repack
git push
```
1. If you’re running an older version of Git (< 2.9), consider upgrading Git to >= 2.9
(see ‘[Broken pipe when pushing to Git repository][Broken-Pipe]').
[SSH-Troubleshooting]: https://docs.gitlab.com/ce/ssh/README.html#troubleshooting "SSH Troubleshooting"
[Broken-Pipe]: https://stackoverflow.com/questions/19120120/broken-pipe-when-pushing-to-git-repository/36971469#36971469 "StackOverflow: 'Broken pipe when pushing to Git repository'"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment