ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git 기본 공부
    ReactNative_앱 2023. 3. 29. 16:50

    git의 영역 세가지

     

    (1) Working Directory (Local)

        : 개인 코드 작성

    (2) Staging 영역 

        :​ git add 를 통해서 수정된 코드를 올리는 영역

    (3) Repository 

        : ​ git commit 을 통해서 최종 수정본을 제출

     

     

    Staging Area

    :스테이징 영역은 작업 디렉토리와 git 저장고의 변경 이력 사이의 징검다리 역할을 한다.

    작업 디렉토리->아직 커밋할 준비가 안 된 변경내용을 자유롭게 수정할 수 있음

    스테이징 영역->커밋할 준비가 된 변경 내용이 git ㅓㅈ장소에 기록되기 전에 대가하는 장소

     

    git add를 이용해서 현재 작업 디렉토리에 있는 내용을 스테이징 영역으로 이동시킬 수 있음

     

    git commit 명령어가 변경 이력을 남길 사점에는 작업 디렉토리에 있는 변경 내용은 고려하지 않고, 스테이징 영역에 넘어온 변경 내용만 사용되기 때문에 이 두 개의 공간을 서로 햇갈려 하신다면 난감한 상황에 빠질 수 있습니다.

     

    git add

    :add는 commit 전의 임시 저장의 느낌이라고 생각하면 될 거 같음

    (staging area에 추가하는거)

    commit을 이용해서 명시적으로 기록을 남기기 전에는 아무리 add를 많이 해도 git 저장소의 변경 이력에는 영향 주지 않음

     

    git add 파일 이름 // 특정 파일만

    git add . //현재 디렉토리의 모든 변경 내용을 스테이징 영역으로 넘기고 싶을때

    git add -A // 작업 디렉토리 내의 모든 변경 내용을 몽땅 스테이징으로 넘기고 싶을때

     

    git status

    :이건 작업 디렉토리와 스테이징 영역의 상태를 확인하기 위해서 사용함

    $ git status
    On branch search3
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
            modified:   src/components/Control/Control.jsx
            modified:   src/components/Input/Input.jsx
            modified:   src/components/List/ListItem.jsx
    
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
            modified:   src/components/Search/Search.jsx
            modified:   src/components/Search/Search.stories.jsx
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
            src/components/Search/useSearch.js

    보통 이렇게 3개의 영역으로 이루어져 있음

     

    • Changes to be committed: 이 영역은 스테이징 영역에 넘어가 있는 변경 내용을 보여줍니다.
    • Changes not staged for commit: 이 영역은 아직 워킹 디렉토리에 있는 변경 내용을 보여줍니다.
    • Untracked files: 이 영역도 아직 워킹 디렉토리에 있는 아직 한 번도 해당 Git 저장소가 관리한 적이 없는 새로운 파일을 보여줍니다.

    git commit

    :변경 사항에 대해서 버전(작업이 완결된 상태)을 만드는것

    의미있는 변화에 대해 기록하는 것이 commit

    변경괸 사항을 로컬 저장소(ex.내 컴퓨터)에 기록하는거

     

    git push

    :커밋은 로컬 저장소와 연결하여 사용하고 push는 원격 저장소와 상호 작용함

    변경 사항을 깃허브와 같은 원격 저장소에 저장하는거

     


     

     

    • 내 원격 리포지토리에 Fork
    • clone 설정
    • remote 설정
    • branch 생성
    • 수정 작업 후 add, commit, push (만일 나 뿐만 아니라 다른 기여자(팀원)이 소스를 수정했다면 fetch로 코드를 가져와 충돌을 해결)
    • Pull Request 생성
    • Merge Pull Request
    • Merge 이후 동기화 및 branch 삭제

     

Designed by Tistory.