[마지막 수정 : 2020.12.28]
0.
깃, 깃허브를 사용하며 생기는 여러 가지 어려움이 있을 때 어떻게 해결하였는지 작성할 계획이다.
여러 가지 상황과 해결법을 작성할 예정이며, 지속적으로 업데이트할 계획이다.
상황 1. fatal: refusing to merge unrelated histories 에러
기존에 미리 작업해두었던 프로젝트들을 깃허브에 한 번에 올리고 싶었다.
깃허브 저장소를 생성하고 빈 저장소에 기존 작업했던 파일들을 모두 add, commit, push를 진행하였으나, main 브랜치에 저장되지 않고 master 브랜치에 저장되었다.
main 브랜치에서 master 브랜치를 병합하려고 하였는데 "fatal: refusing to merge unrelated histories"이라는 에러 메시지가 떴다.
해결법
파일 간 변동 사항이 엄청 클 때 git 자체에서 이를 거부한다.
이를 해결하기 위해서는 다음과 같이 옵션을 추가해주면 된다.
merge 뿐만 아니라, push, pull 할 때도 동일한 방식을 사용하면 된다.
$ git merge 브런치명 --allow-unrelated-histories
상황 1-1. 원격 브랜치, 로컬 브랜치 삭제 방법
상황 1을 해결하고서 원격에 있는 master 브랜치를 어떻게 삭제할까?
또 로컬에 있는 master 브랜치를 어떻게 삭제할까?
해결법
$ git push origin --delete [브랜치]
$ git branch -d [브랜치]
상황 2. 수정, 추가, 변경 파일 모두 커밋하는 방법
로컬 저장소에서 여러 개의 파일을 수정을 하였다.
하나하나 일일이 add, commit을 하기에는 번거롭다. 어떻게 한 번에 할까?
해결법
새로 만든 것, 수정, 삭제 등 모든 변경된 파일을 add 하려면
$ git add -A
추가적으로, 기존에 추적하고 있던 파일만 add 하려면
$ git add -u
상황 3. 특정 파일 수정하기 전으로 되돌리기
특정 파일을 막 이리저리 수정하다가 도저히 감당이 안되어서 수정하기 전으로 되돌리고 싶다.
그런데, 커밋했던 시점으로 초기화하고 싶기는 한데 다른 파일은 되돌리고 싶지 않다.
특정 파일만 수정하기 전(즉, 마지막 커밋 시점)으로 되돌리고 싶으면 어떻게 해야 할까?
해결법
특정 파일만 되돌리려면
$ git checkout -- [파일명]
추가적으로, 모든 파일을 되돌리려면
$ git reset --hard
상황 4. 커밋 메시지 수정
방금 커밋을 했는데 커밋 메시지가 마음에 들지 않는다.
어떻게 해야 커밋 메시지를 변경할 수 있을까?
해결법
가장 최근 커밋한 메세지를 수정하려면 다음과 같이 하면 된다.
-m 옵션을 주지 않으면 텍스트 편집기를 통해 편집한다.
$ git commit --amend -m "new commit message"
상황 5. push 할 때 name, password 한 번만 입력하도록 하기
push 할 때마다 나에 대한 정보를 입력하라고 하여서 매우 귀찮아졌다.
내 정보를 저장한 뒤 다음부터는 입력 안 하려면 어떻게 해야 할까..
물론 보안성은 떨어질 것이다.
해결법
$ git config credential.helper store
# 출처
https://gdtbgl93.tistory.com/63
https://www.lesstif.com/gitbook/git-20776547.html
https://programmingsummaries.tistory.com/366
http://dudmy.net/git/2020/02/26/changing-commit-message/
'Etc. > solution' 카테고리의 다른 글
[AMD] 시스템 드라이버 시간 초과를 감지했습니다. 화면 깜빡임 해결법 (0) | 2021.06.25 |
---|---|
[오캠] 오캠 녹화 오류 mp4 파일 복구하는 방법 (미디어를 재생할 수 없습니다) (37) | 2021.04.30 |
[모니터] 모니터 색상이 갑자기 이상해요 해결법 (5) | 2021.03.13 |
[vscode] wsl 환경에서 자바 컴파일시 오류 해결법 (0) | 2021.01.14 |
[오캠] 메모리 리소스가 부족하여 이 명령을 처리할 수 없습니다. 해결법 (4) | 2020.12.18 |