ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 박미정의 깃 & 깃 허브 입문 3주차
    박미정의 깃 & 깃허브 입문 2024. 1. 17. 06:34

    먼저 3주차 시작 하기 앞서 터미널에서 ls 명령어가 powershell 에서 안되는것을 확인하여 도움되는 이를 위해서 
    링크 하나를 첨부하겠습니다.

     

    https://jy-tblog.tistory.com/8 



    1. 깃/깃허브 소스 관리 기본 흐름

     

    지역 저장소 → 깃허브(원격 저장소)

    1. git init 명령어로 해당 프로젝트를 깃 지역 저장소로 지정함
    2. 파일을 수정한다.
    3. git add 명령어로 수정한 파일을 스테이지 영역으로 옮긴다.
    4. git commit으로 지역저장소에 저장한다.
    5. 지역 저장소에서 발생한 변경 내역을 git push 명령어로 원격저장소에 반영한다.

    깃허브(원격 저장소) → 지역 저장소

    1. git clone 명령어로 지역 저장소에서 내려받는다.
    2. 추가로 git pull 명령어로 일부 변경사항만 내려 받을 수 있음 

    2. 지역 저장소 생성하기

    깃 지역 저장소 설정

    git init
    ls -a

     

     

    1. 깃 저장소 초기화부터 다시 실습을 위해 chpter2-basic 폴더를 생성한다
    2. git init 명령어를 실행하여 깃 지역 저장소로 설정한다.
    3. ls -a 명령어는 숨김 폴더 및 파일 목록을 함께 보여주는 명령어이다.

    .git 폴더 확인

    $ cd .git
    $ ls -l
    

     

    앞에서 git init 명령어를 이용하여 일반 프로젝트를 깃 지역 저장소로 설정하였고 해당 프로젝트를 깃 지역 저장소로 관리하는 정보가 어딘가에 있다는 뜻이며 그 정보가 담긴곳이 .git 숨김 폴더이다. ls -l 명령어로 .git 폴더 내의 폴더 내의 파일 및 폴더 목록을 확인가능

     

    git init 취소

     rm -rf .git .git "숨김폴더를 삭제하여 git init을 취소"

    3. 환경 설정하기

    사용자 등록

    git config user.name "사용자 이름" 
    git config user.email "이메일 주소"
    모든 프로젝트에 적용될 사용자 정보를 등록하려면 —global 옵션을 사용
    git global user.name "사용자 이름" 
    git global user.email "이메일 주소"

    깃 설정 파일 확인

    cat .git/config
    1. repositoryformatversion : 현재 깃 저장소의 형식 및 버전을 식별하기 위해 내부적으로 사용되는 변수
    2. filemode : 깃 저장소에 포함된 파일 모드의 변경 감지 여부를 설정한다. 파일 모드 변경을 무시하고 싶다면 false로 설정하면 된다.
    3. bare : 현재 깃 저장소가 코드를 변경하고 작업하는 용도가 아닌 현재까지 작업을 복사하는 용도라면 true로 설정하면 된다. 보통 원격 중앙 저장소를 만드는데 사용된다.
    4. logallrefupdate : 깃 명령어를 통해 수행되는 작업 내역을 기록하는 reflog를 활성화한다.
    5. ignorecase : 대소문자 구분 여부를 설정하는 값. 기본값은 true로 구별하지 않는다.
    6. precomposeunicode : 맥OS로 깃 저장소를 작업할 때 사용할 수 있는 설정이다. 맥OS의 유니코드 정규화 방식이 다르기 때문에 파일명이 한글일 때 깃에서 해당 파일을 인식하지 못하는 문제가 발생할 수 있는데 이를 true로 설정하면 문제를 해결할 수 있다.

    깃 원격 저장소 설정

    1. GitHub.com에 접속해 로그인 → 우상단 +기호를 좌클릭 → 팝업에서 New repository를 선택
    2. [Repository name] 항목에 chapter2-basic 입력 → 나머지 항목을 기본값으로 유지 → [Create repository] 버튼을 눌러 저장소 생성
    3. 생성한 원격 저장소 페이지에서 원격 저장소 주소를 복사한다.
    4. 터미널을 실행해 cd 명령으로 chapter2-basic 폴더로 이동한다.
    5. git remote add origin 명령어를 실행해 원격 저장소 주소를 깃 지역 저장소에 등록한다

    gitignore 파일 설정

    1. .gitignore 파일을 프로젝트의 최상위 경로에 생성한다.
    2. gitignore 파일을 열어 로그 파일과 외부 패키지들이 설치되는 node_modules/폴더를 깃으로 관리하지 않겠다고 지정한 후 저장한다.

    4. 파일 상태 확인하기

    1. 작업 디렉터리 : 실제 작업 중인 파일들이 존재하는 영역이다. 파일을 생성하거나 기존 파일을 수정한다면 이는 작업 중인 파일을 의미한다.
    2. 스테이징 영역 : 작업 디렉터리에서 작업 중인 파일 중 깃이 추적하는 파일들을 식별하는 영역
    3. 지역 저장소 : 스테이징 영역에서 추적되는 파일이 커밋으로 등록되는 영역이다.

    깃으로 파일 상태 확인

    Untracked 및 Tracked 상태 ???

    깃에서 관리하는 파일은 Untracked와 Tracked로 나뉜다. 현재 작업 진행 중인 작업 디렉토리에서 새로 생성된 파일은 Untracked 상태가 되기 때문에 한 번 Tracked 상태가 되었다가 작업 디렉터리에서 수정된 파일은 Untracked 상태가 아니라는 점이다.

    1. git status 명령어를 실행하여 프로젝트의 현재 파일상태를 확인한다.

    2. .gitignore 파일을 git add 명령어로 커밋에 포함될 파일로 등록하면 파일 상태가 Tracked 상태로 변경된다

    5. 커밋 생성 후 푸시하기

    커밋 생성하기

    1. 커밋 명령어를 싱행한다
    2. i를 입력한다. 그러면 입력 모드로 전환되고 터미널 내용 하단처럼 —INSERT— 표시가 나타난다. → 작업한 내용을 기록하고 ESC 키를 입력 → :wq 입력 → 엔터를 눌러 해당 커밋 메시지를 저장

    커밋 이해하기

    git log 명령어 : 현재 작업하는 브랜치의 커밋 로그를 확인할 수 있다. HEAD 포인터 : 현재 작업하는 브랜치의 최종 커밋을 가리킨다.

     

    git log 

    • commit : 커밋 체크섬을 나타낸다. 체크섬은 커밋을 식별하는 고유한 데이터 단위 표시
    • Author : 커밋을 작성한 저자의 이름과 이메일 주소 표시
    • Date : 커밋을 작성한 날짜와 시간 표시
    • ADD .gitignore file : 커밋 메세지 표시

    git log -p

    git log -p

    git log -p : 파일 단위의 변경 내용을 보여준다 

    또한   git log -p 는 git log —patch와 동일한 명령어임

     

    git log -[숫자]

     git log -{숫자}

    git log 명령어에 -{숫자} 옵션을 지정하면 최근 몇개의 커밋을 보여줄지 지정하게 된다. -1를 입력하면 1개의 커밋 로그를 보여준다.

     

    git log —stat

     git log --stat

    —stat : 각 커밋의 통계를 볼 수 있다.

     

    git log —pretty

     git log --pretty={option}
    
     git log --pretty=format:"%h %an %s"

    —pretty : 커밋 로그를 보여주는 형식을 지정


    —pretty 옵션에서 사용할 수 있는 출력 형식

     

     

    커밋 푸시하기

    커밋 푸시 : 커밋을 푸시한다는 것은 지역 저장소에 있는 커밋을 원격 저장소에 등록
     
    cat .git/config 명령어를 실행
     
     cat .git/config
     
    git log 명령어를 실행하여 현재 지역 저장소에 등록된 커밋을 다시 확인
     
     git log

     

     
    git push origin main 명령어로 저장된 커밋을 원격 저장소에 등록
     git push {저장소}{브랜치}

     



Designed by Tistory.