본문 바로가기
Study/기타

[Git] 필수 명령어

by 나아가는 2023. 9. 13.
반응형

Git-Github 기본 용어

branch: 깃의 작업 영역(-a -> 깃 원격 저장소(github) remote의 branch까지 보여줌

main: 깃의 기본 브랜치(예전에는 develop, master) -> local, remote

HEAD: 현재 작업 브랜치의 위치

remote/origin: 깃의 기본 원격 브랜치의 alias

clone: git remote의 처음 파일들을 local pc에 복제하는 명령어

pull: git의 remote위치에 있는 가장 최신의 commit 및 push한 내용들을 가져오는 명령어

linux 명령어

  • li : 파일 리스트 (-al 숨김 파일 및 폴더 까지 보여줌)
  • cd : change directory : 폴더 이동

Git staged

Git 필수 명령어

0. github 연결 초기 세팅

git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin "[remote repository url]"
git push -u origin main

1. config 설정, commit

# 브랜치 생성 후 전환하기
git checkout -b test
# 브랜치 전환하기 
git checkout test
# 이전 브랜치로 이동하기
git checkout -

# 변경사항에서 탈출할때 
:q 엔터

# 설정 명령 
git config [설정키] [설정값]

git config user.name teacher
git config user.email teacher@naver.com

# 글로벌 설정하면 하위 폴더 전체 설정 가능
git config --global user.name teacher
git config --global user.email teacher@naver.com

# 환경변수(설정키) 설정값 확인
git config --listls

# 커밋한 내용 모두 출력, 숫자 붙이면 갯수만큼 출력
git log
git log -숫자
git log --pretty=oneline

# 깃 버전 관리 상태 확인
git status

# 새로 생성된 파일을 커밋할 수 있도록 Staged Area 로 변경
# Untracked -> Staged
git add [파일명]
# 현재 디랙토리(폴더)의 모든 새로 생성된 파일을 commit 할 수 있도록 
# Staged Area에 등록하는 명령어
git add . 

# 깃 로컬에 반영 (스냅샵, 해시생성)
git commit -m '메시지 내용'

# git add + git commit -m 기능
# Untracked 는 적용 안됨, 따로 add 해줘야한다
git commit -a -m '메시지 내용'

# 커밋 메세지 변경 --amend
# push 전에는 최신의 커밋 메세지 변경됨
# push 후에는 pull받아야 충돌나지 않음
# 기존 커밋이 남고 머지된다.
git commit --amend -m '변경할 메시지 내용'

# 로컬 작업한 내용인 commit의 내용을 원격저장소에 반영
git push

# Staged Area에 있는 파일명을 Untracked 상태로 변경
git restore --staged [파일명]

# 버전관리 되돌리기 명령어
# 커밋을 지우는 명령어(push 하지 않은 상태에서 권장)
git reset

# 마지막 커밋을 스테이징 하기 전 상태로 되돌리는 명령어
# 최근 1개 커밋 삭제 + 변경된 파일 unstaging 상태로 유지
git reset HEAD^

# 변경된 파일도 함께 되돌림.
git reset --hard HEAD^

# 커밋을 하고 push를 한 상태에서 또다른 커밋을 만들어 push를 할때 사용
git revert

2. branch, merge

# 로컬에 있는 모든 브랜치를 보여준다
# 원격에 있는 브랜치는 체크아웃을 해야 받아온다
git branch
# 로컬 브랜치를 만드는 명령어
git branch '브랜치 명'
# 브랜치는 폴더별로 생성할 수 있다
git branch [폴더명]/[브랜치명]
# 원격 브랜치 리스트 조회
git branch -r
# 로컬 및 원격 브랜치 리스트를 전부 조회
git branch -a
# 로컬 브랜치 삭제
git branch -d '브랜치 명'

# 해당하는 브랜치로 작업 영역을 변경된다.
# > HEAD 가 해당 브랜치의 최신 커밋으로 이동
git checkout '브랜치명'
# 커밋 해시값으로도 변경 가능 
git checkout '커밋해시값'
# 마지막 커밋했을 때의 파일 상태로 되돌림(변경사항폐기)
git checkout [파일명]

# 브랜치를 생성해서 체크 아웃
git checkout -b '브랜치명'
# 원격에 적용하려면 push 해야함
git push # 하면 fatal로 명령어를 추천해준다
git push --set-upstream origin '브랜치명'
# remote 브랜치를 로컬에 브랜치를 생성해서 가져온다
git checkout -b [브랜치명] [remote브랜치명]
# remote에 있는 브랜치명을 로컬 브랜치로 만들 수 있는 명령어
git checkout -t [remote브랜치명]

# 이전 브랜치로 이동하기
git checkout -

# 변경사항에서 탈출할때 
:q + Enter

# 원격에서 브랜치를 삭제해도 로컬에는 반영되지 않는다
# pull 은 브랜치에 해당하지 않는다.

# 해당 브랜치에서 머지할 브랜치 명
git merge [병합할 브런치]

# conflict 났을 경우 > 해당 파일 수정하고 add> commit

# git 원격 저장소 관련 명령
# 원격 저장소 정보 보기
git remote -v
git remote add origin [원격 저장소 주소, repostory]
git push
# 원격 저장소의 최신 커밋을 다운받고 로컬과 머지
git pull
# 원격 저장소의 최신 커밋을 다운받고 머지하지 않음
git fetch
반응형

'Study > 기타' 카테고리의 다른 글

[네트워크] 이더넷과 CSMA/CD  (1) 2023.11.13
[리눅스] DNS 서버 설정  (0) 2023.11.08
[리눅스] FTP 서버 설정  (1) 2023.11.08
[CSS]CSS의 display 속성  (0) 2023.10.18
[Git] 기본 정리  (0) 2023.09.13