본문 바로가기
TIL

TIL 4일차 - git clone, git push, git pull, branch

by 케이리케리 2023. 11. 22.

토큰생성

Git에서 GitHub와 상호 작용하려고 할 때마다

- git push origin main했는데 튕긴 경우

- user name과 password 입력하라는 메세지가 표시된 경우 ==> GitHub 패스워드가 아니라 토큰을 생성해서 입력해야한다.

 

  1. GitHub 로그인 > 프로필 클릭 > Settings > Developer Settings > Personal access tokens > Tokens(classic) > Generate new token > classic으로 선택

 

2. Note에 무슨 용도인지 작성

 

3. 유효기간 설정

 

4. Select scopes는 사용자가 어느 용도로 사용할 것인지를 고르면 된다.

 

 

5. 선택을 다 했다면 아래의 Generate token 클릭 > 성공적으로 토큰 생성 완료

 

Git clone

GitHub에 올라가있는 프로젝트를 받아오기 (기존 깃허브 레포지토리-> 로컬로 받아오기)

 git clone 

 

  • clone은 원격 저장소에 있는 프로젝트를 복제하면서 동시에 로컬과 깃허브를 연동한다.
  • 새로운 저장소를 만들거나 기존 저장소를 복제할 때 사용

 

GitTestClone 새로운 폴더를 생성한 후 > git clone 원경저장소URL

 

새로 생성한 폴더에 원격에 있던 FirstRepository가 복제됨

 

 

GitHub에 수정된 코드 올리기

 

 git push 

 

 

GitTestGUI 폴더의 test.txt 파일 내용을 test -> modified로 수정했다.

 

소스 제어 탭 > 변경된 파일이 있다는 것을 알 수 있다.

(변경사항(changes)에 있는 파일들은 add가 되지 않은 상태를 의미한다.)

 

git add를 해준다.

 

커밋 클릭 > 커밋 메세지 작성 > ctrl + S > 오른쪽 상단 체크표시(커밋 메세지 수락) > 커밋 완료 

 

깃허브를 확인해보면 Second Commit이 없다.

즉, 커밋을 했다고 해서 GitHub에 소스코드가 업로드 되는 것이 아니다.

Second Commit 파일은 아직 GitHub에 소스 코드가 올라간 상태X 로컬 저장소에만 존재한다.

 

먼저 커밋이 잘 됐는지 git log를 통해 확인해보자.(항상 명령를 한 후에는 log 확인을 하는 습관을 만들자!!!)

Second Commit이 성공적으로 커밋됐음

 

커밋이 성공적으로 됐는지 확인을 했으면 이제는 수정한 소스코드를 GitHub에 업로드 할 차례이다.

GitHub에 업로드하는 것은 push 명령어이다.

git push origin main

 

GitHub에 들어가보면 Second Commit 버전의 소스코드가 업로드되었음을 확인 OK

test.txt 파일 옆에 있는 Second Commit을 클릭

 

아래처럼 무엇이 수정변경되었는지 확인 가능하다.

 

이전 버전들의 소스코드들은 어디서 확인할까? 

오른쪽에 시계 모양 클릭

 

이전 커밋들 히스토리가 나온다.

 

GitHub에서 소스코드 받아오기

 git pull 

test4.txt를 받아올 것이다.

 

git pull origin main

 

 

❓clone과 pull의 차이점

 git clone 
    ✅ 저장소 전체를 처음부터 가져오는 명령
    ✅ 목적: 새로운 저장소를 만들거나 기존 저장소를 복제할 때 사용된다.
    ✅ 사용 시점: 프로젝트를 처음 시작하거나 다른 곳에서 작업 중인 프로젝트를 로컬 환경으로 가져올 때 사용된다.


 git pull 
    ✅ 이미 로컬에 존재하는 저장소를 업데이트하는 명령
    ✅ 목적: 현재 작업 중인 로컬 저장소를 원격 저장소의 최신 변경사항으로 업데이트할 때 사용된다.
    ✅ 사용 시점: 이미 저장소를 로컬에 복제했고, 원격 저장소의 최신 변경사항을 로컬에 반영하고 싶을 때 사용된다.

 

 

 

branch 명령어들

 

 

 git branch  : 브랜치 목록 확인 명령어(내가 작업하고 있는 폴더(tree)에 다른 브랜치가 있는지 확인)

 * : (브랜치 이름)에 있다

=> main 브랜치에 있다.

 

git checkout [브랜치명] : 현재 내가 위치하고있는 브랜치에서 나가서 다른 브랜치로 이동하겠다

git checkout - : 이전에 위치해있던 브랜치로 이동

이동하려는 브랜치가 존재하지 않는 경우 error

 

이동하려는 브랜치가 존재하여 이동 성공한 경우

 

git branch [브랜치명] : 새 브랜치 생성