관리 메뉴

흰둥씨의 개발장

[git] Git / github / bash주요명령어 / 기본 명령어와 사용 본문

[오늘의 공부]/git

[git] Git / github / bash주요명령어 / 기본 명령어와 사용

돈워리비해삐 2023. 5. 19. 00:43

Git 이란?

파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템

Github 란?

온라인 상에서 협업을 통해 버전 관리를 할 수 있게 해주는 대표적인 깃 호스팅 업체

Bitbucket, GitLab 등의 업체도 있음

CLI 방식을 위한 프로그램 설치

https://git-scm.com

혹은 vscode 의 터미널 이용 가능



Bash란?

깃에서 사용할 수 있는 리눅스 쉘shell / 명령어

Home Directory 홈 디렉토리 : 컴퓨터에 로그인 한 후 사용자 디렉토리

[WIN] C:\User\사용자이름

[Mac] /User/사용자이름

명령어
설명
cat "파일명.형식"
"파일명.형식"의 내용
pwd
현재 디렉토리 위치
ls
현재 디렉토리 내에 존재하는 파일 보여줌
ls -all
존재하는 파일을 다 보이고, 그 권한들까지 다 보여줌
ls -a
숨김 파일 리스트 형태로 보임
clear
현재 콘솔창으로 보여진 입력한 것들과 출력된 것들을 화면에서 지움
ls -lR
하위 폴더의 상세 내용
cd "폴더명"
그 파일로 들어감
cd /e
e 드라이브로 바로 이동
cd ..
현재 디렉토리에서 바로 상위 디렉토리로 이동
cd -
바로 이전 디렉토리로 이동
touch "파일명"
파일 생성
mkdir "폴더명"
"폴더명"으로 새로운 디렉토리를 만듦
shutdown
시스템 종료
reboot
시스템 재부팅
mv "폴더명.형식" "디렉토리 명"
"폴더명.형식"을 "디렉토리 명"으로 옮김
date
현재 시각
rm "파일"
"파일"을 삭제
rmdir "폴더명"
"폴더명" 을 가진 디렉토리를 삭제. 디렉토리가 비어있지 않으면 삭제되지 않음
file "파일명"
"폴더명"의 파일의 형식을 보여줌
kill
현재 작동중인 어플리케이션을 중지
vim "컴파일된 파일명.확장자"
확장자로 된 "컴파일 된 파일" 을 엶
q
다양한 옵션이 존재하며 입력하게 되면 파일 밖으로 나감
e
편집모드
i
INSERT 모드로 들어가 글자를 삽입
~
현재 폴더 위치 홈으로(홈 디렉토리) c:\User\사용자ID
 

git 기본 명령어

cd (change directory)
디렉토리 변경
repository
기록공간
working
작업공간
stage
임시공간
branch
기준 작업 라인
main(master)
기본, main branch
commit
타임캡슐에다 넣고 커밋을 넣으면 소스 코드가 쌓임. 언제든 과거로 돌아갈 수 있음
merge
다른 브랜치에서 작업하던 것을 합침. 그냥 합쳐지지는 않음. 마스터에 포함이 되려면 pullRequest(보고서 혹은 요청서로 이해)를 통해 요청
checkout 이름
'이름' 브랜치로 갈아탐
push origin main
마스터에서 있던 모든 파일들이 깃허브에 동기화(업로드)

1. 로컬 저장소 만들기

· 만들고자 하는 해당 폴더에서 마우스 우측 버튼 클릭.

· Git Bash Here 클릭 혹은 Terminal에서 CLI 명령어로 해당 폴더로 이동.

· git init 입력(초기화)

· 해당 폴더에 .git 폴더 생성되면 git master 저장소 생성 성공

2-1. 내 정보 등록

· git config --global user.name "xxx1234" <- github에서 사용하려면 github 계정과 동일하게 설정

· git config --global user.email "xxx1234@naver.com"

2-2. 로컬에 저장된 정보 변경

· git config --global user.name "xxx1234"

· git config --global user.email "xxx1234@naver.com"

2-3. 로컬에 저장된 정보 삭제

· git config --list <- 정보 확인

· git config --unset --global user.name

· git config --unset --global user.email

--------------------------------------------------------

3. 파일 추가

· git add README.md <- 기본 사용

· git add . 혹은 git add * <- 파일이 많은 경우

· git add 디렉토리명 <- 해당 디렉토리 포함 하위 파일 add

4. 메시지 작성과 함께 커밋

· git commit -m "파일 설명" <- 파일 설명은 구체적으로 작성해야 하며 메시지를 작성하지 않으면 커밋되지 않음

5. 이력 확인

· git log <- 모든 커밋 이력 확인

· git log --oneline <- 해당 라인 커밋 이력 확인

6. 현재 상태 확인

· git status

--------------------------------------------------------

7. add, commit 동시에( *두번째 커밋부터 사용 가능 )

· git commit -am "파일 설명" <- add + message

--------------------------------------------------------

8. branch 만들기

· git branch dev <- 브랜치 생성

· git branch -m master main <- master 브랜치 main으로 변경

· git checkout dev <- dev 브랜치로 이동

· git checkout -b dev <- 브랜치 바로 생성 후 이동

· git checkout -d dev <- dev 브랜치 삭제

· git merge dev <- 현재 브랜치에서 dev 브랜치 합침(메인 기준으로 둘 브랜치로 이동한 뒤 명령어 입력)

--------------------------------------------------------

9. 파일 및 폴더(디렉토리) 삭제

· git rm 파일명 <- 파일 삭제

· git rm -r 디렉토리명 <- 디렉토리 삭제. 파일이 남아있는 경우 삭제 되지 않음

· git -rf 디렉토리명 <- 파일이 남아 있어도 강제 삭제

* git으로 지우지 않는 경우에도 사라진 파일들을 추적하지 않도록 한 번 더 git으로 지우는 작업이 필요 *

10. 복구 및 이전 커밋으로 이동

· git revert 123ab21 <- 복구하고자 하는 커밋 아이디 7자리 작성. 커밋 기록이 남아 권장

· git reset 123ab21 <- 복구하고자 하는 커밋 아이디 7자리 작성. 기록이 남지 않기 않기 때문에 회귀하기 어려움