Code States | Git

yeonk·2022년 5월 7일
1
post-thumbnail

1. Git & Github


Git: 분산형 버전 관리 시스템, 소스 코드 기록 및 관리
Github: 클라우드 기반의 git repository 관리 서비스

  • 파일의 변경 이력 저장 가능

  • 이전 버전으로 되돌리기 가능

  • 변경사항 확인에 용이

  • 협업 및 백업에 용이






Git Repository

Remote Repository: 서버 상의 원격 저장소 (공유)
Local Repository: 내 컴퓨터 내의 개인 저장소 (개인)

  • Fork: 다른 계정의 Github Repository를 내 Github으로 복제하는 기능

  • pull request: push한 변경 사항을 다른 사람들에게 알리는 것으로, 코드에 대한 피드백을 받기 용이하고 기존 코드와 병합도 가능함






2. 영역


  • Untracked area
  • Tracked area: Unmodified, Modified, Staged

출처: https://iseunghan.tistory.com/322
  • Unmodified : 기존 파일을 수정하지 않은 상태

  • Modified : 기존 파일을 수정한 상태

  • Staged : commit이 가능한 상태 (add한 상태)






3. 명령어


clone

Remote Repository와 local PC를 연결한 후 Repository의 데이터를 복사하는 작업

git clone 레파지토리 주소



status

변경 사항 확인 (staging area, untracked files 목록)

git status



add

파일을 staging area로 이동 시킴, 파일을 commit 가능한 상태로 만든다.
staging area: 버전 기록할 파일들을 옮겨 놓는 장소

git add 파일명

# 전체 파일
git add .



restore

commit하기 전 상태일 때 변경사항 폐기 (처음 클론한 상태로 되돌아감)

git restore 파일명



commit

변화에 대한 기록
수정 후 변경 사항을 저장하는 행위

git commit -m '남기고 싶은 메세지'



reset

로컬 커밋 내용 취소

# 하나의 commit 취소
git reset HEAD^

git reset HEAD~1

git reset --mixed, --soft 및 --hard의 차이점



push

파일의 변경 사항을 온라인 원격 저장소에 올릴 때 사용

git push origin branch명



log

커밋된 로그 확인
q를 입력하여 종료

git log



init

로컬 디렉토리를 git repository로 변환할 때 사용
변환을 원하는 디렉토리로 이동하여 초기화함

git init



remote

로컬 레포지토리와 원격 레포지토리 연결

# 개인 레포지토리와 연결
git remote add orgin 레포지토리주소

# 다른 계정의 레포지토리와 연결
git remote add 별칭(shortname) 레포지토리주소

# 연결된 remote repository 확인
git remote -v



pull

원격 저장소 내의 변경 이력을 로컬 저장소로 가져올 때 사용

git pull 별칭(shortname) branch명






4. 참고 자료


[Git] clone 과 Fork 의 차이점

Git 기초 사용법 (add, commit, push, pull, clone)

git 초보를 위한 풀리퀘스트(pull request) 방법

How to Write a Git Commit Message

[Git] Git 3가지 영역 (Staging Area) - Commit 이해하기

git reset --mixed, --soft 및 --hard의 차이점

2개의 댓글

comment-user-thumbnail
2022년 5월 8일

https://learngitbranching.js.org/?locale=ko

요기 위에 사이트 커밋이랑 브랜칭 연습하기 좋더라구요 ㅎㅎㅎ
본문에 없는 것 중에 git checkout/switch git stash git revert git cherry-pick도 유용하게 쓰니 한 번 둘러보시길!!!
많이 배워갑니다 :)

1개의 답글