1. GitHub 세팅
1-1. GitHub 가입하기
GitHub: Let’s build from here
GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...
github.com
1-2. Repository 생성하기
로그인이 되었다면 아래 Create repository
이미 만들어진 repository가 있다면 아래처럼 New를 클릭
레파지토리 이름을 설정하고 Public(공개)/Private(비공개)를 설정한 후, Add a README file을 클릭하여 README file을 추가한다. 설정이 완료되면 Create Repository를 클릭한다.
- 나중에 설정 탭에서 Public와 Private 상호 변경이 가능하다.
1-3. GitHub에 파일 올리기
1) GUI, CLI를 이용하여 GitHub에 올리기
- Add file > Upload File > 001.html
- 초기 레파지토리 생성시 README.md 파일을 생성하지 않았을 경우 해당 화면이 나오지 않고, 아래와 같은 git 명령어가 나오게 된다. 똑같이 git bash에 입력하면 README.md파일이 GitHub 레파지토리로 들어가는 것을 확인할 수 있다.
2) Repository 내 하위폴더 생성하기
프로젝트를 진행하다보면 레파지토리의 갯수가 늘어나게 된다. 이렇게 늘어난 레파지토리를 체계적으로 관리하기 위해서는 하위 폴더의 생성이 필요하다.
① 우측 상단의 Add file을 클릭하고 Create new file을 클릭한다.
② / 를 기준으로 폴더가 분리된다. /{폴더명} 을 입력해서 폴더를 생성한다.
③ 빈 폴더는 생성되지 않는다. 임의의 파일을 생성해주어야 아래와 같이 commit new file 버튼이 활성화 된다. Commit new file 버튼을 클릭한다.
④ githubTest 레파지토리안에 test 폴더가 생성되었고 폴더의 하위에 index.html 파일이 생성된 것을 확인할 수 있다.
index.html 파일을 각각에 하위 폴더로 넣고 GitHub Page를 운영할 경우 하위 폴더를 http://{계정명}.github.io/{폴더명}/{폴더명} 과 같이 URL 구조처럼 사용할 수 있다. 예) paullabkorea/githubtest/test → 실제로는 test 폴더에 index.html로 연결된다. |
2. git clone
- 원격 저장소의 코드를 컴퓨터에 받아올 수 있다. 새 작업 디렉토리 만들고(mkdir 명령어) 생성한 디렉토리로 이동(cd 명령어)한다.
$ mkdir filename
$ cd filename
$ git clone https://github.com/id/clone-filename.git .
클론 시 점(.)을 찍는 이유는 현재 폴더에 클론 받기 위해서 이다. 만약, 점(.)을 찍지 않을 경우 새 폴더를 생성한다. |
3. git pull
원격 저장소에 업데이트 된 데이터를 가져오고 병합할 때 사용한다.
$ git pull origin main
- 코드를 수정하고 pull 받으려하니 누군가 이미 코드를 수정했을 경우에 사용하는 명령어이다. push를 하려고 했더니 누군가 이미 push를 해서 pull을 받아야 하는 상황이다.
시나리오
A사람 clone --- push1
B사람 clone -------------- pull-push2
C사람 clone ------------------------------- push3(pull 받지 않아 error)
1) 로컬 main과 원격 main을 다른 브랜치로 보고 병합한다.
git pull --no-rebase
2) 시간상 순서대로 병합한다.
git pull --rebase
4. git add, git commit, git push
4-1. git add, git commit, git push
이미지 파일을 다운로드 받은 곳에 올리고 아래 명령어를 입력한다.
- 한이 주어진 경우에는 소스 코드 수정 후 커밋과 푸시하기
$ git status
$ git add .
$ git commit -m "추가 작업 내역입니다."
$ git push origin main
push가 완료되면 GitHub에 잘 올라갔는지 확인한다. push를 하게 되면 로컬 저장소에 있는 소스 코드 또는 파일들이 GitHub에 올라가게 된다.
GUI 환경에서 히스토리를 확인할 수 있다. 아래처럼 누가 어떤 소스코드를 수정했는지 내역을 확인할 수 있다. 되돌릴 수도 있다.
원격 저장소와 로컬 저장소의 싱크가 맞지 않아(예를 들어 컴밋 개수가 다르다던지) 로컬 저장소로 강제로 맞추고 싶을 때 사용하는 명령어이다. 이 명령어는 혼자 레파지토리를 사용할 때 사용하고 절대 협업시 사용해서는 안되는 명령어이다.
git push --force
4-2. git push password 에러
- token을 발급하지 않아도 readme.md 파일 없이 레파지토리 생성 후 github에서 제시한 명령어를 Visual Studio Code 터미널에 입력하면 간단한 웹 인증만으로 연결이 될 수 있으니 참고 해야한다.(OS에 따라 안될 수도 있다.)
push 할 때 다음과 같은 에러가 뜰 수 있다. 2021년 8월 13일부터 비밀번호 인증 지원을 사용하지 못하도록 보안 업데이트가 되었기 때문이다.
remote: support for password authentication was removed on august 13, 2021. please use a personal access token instead. |
위와 같은 경우, 비밀번호 대신 token 이나 ssh 두가지 중 하나의 인증을 사용해야 한다.
1) token 발급하기
① GitHub 오른쪽 상단에 있는 개인 프로필을 클릭한 후, Settings를 클릭한다.
② 좌측 메뉴 가장 하단에 있는 Developer settings > Personal access token > Personal access tokens (classic) > Generate new token을 클릭한다.
③ 클릭을 했을 때 Generate new token (classic)을 선택해야 한다. 휴대폰 인증을 활성화 두었다면 아래처럼 휴대폰 인증이 떴을 수도 있다. 활성화 해두지 않았다면 비밀번호를 입력하는 창이 떴을것이다.
④ 인증을 마치면, 토큰을 생성한다. 토큰 이름과 허가할 권한을 체크한 후에 Generate token을 클릭한다.
⑤ 생성된 토큰을 복사하고 필요한 곳에 사용한다. 이때 토큰은 한번만 보여지기 때문에 안전한 곳에 보관한다. 우선 메모장에 복사해야한다. 발급된 토큰은 부여된 권한만 볼 수 있다. 재발급을 원할 경우에는 재발급하고자 하는 토큰을 클릭 후, Regenerate token을 클릭하면 토큰이 재생성 된다.
⑥ 토큰 발급이 완료되면 운영체제에 맞게 적용시킨다.
- Windows
제어판 > 사용자 계정 > 자격 증명 관리자 > Windows 자격증명 > git:https//github.com 찾기 > 편집 > 암호를 token으로 대체
- Mac
Mac OS의 경우 push 명령어를 실행할 때 여전히 같은 에러가 나타날 수 있다. Mac 키체인에 등록되어 있는 GitHub 권한 정보가 ID/Password로 되어 있기 때문이다. 이럴 경우에는 GitHub의 권한 정보를 위의 발급받은 ID/Personal Access Token으로 변경해주어야한다.
ⓐ 키체인 접근 (Keychain Access app)
ⓑ github.com 찾기
github.com이 없는 경우에는 빨간색 박스 버튼을 클릭 후 추가하면 된다.
아래와 같이 이름과 계정 이름 추가하면 된다.
ⓒ 암호보기(show password)를 클릭하여 token 암호로 대체한다.
ⓓ 만약 아래와 같은 화면이 뜨면 MAC 비밀번호를 입력하시면 된다.
2) SSH Key 생성하기
① ssh key를 생성한다. GitHub 계정 생성 시 사용한 이메일과 비밀번호를 입력한다.
$ ssh-keygen -t rsa -C "email@example.com"
Enter file in which to save the key (/c/Users/paullab/.ssh/id_rsa): Enter를 누릅니다.
Enter passphrase (empty for no passphrase): github password
Enter same passphrase again: github password
② 공개키를 가져온다. 공개키가 출력되면 복사한다.
$ cat ~/.ssh/id_rsa.pub
③ GitHub 상단에 있는 개인 프로필을 클릭한 후, Settings를 클릭한다.
④ 좌측 메뉴에 SSH and GPG keys > New SSH key를 클릭하여 SSH Key 이름과 Key에 복사한 공개키를 붙여넣는다.
⑤ SSH Key 공개키가 잘 등록된 것을 확인할 수 있다.
- 레파지토리가 이미 있다면 2번째 사항 선택
git remote add origin https://github.com/paullabkorea/githubtest.git
- https://github.com/paullabkorea/githubtest.git저장소를 origin이라는 이름으로 연결 등록
git branch -M main
- 현재 로컬에서 master로 되어 있는 기본 브랜치를 main으로 설정
- 기본 브랜치명 변경(git config --global init.defaultbranch main)을 해두셨으면 2번째 생략 가능
git push -u origin main
- origin원격 저장소에 main 브렌치에 현재 브랜치 연결(--set-upstream(단축 : -u) )
'통합개발도구 > Git & Git-Hub' 카테고리의 다른 글
6. Pull Request (0) | 2024.06.07 |
---|---|
5. Fork (0) | 2024.06.07 |
4. Branch (1) | 2024.06.07 |
2. Git (0) | 2024.06.05 |
1. Git & GitHub 기본 개념 (0) | 2024.06.05 |
댓글