본문 바로가기
ETC/Git && GitHub && Markdown

[Git] Git 기본 명령어

by cogito21_cpp 2024. 8. 2.
반응형

1. GitHub 원격 저장소 생성 및 동기화

1) Local에 폴더 생성

mkdir <my_folder>

2) 생성된 폴더로 이동 후 git 폴더로 초기화(.git 생성)

cd <my_folder>
git init

3) GitHub Repository URL 등록

git remote add <remote_var> <repository_url>

4) README.md 생성

echo "# My Folder" >> README.md

 

5) Working Directory에서 Staging Area로 등록

- 되돌리기: git rm -r --cached 

- 파일 상태 확인: git status; Untracked, Unmodified, Modified, Staged

git add <file or directory>

 

6) Staging Area에서 Local Repository로 등록

- m 옵션: 한 줄 등록

- vim 사용

- commit 상태 확인: git log

git commit

7) GitHub Repository에 업로드

git remote add <remote_var> <local_var>

2. Git 버전 관리

- [버전관리 전략](https://hudi.blog/git-branch-strategy/)

1) 브랜치 생성 및 삭제

- 브랜치 목록 확인: git branch

git branch <branch_name>
git branch -D <branch_name>

 

2) 브랜치 변경

git checkout <branch_name>
git switch <branch_name>

3) 브랜치 병합
- 현재 브랜치로 다른 브랜치를 가져오기

git checkout <병합 기준 branch>
git merge <병합될 branch>

 

4) 상태 관리: 이전으로 돌리기 

# 커밋 이후 변경 이력 및 파일 모두 삭제
git reset --hard <commit hash>
# 커밋 변경 이력은 삭제하지만 파일은 남겨둠.
## working directory 상태
git reset --mixed <commit hash>
# 변경 이력은 삭제하지만 변경 내용은 남겨둠.
## staging area에 있는 상태
git reset --soft <commit hash>
# 해당 커밋만 삭제하고 삭제 내역을 추가 기록
git revert <commit hash>

 

3. Git 저장소 업로드 및 가져오기

저장소 업로드

1)  Staging Area 등록: git add <file>
2) 파일 상태 확인: git status
3) Local Repository 등록: git commit
4) commit 상태 확인하기: git log
5) Remote Repository 업로드: git push <github_url> <remote branch>
-u 옵션: 처음 업로드시 사용(= --set-upstream과 동일): git push --set-upstream <branch> <remote branch>

저장소 가져오기

1) Clone: Remote Repository에서 가져오면서 새로운 directory 생성
- local history 유지하지 않음.
- git clone <github url> <dir_name>
2) Pull: Remote Repository에서 가져오면서 기존 history 유지

- git pull <remote branch> <local branch>
3) Fetch:  Remote Repository에서 변경 사항 가져오기
- git fetch <remote branch>
4) 브랜치 병합하기: git checkout <branch>; git merge <branch>

4. Git 기본 설정

- .gitconfig file

# show git settings
git config --list
# set user name
git config --global user.name "username"
# set user email
git config --global user.email "email"
# editor mode
git config --global -e                         
# connect editor
git config --global core.editor "code --wait"
# if (windows) true else if (mac os) input
git config --global core.autocrlf input
# set shortcuts
git config --global alias.st status            
# manual page
git config -h

 

Summary

1) GitHub 원격저장소 생성 및 동기화

mkdir project_name
cd project_name
git init
git remote add origin <github_url>
echo "# Project" >> README.md
git add README.md
git commit -m "[feat] first commit"
git branch -M main
git push origin main

2) Git 버전 관리

3) Git 저장소 업로드 및 가져오기

반응형

'ETC > Git && GitHub && Markdown' 카테고리의 다른 글

[Github] Projects  (0) 2024.08.02
[GitHub] Pages  (0) 2024.08.02
[GitHub] Profile  (0) 2024.08.02
[GitHub] GitHub 기초  (0) 2024.08.02
[Git] Git 설치  (0) 2024.08.02