: github의 원격 저장소를 본인의 지역 저장소에 연결합니다. 처음 연결할 때에는 보통 원격 저장소 약어를 'origin'으로 설정을 하며, 추가로 다른 약어를 사용하셔도 무방합니다.
이 경우, push할 때 아이디와 password를 입력해야됨.
'Black Lives Matter' 운동의 일환으로 기존 Master/Slave(주/종) 관계를 뜻하는 단어를 다른 단어로 대체하기 위해서 branch명을 master에서 main으로 변경하도록 설정이 추가되었습니다. 이전 사용자분들도 참고하시길 바랍니다. 기존 master로 사용하던 명칭도 아래의 주소로 가시면 main으로 변경이 가능합니다. https://github.com/settings/repositories
3. 본인의 github setting으로 이동하여 해당 public key를 등록해준다.
4. git remote add origin [ssh 주소]를 입력하여 원격 저장소와 연결한다.
| ssh-keygen
: ssh 방식을 사용하기 위해 공개키(public key)와 비밀키(private key)를 생성합니다.
| cd ~/.ssh
: 여기서 '~' 물결표시는 본인의 홈 디렉토리 주소를 의미한다. 즉, c/Users/[본인PC명] 과 같은 의미입니다.
출처: egoing, 생활코딩 github 강의
SSH 방식은 공개키(public key)와 비밀키(private key)를 사용함으로써 로그인 보안을 높혀주는 또 다른 형태의 연결 방법이다. 두 키는 1:1 대응하며, 쉽게 말해 퍼즐조각이 하나 빠진 퍼즐판(public key), 마지막 퍼즐 조각(private key)로써 둘이 일치했을 때 로그인이 되는 것이다.
출처: pixabay
| cat id_rsa.pub
: 공개키(public key)값의 내용을 출력합니다.
| github > setting > SSH and GPG keys > New SSH key
이 경우, HTTPS 방식과 달리 따로 로그인을 하지 않고도 자동으로 앞서 소개한 공개키와 비밀키의 일치여부를 판단하여 push를 할 수 있게 됩니다.
| git push -u origin main
: 원격 저장소 origin의 main branch에 내용을 업데이트합니다.
git push -u origin main 에러 해결하기!! 이 경우 반응이 없고 멈추어 버리는 에러가 발생하기도 합니다. [발생원인] 이 때는 설치된 git 버전이 오래되었거나, master -> main으로 브랜치명이 변경된 것을 제대로 인식하지 못해서 발생하는 에러 같더군요. [해결방안 1] 이 경우 git update-git-for-windows를 통해 업데이트를 진행해주세요. [해결방안 2] git을 삭제 후 재설치 해주세요. 이 때, 보통 기초 강의를 듣게 되면 아래 메뉴를 상단의 Let Git decide 메뉴를 선택하여 설치해도 된다고 안내를 해주십니다. 이 메뉴의 경우 기본 branch를 'master'로 설정해줍니다. 하지만, 'BLM' 운동의 일환으로 'Master' 대신 'Main'을 쓰게 되었지요. 저도 이렇게 설치했었다가, 계속 오류가 나서 하단의 Override the default branch name for reposiories 메뉴를 선택하여 해결하였습니다. 해당 메뉴는 override(덮혀쓰기) 기본 branch명을 'master'가 아닌 'main'으로 통일해주는 옵션을 선택해주었더니 위 에러가 해결되었습니다.
| git remote remove [저장소명]
: 원격 저장소를 제거합니다.
| git remote -v
: 원격 저장소 목록을 출력합니다.
| git push [업로드할 원격 저장소명] [브랜치명]
: 원격 저장소의 브랜치로 내용을 업데이트합니다.
| git push --set-upstream [업로드할 원격 저장소명] [브랜치명]
: 다음 git push 실행시 [업로드할 원격 저장소명] [브랜치명]로 자동으로 push 되도록 설정합니다.
즉, 다음 git push 에서는 [업로드할 원격 저장소명] [브랜치명]을 입력하지 않아도 됩니다.
| git clone [복제할 원격 저장소 주소] [생성할 복제 폴더명]
: 해당 폴더에 원격 저장소의 내용을 복제하여 가져옵니다.
| git log --reverse
: git log를 시간을 오름차순으로 표시합니다.
| git pull
: 원격 저장소에 올린 내용을 지역 저장소로 내려 받습니다.
git pull로 가져오게 되면 지역 저장소 내용에 원격 저장소 내용이 병합(merge) 됩니다.
항상 git push 전에는 git pull을 통해 지역 저장소에 원격 저장소에 병합을 하셔야 됩니다.
만약, git pull 하지않고 git push를 하게 되면 reject 에러가 발생하게 됩니다.
따라서 정리하면
1. git pull
2. git push
동시에 사용하는 명령어
git pull; git push;
| Tag
| git tag [태그명] | [원하는 커밋 해시] or [branch 명칭] // light weight tag
: commit에 이름을 달아주는 것. ex) 버전 관리
▲ light weight tag
| git tag
: 현재 tag 목록을 출력합니다.
▲ git tag
| git tag -a [태그명] | [원하는 커밋 해시] or [branch 명칭] | -m "[태그 설명]" // annotated tag