본문 바로가기

학습 내용 정리/git

Git 기초 특강

728x90

 

pwd 현재 경로 확인하기 

 

절대 경로 : 전체 경로

상대 경로 : 현재 경로를 기준으로 나타낸 경로

 

현재 경로는 . 으로 나타냄

상위 경로는 .. 으로 나타냄

 

ls 현재 경로의 파일 및 폴더 조회

ls -al 현재 경로의 숨김 파일 및 폴더까지 모두 조회

 

숨김 파일 및 폴더 : . 으로 시직함 

 

cd <경로> : <경로>로 이동하기 

cd .. 상위 경로로 이동하기

cd . 현재 경로로 이동하기

cd ~ 홈 디렉토리로 이동하기

 

touch <파일명> : <파일명> 을 이름으로 갖는 파일 생성

cat <파일명> : 파일 내용 확인하기

vi <파일명> :  <파일명> 편집하기

 A 또는 i 입력

Esc 빠져나오기

:w 저장

:q 편집기 종료

:wq 활용 가능

 

rm  : remove

mkdir <디렉토리 이름> : 디렉토리 만들기

rmdir : 비어있는 디렉토리 삭제 (비어있어야만 가능)

rm -rf 강제로 지우기

 

Rm  : remove

Mkdir <디렉토리 이름> : 디렉토리 만들기

Rmdir : 비어있는 디렉토리 삭제 (비어있어야만 가능)

Rm -rf 강제로 지우기

 

 

버전 : commit :  변경사항 

git은 변경사항을 관리하기 위한 도구!

버전은 유의미한 변화가 결과물로 나온 것 (e.g. 버그 삭제, 새로운 기능 추가)

 

Github 원격 저장소 호스팅 서비스

 

작성자 이름 입력

Git config —global user.name dayounglee

작성자 이메일 입력

git config --global user.email verdantjuly@kakao.com

 

작성자 이름/이메일 확인

git config -l 

Working tree 작업 디렉토리 

: 버전 관리의 대상이 위치하는 공간 (.git이 있는 디렉터리)

Index 스테이지 

: 다음 버전이 될 후보가 올라가는 공간 

(유의미한 변경사항만  스테이지에 올려 준다 = add)

(유의마한 변경사항이 버전으로 나온 것 = commit)

Repository 저장소 

: 로컬 저장소 (내 컴퓨터 속) / 원격 저장소 (인터넷)

 

 

과정 예시

작업 디렉터리 내에서 변경사항 생성

스테이지로 add

저장소로 commit

 

Git init 로컬 저장소 만들기

Git add <스테이지에 추가할 대상> <> 스테이지에 올리기

Git add . 모든 변경사항 스테이지에 올리기

Git status 작업 디렉터리 상태 확인하기

Git commit -m <커밋 메시지> 커밋 메시지로서 커밋

 

커밋 메시지 : 

제목 

(한 줄 띄고)

본문

 

** 커밋 메시지 잘 작성해야 함!!!

 

Git log 내가 만든 버전 확인

 

commit 84fbf581be7c249210bc27ca408c57c5267646cc (HEAD -> master)

 

여기서 긴 문자는 commit hash (commit 을 구분하는 특별한 정보)

 

Clear > cmd 초기화

 

 

Git diff 최근에 만든 커밋과 현재 작업 디렉토리를 비교

 

Git diff —staged 최근 커밋과 스테이지 비교하기

 

Git diff <커밋> <커밋> 커밋까리 비교하기 

 

Git diff < 커밋에 비해> < 커밋이 뭐가 달라>

 

 

브랜치 : 버전을 여러개의 흐름으로 관리하는 방법

: 버전의 분기

 

브랜치로 버전의 분기를 관리하는 방법

  1. 브랜치를 나눈다
  2. 각자의 브랜치에서 작업한다
  3. 합친다

 

충돌 : 같은 부분을 다르게 수정한 부분

 

최초의 브랜치 : master 브랜치 (main 브랜치 : 이름만 다르다)

 

 

 

Git branch

브랜치  마스터 이름 검색하기 

Git branch foo 

Foo 라는 이름의 새로운 branch 만들기

Git checkout foo foo브랜치로 환경 바꾸기

 

 

Git branch -d 

체크아웃 되어 있지 않은 브랜치의 삭제

 

 

Git merge

브랜치를 합친다 = merge 한다 = 병합한다

 

병합에는 두가지 방법이 있음

  1. 새로운 커밋을 만들지 않음
  2. 새로운 커밋을 만듬

 

 

빨리감기 병합 fast-forward merge

 

Git checkout -b bar 체크아웃과 동시에 브랜치 만들기

 

충돌 (conflict)

  • 같은 부분을 다르게 수정한 경우

 

충돌 해결

  • 같은 부분을 다르게 수정한 경우 어떤 걸로 할지 결정

 

Command 메시지 수정

—amend

 

 

충돌이 발생했을 때 대처법

  1. 남길 브랜치를 선별하여 남기고 나머지 지운다.
  2. 커밋한다

 

 


 

 

명령어 > 클릭 하는 것처럼 외워라. 무의식중에도 나올 수 있게.

 

충돌 해결하기 > 중요

> 해결하는 연습 하지 않으면 실무에서 대처 어려움

 

기본적인 git reset = mixed reset (default)

 

Git revert 해시

 

GitHub

Clone : 원격 저장소를 복제 

(숨김 폴더 즉 .git 도 복제되어 git init 할 필요 없음)

Push : 원격 저장소에 밀어넣기

Fetch : 원격저장소를 일단 가져만 오기 (확인만 하고 싶을 때)

Pull : 원격 저장소를 가져와서 합치기

 

Https 와 ssh 의 차이점

일부 사이트에서 https 를 막아두고 있음

ssh가 더 안전함

 

Main 브랜치 == master 브랜치

Origin == 원격 저장소에 붙은 일종의 별명

Origin/HEAD == 원격 저장소 origin의 HEAD

Origin/main == 원격 저장소 origin의 main

 

 

git fetch origin main

git checkout FETCH_HEAD

 

Pull = fetch + merge

 

Pull request 를 자주 하기 > 포트폴리오 형성에 도움

 

풀 리퀘스트(Pull request)

 

  1. 기여하려는 저장소를 본인의 계정으로 포크 오기
  2. 포크한 저장소를 클론하기
  3. 브랜치 생성 생성한 브랜치에서 작업하기
  4. 작업한 브랜치 푸시하기
  5. 리퀘스트 보내기

 

출처 : 스파르타 코딩 클럽 내일 배움 캠프 [git 기초 특강]

'학습 내용 정리 > git' 카테고리의 다른 글

node.js npm git 배포  (0) 2023.06.13
github 다운로드  (0) 2023.05.18
github repository에 팀원 추가하기  (0) 2023.05.18
대용량 프로젝트 git 올리기  (1) 2023.05.10
git 이전 commit으로 돌아가기  (1) 2023.04.27