생각기록

Git hub 사전 지식 용어 본문

SeSAC 풀스택/git관련

Git hub 사전 지식 용어

끼록관 2022. 11. 1. 00:03

로컬 저장소 & 원격 저장소 개념

  • 저장소는 파일, 디렉토리를 포함하는 공간
  • "로컬 저장소"는 내 컴퓨터
  • Github같은 서버의 "원격 저장소"
  • 보통 로컬 저장소에서 작업 수행 후 원격 저장소에 저장
더보기

 *디렉토리랑 폴더랑 비슷한데, 차이는 뭘까? https://byul91oh.tistory.com/238

커밋과 푸쉬 개념

  • 커밋 (commit) : 파일 추가, 변경 내용 컴퓨터 지정 폴더 (로컬 레포지토리(.git) 저장) / 세이브 포인트 저장
  • 푸쉬 (push) : 커밋을 원격 저장소 (리모트 레포지토리)에 업로드

브랜치 개념

 

 

GitHub 사용법

  • github에 저장소 작성 (git init) 또는 복제(git clone)
  • 파일의 작성, 편집
  • 파일의 생성, 변경, 삭제를 git 인덱스에 추가 (git add .)
  • 변경 결과를 로컬 저장소에 커밋 (git commit)
  • 파일이 변경되어 있는지 기록 확인 (git status)
  • 로컬 저장소를 푸쉬해 원격 저장소에 반영 (git push)

 

더보기

*파일이 변경되어 있는지 기록 확인 (git status)

 

https://seonkyukim.github.io/git-tutorial/git-status/

브랜치의 생성, 이동

브랜치 목록 (git barnch)

시 결과로 * mater가 뜸, 현재 브랜치에는 "*"가 붇는다.

지점을 만들어 보자 git branch sub_01

 

  • 지점 이동 (git checkout) 
  • git checkout sub_01
  • + 지점 만들기 & 이동 동시 사용 
  • git checkout -b sub_01

다시 git branch 하면, sub_01 지점이 추가되어 작업 중임을 알 수 있다.

 

브랜치에서 개발 작업

a.html이라는 파일을 추가한다.

 

브랜치 푸시

먼저 작성한 파일 git 추가 커밋

  • git add a.html

git commit -m "feat:add file a"

 

로컬 저장소에 파일 추가 기록 됨

원격 저장소 반영은 등록제 = 브랜치 이름을 지정하는 것만으로 푸쉬가 가능

  • git push origin sub_01

GIthub에서 확인해보면, 2개의 브랜치가 존재

sub_01 브랜치가 푸쉬되어 있음

 

브랜치 풀

다른 개발자가 sub_01저장소로 개발할 때

저장소 이동으로

  • git checkout sub_01

다음 원격 브랜치 sub_01의 코드를 가져오는 법

  • git pull

로컬 파일 목록 확인

  • ls

 

이제 여러 개발자의 공동 개발을 시작할 수 있다.

 

브랜치 병합

새로운 기능 브랜치 개발하고, 테스트 완료시 메인 master 브랜치에 통합이라는 흐름으로

개발 작업을 수행한다.

이 브랜치의 통합 작업을 병합이라고 한다.

 

먼저 현재 분기를 master로 전환

  • git checkout master

 

그리고 sub_01 브랜치 결과를 병합한다.

  • git merge sub_01

실행 결과보면, sub_01 지점에서 만든 a.html 파일이 추가 되어 있다.

 

github에 푸쉬한다.

  • git push origin master

이제 브랜치 sub_01의 내용이 master로 병합되었다.

 

브랜치 삭제

사용하지 않는 브랜치 제거

그러나 현장에서는 잘못 될 경우를 위해 작업이 완료된 분기도 남겨 두는 것이 일반적

 

  • git branch -d sub_01

 

결과를 확인

  • git branch

 

결과창, 브랜치 sub_01 삭제되고, master만 존재

 


자주 사용하는 git 명령 12

  • git status

저장소 상태 확인 (현재 브랜치의 이름과 추가.변경된 파일 및 디렉토리 목록을 표시)

 

  • git add

파일이나 디렉토리를 인덱스에 추가하는데 사용

 

  • git commit

인덱스에 추가 된 파일이나 폴더의 내용을 저장소에 쓸 때 사용

-m은 메모, -a옵션 지정시 변경된 파일 검색하고 인덱스에 추가하는 작업도 동시에 같이한다.

git commit -am "A first commit"

 

  • git branch

git branch [브랜치-이름] : 브랜치 만들기

git branch : 브랜치 목록보기

git branch -d [브랜치-이름] : 지정한 브랜치를 삭제

 

  • git checkout

로컬 저장소의 브랜치를 전환 할 때 사용하는 명령어

git checkout [브랜치-이름]

 

  • git log

로컬 저장소 커밋 히스토리 탐색하는데 사용

-n 옵션 내역보기 수를 지정

git log -n 10

 

  • git grep

저장소 파일 내용에서 검색할 때 사용

특정 단어가 포함 된 파일을 검색하고 해당 파일 어디에 포함되는지 확인 가능

git grep "검색 단어"

 

  • git clone

기존 원격 저장소를 로컬에 다운로드하는데 사용

git clone [url]

 

  • git remote

원격 저장소의 커밋을 취소하기 위하여 사용

잘못 커밋하거나 수정 누락이 있을 때 사용

git reset -soft HEAD ^

 

  • git merge

현재 브랜치에 다른 지점에서 변경 사항을 병합하는데 사용

다음 예 분기 bug-fix를 master 브랜치에 병합

git checkout master git merge bug-fix

 

  • git pull

원격 브랜치 변경 사항 캡처하기 위해 사용

로컬 저장소 master 브랜치에 원격 저장소 orgin의 mater브랜치를 가져오는 예

git checkout master git pull origin master

 

https://tagilog.tistory.com/377

 

[GITHUB 사용법] 왕초보를 위한 깃허브사용법 (Git사용법)

코딩할 때 뺄래야 뺄 수 없는 서비스 중 하나가 GitHub (깃허브) 입니다. 현역 프로그래머에게는 너무나 친숙한 서비스지만, 코딩 초보자에게는 생소할 수도 있습니다. 그래서 이번에는 코딩 초

tagilog.tistory.com

https://behappyaftercoding.tistory.com/18

 

[Github]브랜치란?

브랜치란? 개인이 깃을 통해 버전 관리를 하는 상황에서, 어떠한 기능을 처음 개발하는데 도중에 문제가 생겼다고 한다면 그저 지금까지 해왔던 변경사항들을 버리고 이전으로 되돌아가면 해결

behappyaftercoding.tistory.com