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 |