티스토리 뷰
자주 까먹어서 이번 기회에 깔끔하게 정리해보려고 한다.
이 포스팅은 github desktop이나 vscode의 gitlens 와 같은 프로그램 도움 없이 오직 cmd 창에서 깃을 관리하는 경우라 가정한다.
용어 정리
- logal repository : 내 컴퓨터 안에서 작업하는 폴더
- remote repository(원격저장소) : github 주소, 원격지 주소
가장 기본 설정 : 사용자 인식 -> 초기 한 번만 하면 됨
- git config --global user.name 깃허브아이디
- git config --global user.email 깃허브이메일주소
github repository와 내 컴퓨터에 작업 폴더 생성 후 clone
github에 들어가서 작업할 repo를 만들고, 그 repo를 똑같이 clone 해서 작업할 폴더를 내 컴퓨터에 만든다.
경로는 자유! 이후 다음과 같이 입력
cmd창 -> cd 작업폴더경로 -> git clone 깃허브주소
clone 완료된 폴더에는 이런 .git 폴더가 생성된 것을 확인 가능
remark.
"B"라는 이름의 팀 프로젝트 깃허브 repo를 로컬에 있는 A 폴더 안에 복사한 경우라 가정.
이후에 작업할 때 CMD 창에서 cd .../.../A/B로 들어가서 git pull 하고 시작할 것(깃허브의 가장 최신 상태로 동기화).
git pull
git fetch(remote repo -> local repo) 과정과 git merge(local repo -> staging area -> working directory) 과정을 한 번에 가능하게 함
local에서 파일 생성/수정하고 remote repo에 올리기
예를 들어 document.txt 파일을 local 에서 생성한 경우,
git status로 수정내역 확인 -> git add document.txt -> git commit -m "커밋메세지" -> git push
이 과정을 자세하게 풀어보면 다음과 같다.
working directory -> git add -> staging area -> git commit -> local repo -> git push -> remote repo
TIP. 명령어 모음
- git add . : 수정된 모든 파일을 add 할 수 있음
- git status : 폴더안에서 수정된 내용을 확인할 수 있음
- git reset 파일명 : 해당 파일 add 취소
- git reset --hard (커밋의 해시주소값) : 특정 커밋 상황으로 돌아가기. --hard는 지정한 commit 상황으로 돌아가고 그 이후 상황은 모두 지우겠다는 의미(<-> soft). 이 명령어는 local 폴더에만 적용되고, 변경 사항을 github 저장소에 적용하고 싶다면 강제 push를 해야함(git push -f)
- git push -f : 강제 push
- git log : 커밋 메세지와 해시값 등 변경 내역 확인 가능
- git commit --amend : 커멧메세지 수정 -> 근데 아나콘다 프롬프트에서는 적용이 안된다?
브랜치 생성 / 브랜치 합치기 / 브랜치 삭제
- git branch : 전체 브랜치 확인
- git branch 브랜치이름 : 브랜치 새로 생성
- git checkout 바꿀브랜치이름 : 현재 작업 중인 브랜치 변경하기
- git merge 브랜치명 : 특정 브랜치와 내용 합치기
- git branch -d 브랜치명 : 특정 브랜치 삭제하기
특정 브랜치에서 작업한 내용을 main 브랜치에 합치고 싶을때
git add . -> git commit -m 커밋메세지 -> git checkout main 으로 메인 브랜치로 이동
-> git merge 수정한브랜치명 -> git push
로그 관리
- git log --stat : 각 커밋에 대한 통계 정보 출력. 몇 줄 출력하고 몇 줄 삭제했는지 등등
- git log --pretty=oneline : 각 로그들을 간단하게 한줄로 정리
소스코드만 모아서 압축 파일 생성
- git archive --format=zip main -o main.zip : main에 있는 소스코드만 main.zip 형식으로 압축한 파일 생성
참고 자료
https://youtube.com/playlist?list=PLRx0vPvlEmdD5FLIdwTM4mKBgyjv4no81
'Git' 카테고리의 다른 글
Git branch (0) | 2023.11.02 |
---|---|
Git Basics (1) | 2023.11.02 |