Linus Torvalds 가 만듬. (Distributed Version Control System)
작업 디렉토리(Working Directory, 로컬), 준비 영역(Staging area), 원격 저장소(Repository)로 구성
Git 명령어
1. Git 저장소 만들기 - git 파일 생성 및 정보 관리 시작
git init
2. Git에 파일 올리기
git config --global user.names "SeonminKim1"로 내 정보설정
git remote add <별명> <url주소> : git 원격 저장소 주소 지정
git pull <별명> <원하는 branch> : 현재 Branch로 파일 동기화
git add <파일> : 파일 작업 디렉토리에 추가
git commit -m <메시지> : 파일 commit
git push <별명> HEAD : 원격 저장소로 HEAD 내용을 push
3. Git 강제 pull (덮어쓰기) - local 저장소와 remote 저장소가 서로 git 내용이 다를 때
git pull origin master --allow-unrelated-histories : 내 master에 덮어쓰기
4. Git add 취소, commit 취소 (코드 강제 되돌리기)
# add, commit 되돌리기
git reset HEAD
# git commit 시점 되돌리기 (REPO에 반영 이미 했을 때)
git reset --hard [commit tag]
git push -f origin main
# git revert는 과거로 되돌렸다는 기록을 남기면서 돌리는 것
5. Git 대용량 업로드 (lfs)
git lfs install : lfs 파일 설치
git lfs track *.exe : 대용량 파일 형식자 등록
git add
git commit
6. Git commit 내용 변경
git commit --amend : commit 내용 수정
7. Git push 후 commit 내용 변경, author 수정 등
git rebase -i HEAD~1 : 몇번째 Commit 으로 갈지
git commit --amend --author= <username> <<useremail>>
git rebase --continue
8. Git fetch - 원격 저장소와 로컬의 git 정보 동기화 / vs pull : 원격 저장소의 내용을 가져와 자동으로 merge 작업을 실행
git rebase -i HEAD~1 : 몇번째 Commit 으로 갈지
git commit --amend --author= <username> <<useremail>>
git rebase --continue
9. Git config
git config --global -> 이 버전을 작업한 사람이 누구이고,
git config --global user.name "seonmin_git"
git config --global user.email "email"
git config --local user.name <username>
git config --local user.email <useremail>
git config --list : git config
10. Git branch & checkout
# Gti branch 생성 및 변경
git branch exp // exp라는 branch가 생김
git checkout exp // 해당 branch 로 들어가기
# Git branch 삭제 하는법
git checkout main
git branch -d [branch 명] // 로컬 branch 삭제
git push origin :[branch 명] // 원격 저장소 branch 삭제
11. Git status (unstaged (in Working Tree) / staged (In Staging Area) / committed (in local repo)
git status : 상태 확인
12. Git log (전체적인 commit branch 확인)
git log --branches --decorate --graph : 보다 시각화적으로
13. Git merge (main branch에서 다른 branch 들을 합침)
git checkout master
git merge exp
git branch -d exp : 기존 branch 삭제
git log --reverse : 맨 처음꺼 보여주기
14. vi .gitignore file
nano .gitignore : 파일을 만듬
git add .gitignore : 하면 등록
# *.class 란 파일을 다 무시하겠다.
# temp/ 란 파일을 다 무시하겠다.
# *.[oa] -> .o나 .a인 파일을 무시하라는 것.
15. git add 올린 것 부분만 내리기
git add restore --staged <제외할 파일/파일명>
16. git stash 해놓기. (다른 brach로 현재 작성 중 내용 옮기기 + 잠시 저장하기)
# 코드 임시 저장
git stash save
# 코드 임시 저장 목록 확인
git stash list
# 임시 저장 코드 가져오기
git checkout 원하는 브랜치명
# 마지막 save한 코드 가져오기
git stash apply
# stash 이름(예 : stash@{1})
git stash apply [stash 이름]
17. git merge 진행 중인 것 취소하기
# merge 수정 중인 것 이전으로
git merge --abort
18. 작업 branch 변경 사항 원래대로
git checkout .
'기술 정리 & CS > 기타 지식' 카테고리의 다른 글
[Cron] 작업 스케쥴러 (Cron, CronTab, CronJob) (0) | 2022.08.26 |
---|---|
[UUID] UUID 란? (with. Python, JS) (0) | 2022.07.22 |
[단축키] VSCode 단축키 (0) | 2022.06.27 |
[외부 API] Daum 주소 찾기 API (0) | 2022.06.09 |
Font Awesome 이용법 (아이콘, ICON) (0) | 2022.04.28 |