git을 이용하기 위해서 내가 했던 여러가지 방법들에 대해 설명을 할 것이다.
먼저, 기본적으로 git을 사용하는 방법이다.
[참조] https://vanillacreamdonut.tistory.com/193
[Github] 깃 허브에 폴더 전체 업로드 방법!
내 컴퓨터의 폴더 전체를 깃허브에 업로드를 하고 싶었다! 1. 업로드할 폴더의 상위 폴더로 가서 git bash 클릭! (우클릭) git bash here를 클릭해준다! 2. 폴더 Add - Commit - Push Git 오류! fatal: not a git reposi
vanillacreamdonut.tistory.com
1. git init
2. git remote add origin github주소
3. git add 파일명
4. git commit -m "하고싶은 이름"
5. git push origin main
기본적인 루트는 위와 같다.
그 외에 자주 혹은 알고 있어야할 코드는
1. git status : 지금 상태를 알려준다. 어떤 파일이 add로 올라가있고, 어떤 파일을 add 할 수 있는지
2. git log : 어떤 commit을 했는지 알려준다. log를 나가고 싶다면 q를 누르면 된다.
3. git pull origin main : 만약 몇개의 파일이 올라가있는데 거기에 새로 연결을 해서 올리는 경우 pull을 하라고 error가 생성이 될 것이다. 그때 사용해야하는 코드이다.
4. git remote -v : 내가 저장소랑 연결되어있는지 확인이 가능하다.
이 후부턴 내가 부딪혔던 문제에 대한 내용을 설명할 것이다.
첫번째 문제
내가 예전에 부딪혔던 문제는 main과 master이다.
내 깃헙은 main인데 (master)이라고 뜰 경우가 있다.
그러면 main으로 올라가지 않는다. 즉, 내가 원하는 장소에 올라가지 않는다.
기본 branch를 master -> main 으로 변경하고 싶다면
$ git config --global init.defaultbranch main
을 이용하면 된다.
[Git] 기본 브랜치를 master에서 main으로 변경하기
기본 브랜치를 master에서 main으로 변경하기 Git bash에서 git 로컬 저장소 생성(초기화)($ git init) 시 기본 브랜치가 master로 되어있다. 현재 Github와 Gitlab에서는 main을 기본 브랜치로 하였기 때문에 gith
mimah.tistory.com
두번째 문제 : rpc failed http 500 curl 22 the requested url returned error 500, fatal: the remote end hung up unexpectedly
error가 생겼다. 이는 파일의 용량이 커서 크기를 늘릴 필요가 있다고 했다.
$ git config --global http.postBuffer 157286400
하지만 실패했다.
여전히 같은 문제를 반복하고 있었다.
그리고 해결이 안되었으니 위는 다시 초기화를 해주어야했다.
git config --global --unset http.postBuffer
세번째 문제 : GH001: Large files detected.
github은 100MB가 넘는 파일을 올릴 수 없다.
그래서 두번째 문제에서의 코드도 소용이 없고, error도 자꾸 생겼던 것이다.
해결 방법으로 LFS를 발견했다.
Git Large File Storage
Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.
git-lfs.com
일단 여기서 다운을 받고,
$ git lfs install
$ git lfs track "파일이름"
$ git add .gitattributes
$ git commit -m "이름"
$ git push origin main
https://min-kyung.tistory.com/19
[Github] Git LFS로 깃허브에 100MB 넘는 파일 올리기
깃허브를 사용하면 가끔 100MB 넘는 파일을 올릴 때가 있다 그러면 아래와 같이 에러가 발생한다 this exceeds Github's file size limit of 100.00MB GH001: Large files detected. You may want to try Git Large File Storage - https
min-kyung.tistory.com
이렇게 하라는 방법을 찾았다. 근데 문제는
올라간 파일을 보면 gitattributes 파일만 올라가있는 것이었다.
그래서 3번째 줄까지 실행 하고
$ git add "올리고 싶은 파일"
이 코드를 작성했는데 똑같이 error가 생겼다.
그래서 다시 돌려주어야했다.
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
[Git] git add 취소하기, git commit 취소하기, git push 취소하기 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
만약 add 만한 부분을 돌려주고 싶다면 $ git reset HEAD
commit 후 돌려주고 싶다면 $ git reset HEAD^
이렇게 해주어야했다. 그래서 여러번 돌리고 실행하고를 반복했지만 실패했다.
네번째 문제 : update were rejected because the remote contains work that you do
반복을 하다보니 위 같은 push error가 생겼다.
pull을 해도 안되길래 다른 방법을 찾아보았다.
https://doozi316.github.io/errorlog/2019/09/30/error1/
Git push 오류 해결 (Updates were rejected because the tip of your current branch is behind its remote..)
doozi316.github.io
$ git push origin +main
다섯번째 문제 : You've added another git repository inside your current repository.
다시 처음부터 하는데 이상하게 error가 또 생겼다.
https://heytech.tistory.com/400
Github 에러 해결: "gwarning: adding embedded git repository:"
❓ 에러 메시지 Add 중 다음과 같은 에러를 마주했습니다(그림 1). gwarning: adding embedded git repository: mecab-0.996-ko-0.9.2/mecab-python-0.996 hint: You've added another git repository inside your current repository. hint: Clones o
heytech.tistory.com
해결은 .git을 삭제하라는 것이었다.
삭제했더니 오마이갓 이젠 git 저장소 지정해뒀던게 사라졌다...
그래서 다시 remote 하고 다시 pull 하고 push 했다.
근데 또 이번엔 git reset HEAD^가 안된다... 그러다 git config를 들어가게 되었는데
config에 들어갔다가 나오려면 :qa 를 누르고 엔터를 누르면 된다.
여섯번째 문제
이것저것 해보고 강제로 파일을 업로드 시켜보기도 하니 갑자기 파란색 화살표 폴더가 생겼다.
github에서는 파일에 들어가지지도 않았다.
[Git] git 원격 저장소의 파일 삭제하는 방법
[Git] .gitignore 을 활용하여 필요없는 파일 제외하고 업로드하기 이전에 Git으로 여러사람들과 협업을 할때 프로젝트에 참여했던 모두가 venv 가상환경 파일들과 __pycache__파일들까지 모두 GitHub에 pus
somjang.tistory.com
그래서 파일을 삭제시켰다.
결국 처음부터 다시하고 LFS를 다시 설치하고 github 파일 날려먹고 다시 복구하고 등등
위 error들을 자꾸 반복해서 만나고 이것저것 여러가지 방법을 시도했는데 안됐다.
혹시 lfs를 내가 왜 사용하지 못했는지 아는 사람이 이 글을 본다면 댓글에 알려주길 바란다.(제발 알려주세요ㅠㅠ)
그냥 똑같이 init 하고, remote 하고, 용량작은 몇 개 파일 업로드하고, 큰 파일은 lfs 불러서 push 했는데 큰 파일만 안된다...
결국, 구글 드라이브를 공유하거나 해서 업로드할 생각이다.