본문 바로가기
Program Development Tips/Git

[Git] Git과 GitHub 사용의 기초부터 실전까지 최종 정리

by Maccrey Coding 2024. 9. 3.
반응형

 

Git과 GitHub은 현대 소프트웨어 개발에서 필수적인 도구입니다.

이 블로그 포스트에서는 Git을 시작하는 방법부터 브랜치 관리, 커밋 다루기, 실전 활용까지 포괄적으로 설명합니다.

이 포스트를 통해 Git과 GitHub을 효과적으로 활용하여 코드 관리를 더 효율적으로 할 수 있을 것입니다.

 

1. GitHub 준비하기

1.1 Git 초기화 및 설정

  • git init: 현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리로 설정하고 .git 디렉토리를 생성합니다.
git init
  • git config user.name 'maccrey': 커밋할 때 사용할 사용자 이름을 설정합니다.
git config user.name 'maccrey'
  • git config user.email 'teacher@codeit.kr': 커밋할 때 사용할 이메일 주소를 설정합니다.
git config user.email 'teacher@codeit.kr'

1.2 파일 관리

  • git add [파일 이름]: 수정사항이 있는 특정 파일을 staging area에 추가합니다.
git add filename.txt
  • git add [디렉토리명]: 해당 디렉토리 내의 모든 수정된 파일을 staging area에 추가합니다.
git add directory/
  • git add .: working directory 내의 모든 수정된 파일을 staging area에 추가합니다.
git add .
  • git reset [파일 이름]: staging area에서 특정 파일을 제거합니다.
git reset filename.txt
  • git status: 현재 Git의 상태를 출력합니다.
git status
  • git commit -m "커밋 메시지": staging area에 있는 파일들을 커밋합니다.
git commit -m "Initial commit"
  • git help [커맨드 이름]: Git 커맨드의 사용법을 출력합니다.
git help add

2. GitHub 시작하기

2.1 리모트 레포지토리와 연결

  • git push -u origin master: 로컬 레포지토리의 내용을 리모트 레포지토리에 처음으로 푸시합니다.
git push -u origin master
  • git push: 이전에 설정한 원격 레포지토리에 푸시합니다.
git push
  • git pull: 원격 레포지토리의 내용을 로컬 레포지토리로 가져옵니다.
git pull
  • git clone [프로젝트의 GitHub 상 주소]: GitHub에 있는 프로젝트를 내 컴퓨터로 클론합니다.
git clone https://github.com/username/repository.git

3. Git에서 커밋 다루기

3.1 커밋 기록 보기

  • git log: 커밋 히스토리를 출력합니다.
git log
  • git log --pretty=oneline: 커밋 히스토리를 한 줄씩 출력합니다.
git log --pretty=oneline
  • git show [커밋 아이디]: 특정 커밋의 변경사항을 확인합니다.
git show abc123
  • git commit --amend: 최신 커밋을 수정합니다.
git commit --amend
  • git config alias.[별명] [커맨드]: 커맨드에 별명을 붙여서 짧게 실행할 수 있게 합니다.
git config alias.co checkout
  • git diff [커밋 A의 아이디] [커밋 B의 아이디]: 두 커밋 간의 차이를 비교합니다.
git diff abc123 def456
  • git reset [옵션] [커밋 아이디]: HEAD와 staging area, working directory를 특정 커밋 상태로 리셋합니다.
git reset --hard abc123
  • git tag [태그 이름] [커밋 아이디]: 특정 커밋에 태그를 붙입니다.
git tag v1.0 abc123

4. Git에서 브랜치 사용하기

  • git branch [새 브랜치 이름]: 새로운 브랜치를 생성합니다.
git branch new-feature
  • git checkout -b [새 브랜치 이름]: 새로운 브랜치를 생성하고 바로 이동합니다.
git checkout -b new-feature
  • git branch -d [기존 브랜치 이름]: 브랜치를 삭제합니다.
git branch -d old-feature
  • git checkout [기존 브랜치 이름]: 해당 브랜치로 이동합니다.
git checkout master
  • git merge [기존 브랜치 이름]: 현재 브랜치에 다른 브랜치를 머지합니다.
git merge new-feature
  • git merge --abort: 머지 중 충돌이 발생했을 때 머지 작업을 취소합니다.
git merge --abort

5. Git 실전 I

  • git fetch: 원격 브랜치에서 최신 커밋을 가져옵니다.
git fetch
  • git blame: 특정 파일의 각 줄이 어떤 커밋에서 생겼는지 출력합니다.
git blame filename.txt
  • git revert [커밋 아이디]: 특정 커밋의 변경을 되돌리는 커밋을 새로 생성합니다.
git revert abc123

6. Git 실전 Ⅱ

  • git reflog: HEAD가 가리켜왔던 커밋의 기록을 출력합니다.
git reflog
  • git log --all --graph: 모든 브랜치의 커밋 히스토리를 그래프 형식으로 출력합니다.
git log --all --graph
  • git rebase [브랜치 이름]: 브랜치를 rebase하여 커밋 히스토리를 깔끔하게 합니다.
git rebase master
  • git stash: 현재 작업 내용을 스택에 저장합니다.
git stash
  • git stash apply [커밋 아이디]: 스택에서 작업 내용을 적용합니다.
git stash apply
  • git stash drop [커밋 아이디]: 스택에서 작업 내용을 삭제합니다.
git stash drop
  • git stash pop [커밋 아이디]: 스택에서 작업 내용을 적용하면서 삭제합니다.
git stash pop
  • git cherry-pick [커밋 아이디]: 특정 커밋의 내용을 현재 브랜치에 반영합니다.
git cherry-pick abc123

 

 

구독!! 공감과 댓글은 저에게 큰 힘이 됩니다.

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

반응형