Local에 Git으로 관리할 빈 폴더 생성
VSCode에서 폴더 선택
선택한 폴더를 Local Git Repository로 만들기 (= Git Init)
Local Repository에 [.git] 폴더가 생성됨을 확인
VSCode에서 소스 제어 Repository Section의 View Git Graph(git log)를 클릭
Git으로 관리할 파일들의 Commit이 없다는 문구, Dismiss하면 된다.
[file1.md] 라는 새 파일 생성
변경 사항 Section의 파일 상태는 U(Untracked)이다.
파일을 한 번도 Commit하지 않았기 때문
파일을 수정하면 파일 창 옆에 흰색 동그라미가 생기는데, 이는 저장이 안됐다는 의미
변경 사항 Section의 Plus 버튼은 수정된 파일을 Staging하는 기능
Staged된 파일 옆에는 A(Added)가 표시된다.
현재 Checkout이 Main Branch에 되어 있기 때문에 Main에 변경 내용 Commit이라고 표시된다.
commit1이라고 적고 Commit 클릭
첫 번째 Commit이 생성되었다.
Git Graph Pannel에서 GUI로 볼 수 있다.
VSCode는 Local Repository에 연결되어 있기 때문에 md 파일은 VSCode에서 생성과 동시에 Local에도 생성된다.
파일을 다시 수정하면 M(Modified)라고 표시된다.
다시 Staging하고 commit2라고 적고 Commit 클릭
Git Graph를 보면 Commit2가 반영된 것을 볼 수 있다.
클릭하여 상세보기로 넘어간 후, 오른쪽 파일 이름을 클릭하면 파일의 세부 수정 사항을 볼 수 있다.
녹색 표시가 추가된 내용이다.
Git Graph Pannel에서 우측 상단의 이 Repository에서 Terminal 열기
Personal Access Token으로 GitHub Repository를 생성하는 명령어를 입력한다.
curl -u "<GitHub ID>:<Token>" -H "Accept: application/vnd.github.v3+json" -X POST -d '{"name":"<Repository Name>"}' https://api.github.com/user/repos curl -u "ghkd1330:token" -H "Accept: application/vnd.github.v3+json" -X POST -d '{"name":"git_study1"}' https://api.github.com/user/repos
GitHub Repository 사이트의 정보들과 함께 생성된다.
GitHub Repository를 생성했으니 연결할 차례.
다음 명령어로 원격 URL을 설정한다.git remote add origin https://github.com/<GitHub ID>/<Repository Name>.git git remote add origin https://github.com/ghkd1330/git_study1.git
연결 후에는 Main Branch를 게시함과 동시에 Push한다.
GitHub Repository에 Local 정보가 그대로 Push된 것을 볼 수 있다.
Main Branch Label 옆에 Origin이 새로 생겼는데, 이것은 GitHub Repository의 Branch이다.
마지막으로 Personal Access Token으로 만든 GitHub Repository의 URL을 Update한다. 이제부터 Token을 통해 원격 Repository에 접근한다는 뜻이다.
git remote set-url origin https://<GitHub ID>:<Token>@github.com/<GitHub ID>/<Repository Name>.git git remote set-url origin https://ghkd1330:Token@github.com/ghkd1330/git_study1.git
git remote -v 명령어로 현재 연결되어 있는 Repository URL을 확인하면 바뀌어있는 것을 알 수 있다.
결론적으로 PAT로 원격 Repository를 생성하고 PAT로 Remote했기 때문에 불필요한 Repository가 하나 더 생성되지 않는 것이다.
물론 Token을 사용했기에 더 이상 인증 관련 문제가 발생하지 않는다.
다시 돌아와서 파일을 수정한다.
Modified State의 파일 Add하여 Staging
Staged 파일 Commit
참고로 Commit하지 않은 변경 사항은 GUI 상에서 표시된다.
GitHub Repository와 연결되면 Local Repository와 버전 차이가 나기 시작하는데, 본인이 수정했으니 Main Branch가 가리키는 Commit3가 Local의 최신 Commit이다.
따라서 GitHub Repository는 Origin/Main Branch가 가리키는 Commit2에 머물러 있는 것이다.
Origin/Main으로 1개 Commit을 Push하면 그제야 Local의 최신 Commit3가 GitHub Repository에도 반영된 것이다.
따라서 Main과 Origin Branch가 같은 Commit3를 가리키고 있다.
GitHub에서도 확인 가능하다.