[GitHub] 2. 로컬 저장소, 커밋 만들기 및 다른 커밋으로 시간여행

amudomolla·2023년 6월 9일
0

Git

목록 보기
8/11

내 컴퓨터에 설치한 Git과 연결할 로컬 저장소 생성

1. 로컬 저장소 만들기

1) 원하는 경로에 폴더 생성

👉 작성자는 내 PC > 로컬 디스크 (C:) > 'work' 라는 이름의 폴더 생성 > 'Git_test'

2) [Git_test] 폴더로 들어가 새로 만들기 > 텍스트 문서 클릭

3) 텍스트 문서 파일 이름은 README 로 설정

4) [README.txt] 파일을 열고, '현재는 테스트 중입니다' 라고 입력한 후 저장하고, 텍스트 파일 닫기

5) [Git_test] 폴더에서 마우스 오른쪽 버튼 클릭 > [Git Bash Here] 클릭

6) $ 기호 옆에 명령어 git init 입력 후 Enter

git init : Git 초기화하는 명령어

👉 git init 을 실행하면, [Git_test] 폴더 안에 [.git] 폴더가 생성된다.

❗ [.git] 폴더 안에는 Git에서 생성한 버전들의 정보와 원격 저장소 주소 등이 들어있다. 그래서 이 [.git] 폴더를 로컬 저장소 라고 부른다.

만약 [.git] 폴더가 안 보인다면, 폴더 상단의 [보기] 클릭 > [숨긴 항목] 체크



README.txt 파일을 하나의 버전으로 만들고, 버전을 저장
👉 버전이란❓ 의미있는 변화를 의미.
그래서 이런 변화를 계속 기록하고 저장하는 것을 commit 이라고 한다.

2. 커밋 만들기

1) 버전 관리를 위해 내 정보를 등록

👉 각 버전을 누가 만들었는지 알아야 협업하기 편하기 때문

[Git_test] 폴더에서 마우스 오른쪽 클릭 > [Git Bash Here] 클릭 > 다음의 명령어를 차례로 입력하면서 Enter

GitHub에 등록한 이메일 주소와 username을 각각 큰따옴표로 묶어 입력

git config --global user.email "GitHub에 등록한 이메일 주소"
git config --global user.name "GitHub에 등록한 username"

2) 버전으로 만들 파일 선택

아래 명령어 입력 후 Enter

git add README.txt

3) 커밋에 설명 입력

커밋에는 상세설명을 입력할 수 있는데, 이 설명을 잘 적어 두어야 이 파일을

  • 왜 만들었는지
  • 왜 수정했는지
  • 해당 버전을 찾아 그 버전으로 코드를 바꾸기도 쉽다.
git commit -m "설명 추가"  // -m : message의 약자

'1 file changed, 1 insertion(+)' 메시지가 보인다면, 성공

4) README.txt 파일 수정 후 두 번째 커밋 생성

README.txt 파일을 열기 > '현재는 테스트 중입니다 진행중' 이라고 입력 > 저장 후 닫기

5) 다시 README.txt 추가

git add README.txt
git commit -m "설명 업데이트"  // -m : message의 약자

'1 file changed, 1 insertion(+), 1 deletion(-)' 메시지가 보인다면, 성공



3. 다른 커밋으로 시간여행

개발을 하다가 요구 사항이 바뀌어서 이전 커밋부터 다시 개발하고 싶은 경우, Git을 사용해 그 커밋으로 돌아가면 된다.

1) 두 번째 만든 커밋을 첫 번째 만든 커밋으로 돌려놓기

두 번째 만든 커밋의 README.txt 현재는 테스트 중입니다 진행중 를 첫 번째 만든 커밋의 README.txt 현재는 테스트 중입니다 로 돌려놓기

👉 먼저 지금까지 만든 커밋을 확인하기 위해 아래 명령어 입력

git log  // 최신 커밋부터 보여줌

2) 커밋 아이디 복사해서 명령어 입력

commit e477cd5 ... : 설명 업데이트 // 두 번째 커밋
commit abd466f ... : 설명 추가 // 첫 번째 커밋

되돌리고자 하는 커밋은 첫 번째 커밋이니 커밋 아이디의 앞 7자리를 복사 > 아래 명령어 입력

git checkout abd466f

마지막 라인에 'HEAD is now at abd466f 설명 추가' 라는 메시지가 보이면, 성공

커밋 아이디 전체를 복사해도 되나요❓
물론 아이디 전체를 복사해서 입력해도 괜찮지만, 간편하게 앞 7자리만 복사한 것 뿐이다.

3) README.txt 파일에 들어가 바뀐 것을 확인

4) 다시 최신 커밋인 두 번째 커밋으로 돌아가기

git checkout e477cd5  // 이렇게 입력해도 되지만
git checkout -  // 간략하게 '-' 만 입력해도 된다.

5) README.txt 파일에 들어가 다시 바뀐 것을 확인



주의사항❗❗
checkout 명령어는 기능이 너무 많아서 최근 switch 명령어와 restore 명령어로 나누어졌다.
그래서 위처럼 checkout 커밋아이디로 되돌아가는 명령어는 다소 위험하므로 실무에서는 잘 사용하지 않는다.

  • switch 명령어 : 브랜치 간 이동
  • restore 명령어 : 커밋에서 파일들을 복구
profile
👩‍💻 기록 및 복습을 위함

0개의 댓글