Git, GitHub, Git Graph, VSCode 1

Lilmeow·2023년 8월 28일
0

Git, GitHub

목록 보기
4/9
post-thumbnail

혼자서 Git으로 버전 관리하기

Local Repository를 VSCode에 불러오기

Local Repository 추가하기

Local Repository의 정체는 [.git] 폴더

Local에 Git으로 관리할 빈 폴더 생성

VSCode에서 폴더 선택

선택한 폴더를 Local Git Repository로 만들기 (= Git Init)

Local Repository에 [.git] 폴더가 생성됨을 확인

VSCode에서 소스 제어 Repository Section의 View Git Graph(git log)를 클릭

Git으로 관리할 파일들의 Commit이 없다는 문구, Dismiss하면 된다.

[file1.md] 라는 새 파일 생성

VSCode로 Commit 만들고 Push하기

수정 파일 선택하고 Commit 만들기

변경 사항 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가 반영된 것을 볼 수 있다.

클릭하여 상세보기로 넘어간 후, 오른쪽 파일 이름을 클릭하면 파일의 세부 수정 사항을 볼 수 있다.

녹색 표시가 추가된 내용이다.

VSCode(Local)와 GitHub(원격 Repository) 연결하고 Commit Push하기 (+ 인증 문제 완벽 예방하기)

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에서도 확인 가능하다.

0개의 댓글