728x90
반응형
문제점 및 증상
프로젝트에서 수정 작업을하고 난 후 GitLab 저장소에 이미지 약 100여개를 추가하고, "git push"를 하였더니 아래와 같은 오류가 발생하였습니다.
$ git push
Enumerating objects: 74, done.
Counting objects: 100% (72/72), done.
Delta compression using up to 12 threads
Compressing objects: 100% (68/68), done.
client_loop: send disconnect: Connection reset by peer
Wsend-pack: unexpected disconnect while reading sideband packet
fatal: sha1 file '' write error: Broken pipe
fatal: the remote end hung up unexpectedly
이것 저것 시도를 해 보았지만, 위와 같은 오류가 계속 발생하며 정상적으로 push가 이루어지지 않았습니다.
해결 방안
다음과 같이 GitLab 저장소 연결을 ssh를 통하여 처리하고 있었습니다.
$ git remote -v
origin ssh://git@my-gitlab.kr/web/www.git (fetch)
origin ssh://git@my-gitlab.kr/web/www.git (push)
혹시나 하고, 다음과 같이 ssh 가 아닌 https 저장소 주소로 변경 후, push를 하였더니 정상적으로 적용되었습니다.
$ git remote set-url origin https://my-gitlab.kr/web/www.git
$ git push
Enumerating objects: 74, done.
Counting objects: 100% (72/72), done.
Delta compression using up to 12 threads
Compressing objects: 100% (68/68), done.
Writing objects: 100% (68/68), 17.19 MiB | 5.84 MiB/s, done.
Total 68 (delta 5), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for dev, visit:
remote: http://my-gitlab.kr/web/www/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote:
To https://my-gitlab.kr/web/www.git
15ed651..977d70d dev -> dev
물론 위와 같이 https로 저장소 주소를 변경하면, push나 pull시에 사용자 계정 정보를 계속 입력해 줘야 하는 불편이 생깁니다.
다시 아래와 같이 원래 저장소 주소로 변경하면 계정 정보의 입력없이 git 저장소를 관리할 수 있습니다.
$ git remote set-url origin ssh://git@my-gitlab.kr/web/www.git
결론
특정 프로토콜에서 git push 오류가 발생하면, 다른 형식의 저장소 주소로 해당 버전을 push하고 다시 원래 주소로 설정하면, 위와 같은 git push 문제를 해결할 수 있습니다.
'Linux,Unix,BSD' 카테고리의 다른 글
[linux] USB 점검을 위한 세부 정보 얻기 (0) | 2022.01.11 |
---|---|
[shell] 특정 문자열이 포함된 줄 번호 출력하기 (0) | 2021.10.26 |
git push가 안되는 증상 : "fatal: Could not read from remote repository." (0) | 2021.09.27 |
[linux] 시스템 재부팅 및 동작시간 확인하기 (0) | 2021.09.24 |
[git] Linux 터미널에서 암호 저장 설정하기 (0) | 2021.09.12 |