반응형 github15 git ssh key 등록했는데 username 물어볼 때 해결 문제git 터미널에서 username, password를 이용한 인증은 2021년에 종료되었다.ssh key를 등록하여 사용하여야 하는데,ssh key를 등록했는데도 push, pull 시 username을 물어보는 경우가 있다. 원인원격저장소 설정 시 https 방식을 썼는데, ssh 방식을 써야 한다. 해결원격저장소 설정 시 명령어를 아래와 같이 썼을 것이다.git remote add origin "https://github.com/ID/PROJECT.git" 위 명령어 대신 아래 명령어를 사용해보자.git remote add origin "git@github.com:ID/PROJECT.git 참고로, 이미 설정한 원격저장소는 아래 명령어로 삭제할 수 있다.git remote rm origin 2024. 12. 22. 깃허브(Github/Git) 화살표 폴더, 폴더 클릭 안 됨 해결 문제: 깃허브 폴더 목록 중 아이콘에 화살표가 그려진 폴더가 생겼다. 클릭이 안된다. 원인: 저장소에 하위 저장소가 생겼기 때문이다. 즉 문제의 폴더 안에 .git 파일이 있는 것이다. 해결방법: 1. 컴퓨터에서 숨겨진 파일을 보이게 한다. *숨김파일 표시 방법 1) 윈도우(Windows): 파일탐색기 > 상단 보기 탭 > '숨긴 항목' 체크 2) 맥(Mac): Finder > command+shift+. 키 입력 원래 저장소가 Main 폴더고, 문제의 폴더는 그 안에있는 Sub 폴더라고 하자. 즉 깃허브에서 화살표 표시가 되는 폴더는 Sub폴더이다. 그럼 Main 폴더와 Sub폴더 모두에 .git 파일이 있는 것을 확인할 수 있다. 2. 문제의 폴더에 있는 .git 파일을 제거한다. 즉 Sub 폴더 내.. 2022. 6. 30. 깃 병합 충돌 해결 (Git merge Conflict) - 한 쪽 브랜치로 덮어쓰기 깃 브랜치를 병합할 때 충돌이 나는 경우가 있다. 이 때 한쪽 브랜치의 내용을 선택하도록 옵션을 줄 수 있다. // 현재 브랜치로 덮어써서 병합 (ours → 우리 걸 쓰겠다) $ git merge -Xours targetBranch // 목표 브랜치로 덮어써서 병합 (theirs → 저쪽 걸 쓰겠다) $ git merge -Xtheirs targetBranch 예를 들어 'main' 브랜치에 'sub' 브랜치를 병합할 때, 충돌이 나는 부분은 'main' 브랜치 쪽을 선택하여 병합하려면? main 브랜치로 전환(checkout)한 뒤에 $ git merge -Xours sub 라고 명령한다. 이 옵션에 대한 더 자세한 내용은 깃 문서를 참고하자. 2022. 6. 11. 깃(Git) 오류 해결 - fatal: Could not reset index file to revision (git reset --hard 안될 때) 상황 로컬저장소의 'work' 브랜치를 원격저장소의 'main(혹은 master)'브랜치의 내용으로 덮어쓰려고 한다. git reset --hard origin/master 를 입력하였다. (참고: Git 브랜치 내용 덮어쓰기 (reset --hard origin/master)) 문제 다음과 같은 오류가 발생했다. fatal: Could not reset index file to revision 'origin/main' 해결 방법 work 브랜치에서 다음을 순서대로 입력한다. $ git gc $ git rm .git/index $ git reset $ git reset --hard origin/main 무슨 일이 일어날까? git gc: 'garbage collection', 즉 쓰레기 치우기. 로컬 저.. 2022. 6. 10. Git 브랜치 강제로 덮어쓰기 (강제 push 하기) 1.원격 브랜치 덮어쓰기 로컬 저장소에서 작업한 내용을 push 했더니, 원격 저장소와 다른 내용이 있다며 되지 않았다. 그래서 pull을 했는데 이번엔 현재 작업한 것과 원격 저장소에 있던 것이 충돌이 났다. 충돌난 파일은 해결하기 어려운게 많았다. 이런 경우 그냥 로컬에서 현재 작업한 내용을 원격 저장소에 강제로 push하여 덮어쓸 수 있다. 물론 이런 건 혼자 쓰는 저장소에서만 사용하자. $ git push origin +브랜치이름 예를 들어 main 브랜치를 덮어쓰려면 git push origin +main이라고 하면 된다. 2. 로컬 브랜치 덮어쓰기 반대로 로컬 저장소를 덮어쓰고 싶다면 다음 글을 확인하자. Git 강제 pull, 로컬 브랜치 덮어쓰기 2022. 6. 8. Git 강제 pull, 로컬 브랜치 덮어쓰기 (reset --hard origin/master) 로컬 브랜치 덮어쓰기 *원격 브랜치 덮어쓰기(강제 push)는 이 글을 참고 상황 A 브랜치, B 브랜치가 있다. (A와 B가 같은 브랜치여도 가능) 원격 저장소의 A 브랜치의 내용을 가져와서 로컬 저장소의 B 브랜치에 덮어쓰려고 한다. 즉 강제 pull을 하려고 한다. 방법 1. 로컬에서 B 브랜치로 전환하기 git checkout B 2. B 브랜치를 A브랜치의 내용으로 덮어쓰기 git reset --hard origin/A 무슨 일이 일어날까? 현재 로컬 저장소의 B 브랜치에 있는 모든 내용과 변경사항을 버리고, 원격저장소의 A 브랜치와 동일하게 만든다. 2022. 6. 3. 이전 1 2 3 다음 반응형