생각기록
Git hub 사전 지식 용어 본문
로컬 저장소 & 원격 저장소 개념
- 저장소는 파일, 디렉토리를 포함하는 공간
- "로컬 저장소"는 내 컴퓨터
- 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 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
'SeSAC 풀스택 > git관련' 카테고리의 다른 글
git 오류! [rejected] develop -> develop (fetch first)error: failed to push some refs to (0) | 2023.03.21 |
---|---|
git err : Your local changes to the following files would be overwritten by checkout (0) | 2023.02.20 |
Git, Branch, Merge 사용법 (0) | 2022.11.15 |
환경설정 (에디터, GIT, GITHUB 원격저장소 만들고 사용하기) (0) | 2022.10.31 |