🙈

⃝ 동글동글 ⃝

🪐ᐩ˖ 🍎

Git

내가 보려고 만든 Git 정리

JONG_UK 2023. 1. 6. 00:34
728x90
반응형
SMALL

Learn About Git

Git 그게 뭔데?

Git

버전 관리 소프트웨어 입니다.
쉽게 말해 작성한 코드 기록하고 보관하는 기능을 가진 소프트웨어 입니다.
이전에 작성했던 코드로 돌아갈 수 있고 이전에 어떻게 작업했는지 작업내용도 볼 수 있습니다.

 


Git을 왜 써야 하나요?

❓ Q : 코드를 실수했는데 프로그램을 재시작해서 그 코드가 이미 저장되어서 뒤로 가기(Ctrl+Z)가 안 돼요ㅠㅠ

💡 : 만들어둔 백업 파일이 없다면 당신은 이미 끝났습니다…

 

❓ Q : 2일 전 코드로 되돌아가고 싶어요!!!!

💡 : 매일매일 백업한 코드가 없다면 당신도 끝났습니다…

 

❓ Q : Git 쓰면 과거로 되돌아갈 수 있나요??

💡A : 넵!!

 

 


Git 설치

Windows

  • Google에 검색하면 바로 나옴
  • Google 정보 참고

Mac

  • Homebrew 설치 후 Homebrew에 git 다운로드
  • 조금 복잡하니 Google 참고

 

 


간단한 Git 구조 설명

Local (현재 파일을 작업 중인 나만의 컴퓨터)

  • Working Directory : 현재 작업 폴더
    • 현재 작업 폴더 (여러분들의 노트북 VSCode에서의 작업 공간)
    • git add 명령어로 파일을 Staging Area로 올릴 수 있음
    • 변경한 모든 파일을 add 하려면 git add . 명령어 이용 → 주로 이거 사용함
  • Staging Area : 스테이지
    • git add 명령어 수행 후 파일이 Repository(저장소)에 옮겨지기 전에 존재하는 공간
    • git commit -m "커밋 제목" 명령어를 통해 Staging Area에 있는 파일을 저장소로 옮김
  • Local Repository : 로컬 저장소
    • git commit -m "커밋 제목" 명령어 수행 후 Staging Area에 있는 파일이 Remote Reposirtory로 옮겨가지 전에 머무르는 공간
    • git push origin main 명령어로 현재 연결되어 있는 Remote Repository(원격 저장소)에 파일을 올릴 수 있음

Remote (내 컴퓨터가 아닌 브라우저 상의 원격 저장소)

  • Remote Repository : 원격 저장소 → GitHub
  • git push origin main 명령어를 통해 이전 로컬 저장소에서 commit 한 파일을 원격 저장소에 저장을 시켰기 때문에 올라간 파일을 볼 수 있다.
  • git pull 명령어를 이용해 원격 저장소에 있는 파일을 Local 저장소로 가져올 수 있다.

 

 


Git을 사용해 보자 (기초)

Terminal / PowerShell에서 Git 등록

Git을 누가 사용하는지에 대한 등록을 해야 함 (GitHub에서 만든 이메일과 이름으로 등록해 줍시다)

  • git config --global user.email "양종욱@naver.com"
  • git config --global user.name "양종욱"

Visual Studio Code에서 디렉토리를 만들고 index.html 파일 생성 및 작성

  • terminal을 열어 git init를 입력
  • 내 현재 폴더를 git에 등록한다는 뜻

index.html 페이지를 git에 올리기

  • git add 파일명 → git add index.html
  • git commit -m "커밋 제목" → git commit -m "first commit"

 

 


이전의 Commit(버전)으로 돌아가기

참고 사이트

 

(8) git 과거 버전으로 돌아가기(revert, reset)

버전 관리중에 주요한 기능 중 하나인 과거버전으로 돌아가기에 대해 알아보겠습니다. 주록 git reset과 git revert를 통해 돌아갈 수 있는데 이 둘의 차이점은 reset은 commit의 기록을 삭제한채 되돌아

hoony-gunputer.tistory.com

 

[git] 이전 commit으로 돌아가기

soft? hard?

medium.com

 

 


Git Branch (중급, 심화)

git branch란?

커밋의 복사본이라고 할 수 있다.

git branch 구조 예시

쉽게 말하자면 내가 원본 파일을 건드리지 않고 원본 파일을 복제해서 새로 만든 다음 거기서 수정을 하는 공간이다.

예를 들자면 SNS 프로젝트를 만들었는데 거기다가 쇼츠, 스토리 등 기타 기능들을 추가하는 경우에 사용한다. 기능을 추가하려고 원본 파일에서 바로 작업하다가 에러 나면 맘 아프니까 미리 복제해서 기능 개발 후 테스트를 해보고 성공하면 원본 파일에 붙여 넣기를 하는 독립적인 공간이라고 생각하면 편하다.

주로 보이는 브랜치 설명

Master 브랜치는 예전에 Main이라고 불렸던 브랜치이며 원본 파일이 저장되는 공간이다. Develop, Feature 브랜치는 연습장이라 생각하면, Master 브랜치는 시험지라고 생각하면 된다.

Develop 브랜치는 일반적으로 기능을 개발하고 Master 브랜치에 Merge 하기 전에 테스트하는 공간이다.

Feature 브랜치는 Develop 브랜치에서 작업하던 것을 또 다른 복제 파일을 만들어 테스트하는 공간이다. 실수 잘못해서 박살 나지 말라고 하는 거니까 이런 거 쓰지 말라는 사람 없으니까 꼭 사용하자. (혼자 개발하는 경우는 굳이 뭐 필요 없을지도)

git merge

여러분들이 위에서 작성했던 브랜치에서 Master 또는 Main 브랜치로 합쳐야 하는 상황에 사용한다.

기능 추가나 수정을 잘해서 Master/Main 브랜치에 합쳐야 할 때, Master/Main 브랜치에서 git merge 내가-수정했던-브랜치명 명령어를 통해 합칠 수 있다.

branch에서 작업할 때 내가 같은 파일을 수정한 경우에 conflict(충돌)가 발생할 수 있다. 그때는 열심히 수정한 부분을 잘 찾아 고쳐서 넣어주자. (수작업으로만 가능)

Git Branch 관련한 명령어

  • git branch 브랜치명 : 브랜치 생성
  • git switch 브랜치명 : 브랜치 교체/이동
  • git checkout 브랜치명 : 브랜치 교체/이동
  • git merge 브랜치명 : 브랜치 끼리 합치기 → 코드 합치기

 

 


자주 사용하는 Git 명령어

  • git status 명령어로 현재 무엇이 add, commit(수정, 삭제, 추가) 되었는지 볼 수 있음 (상태창)
  • git log --all --oneline 명령어를 통해 내가 commit 한 내역을 볼 수 있다. (모든 커밋을 한 줄로 보기)
  • git difftool 명령어로 Vim 에디터를 설치하면 현재 파일에서 이전에 commit 했던 내용과 뭐가 다른지 시각적으로 볼 수 있다.(H J K L 키가 방향키라고 함, 종료는 :q)
  • git branch 브랜치명 : 브랜치 생성
  • git switch 브랜치명 : 브랜치 교체/이동

 

 


더 해야 할 거 :

  1. 깃허브 만들기
  2. 깃허브에 레포 만들기
  3. git push, fetch, pull 해보기
728x90
반응형
LIST