티스토리 뷰

Git / GitHub란?

  •  Git
    • 소스코드를 내 컴퓨터에서 인터넷으로 올려주는 역할을 함
    • 소스코드의 변경한 점을 기록하기 위해 사용
    • 깃을 버전 관리 도구라고도 함

  •  GitHub
    • 소스코드를 올리는 저장소를 의미함 (백업이 가능한 온라인 코드 저장소)
    • 팀원들과 협업할 때 코드를 공유하고, 함께 작업이 가능함


Git-Github 연결하기

  • git init
    • initialize(초기화하다, 초기설정하다, ~를 준비동작에 들어가게 하다의 줄임말
    • git을 쓸 준비를 한다는 의미
    • 소스코드를 git으로 관리해주기 위해 딱 한번만 입력해주면 됨
    • 참고) git init을 해주면 .git이라는 폴더가 하나 생기는데 여기서 코드 변경을 계속 추적함                                                          ( la -al :현재 폴더에 모든 파일 및 폴더를 보여주는 명령어 )

  • git add 파일명
    • 깃에 저장하고 싶은 파일을 지정하는 것
    • 코드 작성시에는 Changes에 있던 파일이 add 후 Staged Changes로 상태가 변경됨
    • 현재 폴더(디렉토리)에 있는 모든 파일을 저장하고  싶으면 . 기호를 사용하면 된다.                                                                     예시) git add . (뛰어쓰기 주의해야 함!)

  • git commit -m "메세지"
    • 지정된 파일을 깃에 저장해줌
    • 메세지에는 어떤 부분의 기능이 개발 or 수정이 되었는지에 관한 내용을 적어줌

  • git status
    • git에서 파일 상태를 확인
    • 작업 중인 브랜치가 어디인지 알려주면서 어떤 상태가 되었는지 알려줌
      • Changes to be committed :  git add, git push가 된 파일을 수정 후 git add했을 때 보여줌                                                                                        ( = 스테이징 영역에 넘어가 있는 파일의 상태를 보여줌)
      • Changes not staged for commit :  git add, git push가 된 파일이 수정되었을 때 보여줌                                                                                                       ( = 워킹 디렉토리에 있는 파일의 상태를 보여줌)
      • Untracked file : git add, git push가 단 한번도 되지 않은 파일을 보여줌
                                   ( = git이 관리한적 없는 새로운 파일을 보여줌)
      • 참고) git state -s 명령어로 간단하게 보여주는 옵션도 있음!

  • git log
    • 그동안 commit한 내역을 보여줌
    • log에서 빠져나오려면 q를 입력해주면 됨

  • git branch 브랜치명
    • 원본은 놔두고 복사본을 만들 때 사용함
    • git branch 브랜치명 commit-id : 특정 commit 순간까지만 가져옴 
    • git branch -m 브랜치명 : 브랜치 이름을 바꿔줌
    • git branch -d 브랜치명 : 브랜치 삭제

  • git switch 브랜치명
    • branch를 이동할 때 사용
    • local에 있는 브랜치로만 이동 가능
    • git switch -c 브랜치명 : 새로운 브랜치를 만들 때 사용 가능

  • git restore 파일명
    • git add가 되지않은(working tree 상태/ changes) 파일의 수정된 작업을 복원할 수 있음
    • git restore --staged 파일명 : add된 파일(staged changes file)을 취소할 수 있음

  • git checkout 브랜치명
    • git switch 기능과 git restore 기능이 합쳐진 명령어
    • local / remote에 있는 브랜치로 이동 가능
    • git 2.23버전 부터는 git switch / git restore을 사용하는 것을 권장함

  • git remote 온라인저장소 주소
    • git과 github의 연결고리를 만들어줌
    • git remote -v : 온라인 저장소 주소를 확인

  • git clone 온라인저장소 주소 
    • 온라인 저장소에 저장되어있는 작업물을 가져올 때 사용

  • git push
    • commit한 내용이 온라인 저장소에 전송 됨
      • 예시) git push origin main : 로컬에 저장된 메인 브랜치 내용이 온라인 저장소 메인 브랜치에 전송됨
    • git push -u origin 브랜치명 : 온라인 저장소에 브랜치를 새로 만들어서 저장함
      • -u : --set-upstream의 줄임말

  • git pull
    • 온라인 저장소에 있는 브랜치의 내용을 가져옴
      • 예시) git pull origin main : main브랜치의 내용을 현재 있는 브랜치에 당겨옴

  • pull request
    • 내 브랜치를 검토 후 원격 저장소에 반영되도록 요청하는 것
    • 협업할 때 많이 사용함!






더보기
  • git merge 합치고 싶은 브랜치명
    • 다른 브랜치에서 만든 코드를 원본에 합치고 싶을 때 사용
  • git stash -u -m "메세지"
    • 임시로 코드를 저장해줌
    • -u : untracked파일 모두 저장해 주겠다 라는 뜻
    • git stash list : 임시로 저장된 부분을 확인
    • git stash apply stash@{숫자} : 임시 저장한 파일을 되돌리고 싶을 때 사용, list로 확인된 숫자를 넣어줌
  • git reset --(옵션) 커밋id
    • 과거의 커밋으로 완전히 돌아가고 싶을 때 사용
    • --(옵션)자리에는 총 3가지 옵션이 있어서 원하는 옵션에 맞게 사용하면 됨 
      • soft: 과거 커밋 이후에 작성된 코드가 모두 보존되어 있으며 모두 add 상태임 (Staged Changes 상태)
      • mixed : 과거 커밋 이후에 작성된 코드가 모두 보존되어 있으며 수정만 된 상태 (Changes 상태), 기본값
      • hard : 최근 작업 내용 전부 버리고 시작할 때 사용, 사용 시 주의해야 함!
  • git revert 커밋id 
    • 과거 커밋으로 돌아가기 위해 새로운 커밋을 수행함
    • 과거의 내용으로 돌아가기 위해 revert한 내용 역시 커밋 됨
  • git rebase
    • main을 기준으로 한 A, B브랜치에서 B 브랜치에만 작성된 코드를 A 브랜치에 복사 할 수 있음
    • 관련내용은 복잡하니 게시물 추가 작성 예정
  • git log 브랜치1 .. 브랜치2
    • 브랜치 1과 브랜치 2의 내용을 비교해 줌
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함