[Git] 기본 설정 및 조작

cheon2308
|2022. 10. 28. 09:59
728x90

 

목차

  1. 기본 설정
  2. 기본 조작

 


1. 기본 설정

 

유저 정보 입력 및 지정된 설정 확인
  • 앞서 git bash 설치를 완료한 후에 컴퓨터에 author 정보를 입력해준다.
git config --global user.email "메일주소"
git config --global user.name "유저네임"

 

  • 만약, 현재 폴더 내부만 다른 author 정보를 주고 싶다면 해당 폴더 내에서  --global을 --local로 변경해서 입력하면 된다.
git config --local user.email "메일주소"
git config --local user.name "유저네임"

 

  • 지정된 설정 확인
# 1
git config --global -l

# 2
git config --global --list

# 3 폴더 내부 지역 확인
git config --local -l

 

 

로컬 저장소(repository) 활용하기
  • 저장소 초기화
$ git init

Initialized empty Git repository in C:/Users/student/Desktop/git_class
student@M172 MINGW64 ~/Desktop/git_class (master)
  • * .git폴더가 생성되며, 여기에 git과 관련된 모든 정보가 저장된다.

 

  • * git bash에 (master) 라고 표시되는데, 이는 현재 master branch에 있다는 뜻이다.

 

 

 주의사항

  • git 저장소 내에 또다른 git 저장소를 만들면 안됨 !!
  • git init 명령어를 입력할 때, (master)가 있으면 절대! 입력하지 말 것!

2. 기본 조작 

 

 
add

 

  • working directory, 즉 작업 공간에서 변경된 사항을 이력으로 저장하기 위해서는 반드시 staging area를 거쳐야 한다.
$ git add 파일명

$ git add . # 현재 디렉토리(하위 디렉토리)

$ git add a.txt # 특정 파일

$ git add my_folder/ # 특정 폴더

 

  • * add 전 상태
$ git status

On branch master
No commits yet

# 트래킹 되고 있지 않는 파일들
# => commit 이력에 한번도 담기지 않은 파일들
Untracked files:

# 커밋될 것들에 포함시키려면 add 명령어를 사용
  (use "git add <file>..." to include in what will be committed
        markdown.md

# 아직 커밋될 것들은 없지만
# untracked files은 존재한다.
nothing added to commit but untracked files present (use "git add" to track)

 

  • * add 후 상태
$ git status

On branch master
No commits yet
# 커밋될 변화들

# => staging area에 있는 파일들
Changes to be committed:
  (use "git rm --cached <file>..." to unstage
        new file:   markdown.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        git.md

 

 

commit

 

  • commit은 이력을 확정짓는 명령어로, 해당 시점의 스냅샷을 기록한다.
  • commit 시에는 반드시 메시지를 작성 해야하며, 메시지는 변경사항을 알 수 있도록 명확하게 작성한다.
$ git commit -m '마크다운 정리'

[master (root-commit) 5313249] 마크다운 정리
 1 files changed, 104 insertions(+)
 create mode 100644 markdown.md

 

  • 커밋 이후에는 아래의 명령어를 통해 지금까지 작성된 이력을 확인한다.
$ git log

commit 5313249e0c5aa5e9a2c5d77d44b3e73434617cfc (HEAD -> master)
Author: sinclairjang <viktor-hugo@gmail.com>
Date:   Thu Dec 26 14:34:35 2019 +0900
    마크다운 정리

===============================

$ git log --oneline

5313249 (HEAD -> master) 마크다운 정리

 

  • 커밋은 해시값을 바탕으로 구분된다.
  • 커밋 목록은 git log를 통해서 확인할 수 있다.

 

 

원격 저장소 주소 추가

 

$ git remote add origin 저장소URL
  • origin은 추가하는 원격 저장소 이름!

 

원격 저장소 목록 보기

 

$ git remote -v

origin  https://github.com/viktor-hugo/TIL.git (fetch)
origin  https://github.com/viktor-hugo/TIL.git (push)

 

  • 잘못 add 한 경우 삭제하기
 $ git remote rm origin

 

 

push

 

  • 원격 저장소에 업로드
$ git push -u origin master

Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 12 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (8/8), 645 bytes | 645.00 KiB/s, done.
Total 8 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/viktor-hugo/TIL.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

 

  • 원격 저장소에는 commit이 올라간다.
  • 즉, commit 이력이 없다면 push 불가능
  • 두 번째 push부터는 -u 생략 가능

 

 

pull

 

  • 원격 저장소의 변경사항만을 받아옴(업데이트)
$ git pull origin master
 
 
clone

 

  • 원격 저장소 전체를 복제
  • 처음 저장소를 받아올 때 사용
$ git clone 저장소URL

 

※ 주의사항

- clone 받은 프로젝트는 이미 git init이 되어잇음 (remote도 추가 되어 있음)

728x90

'Tool > Git' 카테고리의 다른 글

[Git] workflow  (0) 2022.10.28
[Git] branch & merge  (0) 2022.10.28
[Git] reset & revert  (0) 2022.10.28
[Git] Undoing(되돌리기)  (0) 2022.10.28
[Git] 설치 및 기본 설정  (0) 2022.10.28