티스토리 뷰

Git

CMD | 깃&깃허브 사용법

Nyugati 2021. 8. 21. 13:48

자주 까먹어서 이번 기회에 깔끔하게 정리해보려고 한다.

이 포스팅은 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으로 시작하는 협업 및 오픈소스 프로젝트

 

www.youtube.com

 

'Git' 카테고리의 다른 글

Git branch  (0) 2023.11.02
Git Basics  (1) 2023.11.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함