Post

Git(깃) 사용방법

Git은 무엇일까?

  • 깃은 형상 관리 도구중 하나로 버전 관리 시스템이라고도 불린다

    깃은 개발 소스코드를 효과적으로 관리할 수 있게 해주는 무료, 공개소프트웨어이다

    분산형 관리 시스템이기에 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다

Github는 무엇일까?

  • 깃은 형상을 관리할 수 있게 하는 버전 관리 도구라면 깃허브는 해당 코드들을 저장하기 위해 사용되는 서버 즉 웹 호스팅 서비스이다

Git 설치

깃 설치 페이지 에서 설치를 진행한다

absolute

쭉 진행하다 보면 컴포넌트 설정하는 부분이 나오는데 기본값을 사용해도 무방하며 필요에 따라서 선택하도록 한다 특별히 중요하게 다룰 옵션은 없어서 잘 모르겠다면 기본값을 사용하는 걸 추천

absolute

에디터를 선택하는 창이 나오는데 Git에서 기본으로 사용할 에디터를 지정하는 단계로 Git에서 Commit등 메시지를 남길때 선택한 에디터 창을 열어준다

저자는 VSC를 주로 사용하기에 해당 에디터를 선택하였다

absolute

기본 브랜치 명을 선택하는 창이 나오는데 과거에는 기본 브랜치로 master를 많이 사용했지만 최근들어 main으로 변경하는 추세이다

따라서 저자는 main으로 변경하여 넘어가도록 한다

absolute

다음 메뉴부터는 대부분 기본으로 사용하는 기능으로 NEXT로 넘어가도록 한다

Git 초기 설정

  • 유저 설정 (커밋에 기록할 사용자 이름과 이메일을 설정)유저 설정 (커밋에 기록할 사용자 이름과 이메일을 설정)

absolute

  • Github Repositories → New → Repository name 등 작성 후 Create Repository

absolute

absolute

  • 생성된 repository의 Git 주소 복사

absolute

  • 작업 중인 서버의 프로젝트 디렉토리로 이동하여 $git init

absolute

  • $git remote add origin [Git 주소]
  • $git branch -M main (브랜치를 master에서 main으로 변경)
  • $git branch (현재 branch 확인)

absolute

  • $git add -A (수정된 파일 전부를 스테이징 영역에 추가, $git add . 으로 현 디렉토리만으로 제한 가능)
  • $git status (현재 add 내역 확인)

absolute

  • $git commit -m “Initial commit” (스테이지 영역 → 로컬 repository)

absolute

  • $git log (commit 이력 확인)

absolute

  • $git push origin main (로컬 repository → 원격 repository)

absolute

absolute

absolute

핵심 요약

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#유저 설정
git config --global user.name "사용자이름"
git config --global user.email "사용자이메일"
#확인
git config --global user.name
git config --global user.email
#기본 브랜치명 변경
git config --global init.defaultBranch main
git config --global init.defaultBranch

# 깃허브에서 레포지 생성 부터 업로드까지 
Github Repositories → New → Repository name 등 작성 후 Create Repository
생성된 repository의 Git 주소 복사
작업 중인 서버의 프로젝트 디렉토리로 이동하여 $git init
(현재 디렉토리를 기준으로 Git 저장소 생성, .git 디렉토리 생성됨)
$git remote add origin [Git 주소]
$git add -A (수정된 파일 전부를 스테이징 영역에 추가, $git add . 으로 현 디렉토리만으로 제한 가능)
$git status (현재 add 내역 확인)
$git commit -m "Initial commit" (스테이지 영역 → 로컬 repository)
$git log (commit 이력 확인)
$git push origin main (로컬 repository → 원격 repository)
11-1. ! [rejected] main -> main (non-fast-forward) 에러 발생할 경우 $git push origin +main 시도

# 깃허브 원격저장소에서 수정사항을 로컬로 가져오기 Pull & Fetch
$git pull <remote_name> <branch_name>

#연결된 원격 저장소 확인
$git remote --verbose

#원격 연결을 삭제
$git remote remove <remote-name>

#현재 브랜치 이름 변경
$git branch -M main (브랜치명을 main으로 변경)

#등록된 브랜치의 상세한 정보 확인
$git branch -v

#현재 연결된 원격 저장소의 브랜치 확인
$git branch -r

# 브랜치 생성하기
$git branch [생성할 branch_name]
$git push [remote_name] [생성할 branch_name] #push를 안해주면 로컬저장소에만 해당 branch가 생성되어있고 원격저장소엔 브랜치가없음

# 브랜치 이동하기
$git switch [이동할 브랜치명]

# 로컬에서 원격의 브랜치를 찾을 수 있도록 갱신
$git remote update

# 원격 + 로컬 저장소 확인
$git branch -a

# 원격 저장소의 브랜치 가져오기
$git branch -a 로 브랜치 확인 
$git checkout -t origin/[브랜치명]

# 브랜치 삭제
$git branch -d [삭제할 브랜치명]

# 원격저장소의 브랜치를 삭제
$git push [romote_name] --delete [삭제할 브랜치명]

# 로그 
$ git log --all --graph --oneline
##### --all 로그 전체를 보여준다
##### --graph 그래프형식을 이용해 표현해준다
##### --oneline 한 커밋당 한줄로 표현해준다.

Git 주요용어

  • 커밋 (commit) : 파일을 추가하거나 변경 내용을 저장소에 저장
  • 푸시 (push) : 파일을 추가하거나 변경 내용을 원격 저장소에 업로드
This post is licensed under CC BY 4.0 by the author.