Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

햄발

Git 저장소 본문

Git

Git 저장소

햄발자 2024. 4. 17. 17:29

 

 

Git 저장소(Git repository)

파일이나 폴더를 저장해 두는 곳

 

원격 저장소(Remote Repository)

  • gitHub와 같은 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소

 

로컬 저장소(Local Repository)

  • 내 PC에 파일이 저장되는 개인 전용 저장소

 

 

 

 

 

반드시 기억해야 할 3 상태

논리적인 구분

 

★중요★

 

 

Git bash

  • git bash는 window의 cmd , linux와 mac의 terminal 과 같은 역할을 한다.
  • Git bash를 이용하면 window 에서도 리눅스의 명령어를 쓸 수 있다.

실행했을때 모습.

 

Git 명령어

 

init

git init 명령어를 수행하면 숨겨진 폴더 .git 이 생성된다.
이것을 저장소라고 하는데 깃은 이 폴더의 모든 변경 내용을 여기에 저장한다.
즉 .git 폴더를 지우면 더 이상 깃으로 폴더의 변경사항을 추적할 수 없다.

 


status

깃이 폴더의 현재 변경 상태를 보는 명령어 이다.

 


reset

스테이징 된 (add 취소) 파일을 취소할 수 있다.

폴더의 전체 변경 사항을 취소할 수 도 있다.

 


commit

깃이 폴더의 변경 내용을 장하는 단위를 "커밋(commit)"이라고 부른다.
add 명령어 이후 Staging Area 상태에 등록된 파일들만 commit 을 할 수 있고 명령어 실행 후에 Repository에 저장된다.

매번 변경사항을 스테이징하고 커밋 하는 게 번거롭다면 -a 옵션을 사용하면 된다.

log

스테이징을 거쳐 커밋 한 결과를 로그(log) 라는 형식으로 확인한다.

많은 로그를 한 줄로 편하게 보기 위해서 --oneline 옵션도 자주 사용한다.

 


push

파일을 새로 생성 또는 작업 후 add, commit 을 마치고 원격 저장소로 작업물을 공개 할 수 있다.

SSH 키 등록 후 원격 저장소(Git Hub)에 처음 push를 한다면 다음과 같은 문구를 확인할 수 있다.

pull

원격 저장소에서 로컬 저장소로 소스나 변경된 파일을 가져오는 명령어다.

 


branch

로컬 저장소에 있는 현재 브랜치 목록을 보여 준다.

 


checkout

깃에서 브랜치 간 이동은 "checkout"라고 표현한다.
 

log --graph

현재 repository의 작업 흐름(branch, commit, merge)에 대하여 알아보기 쉽게 그래프로 보여준다.

 


merge

 


 

원격 저장소 만들기

Create repository

 

 

원격 저장소를 내 PC로 가져 오기

  • HTTPS 방식 으로 가져 오기
  • SSH 방식 으로 가져 오기

 

Clone

사용할 위치를 지정하고 Git Bash를 열어서 원격지에 생성된 저장소를 복제할 수 있습니다.

 

 

 

 

원격 저장소에 작업물 공개 하기

 

1 . SSH Key를 만들고 public key를 GitHub에 등록

(Secure Shell)는 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜이다.
GitHub 접속할 때 비밀번호 대신 key를 제출하는 방식이다.

 

 

2. Git Bash에서 명령어 ssh-keygen 을 입력해주세요

 

 

 

 

3. 생성된 private, public key

 

 

 

4. 생성한 공개키를 GitHub에 등록

 

profile         →         Settings       →   SSH and GPG Keys

 

 

 

 

 

 

 

브랜치 만들어 보기

 

  • 깃에서 중요한 또 하나의 개념은 "브랜치(branch)"입니다.
  • 깃은 기본적으로 master(main)라는 이름의 브랜치 하나를 가지고 있습니다.

병합하기(merge)

 

 

 

feature 브랜치에서 개발을 완료 후 커밋하고 다시 원래 작업하던 곳으로 가기 위해서는 main 브랜치에

반영해야 한다. 이것을 merge이라고 부른다.

 

! 단 기준이 되는 main 브랜치로 이동한 뒤, feature 브랜치를 main에 merge 해야 합니다 !

 

 

HEAD

  • 위치를 좀 더 정확하게 보여주는 정보가 있는데 바로 "머리(HEAD)"라고 부르는 것입니다.
  • 헤드는 여러 가지로 뻗어있는 브랜치커밋 목록에서 현재 위치를 보여 줍니다.

 

  • 현재 위치(HEAD) 에서 한 단계 과거로 가는 명령어 입니다.
  • 현재 위치에서 해당하는 숫자만큼 과거로 갑니다.
  • HEAD 대신 커밋 hash를 사용할 수도 있다. (콕 집어서 이동합니다)

다시 최신으로 돌아오고 싶다면

 

 

 

Git Flow

'Git' 카테고리의 다른 글

Git  (0) 2024.04.17