오늘은 git과 github에 대해 공부해보려고 합니다.
Git과 Github의 차이점
- github: 소스코드를 올리는 어떤 공간
- git: 소스코드를 내 컴퓨터에서 인터넷으로 올려주는 역할
github는 개발 협업 tool로, 효율적인 코드 형상 관리를 하기 위함이라고 생각하면 됩니다
git 영역
1) Working Directory (local)
: 개인 코드 작성
2) Staging 영역
: git add를 통해 수정된 코드를 올리는 영역
3) Repository
: git commit을 통해 최종 수정본을 제출
Git 작업 플로우
1) 저장소(Repository) 생성
원하는 폴더 들어간 후
$ git init
또는 기존 github에 있는 저장소를 내 로컬로 복제할 수도 있다.
$ git clone (git 저장소의 URL)
2) 코드 생성
이 예제에서는 README.md 라는 파일에 스트링 문자를 쓰는 코드를 만들겠습니다.
$ echo "Hello, Git!" > README.md
확인 >>
$ cat README.md
Hello, Git!
3) Staging 영역에 추가
코드 수정이 완료되면 staging 영역에 추가합니다.
$ git add .
현재 디렉토리에 있는 업데이트된 파일을 모두 staging 영역으로 추가합니다.
또는
$ git add -A
수정된 파일 전부를 staging 영역에 추가합니다.
$ git status
위의 command로 현재 add 내역을 확인할 수 있습니다.
4) Repository에 commit
$ git commit -m "feat: README.md update"
-m은 message의 약자이고, "" 안에 공유할 메시지 내용을 적어주시면 됩니다.
5) 원격 저장소에 push, 업데이트된 내용은 pull
내 local 디렉토리로부터 원격 저장소(remote repository)로 보내기 위해서는 push 명령어를 사용합니다.
그 전에 원격 저장소와 내 로컬을 연결해줘야 합니다.
원격 저장소 연결
$ git remote add origin (원격 저장소 github URL)
push
$ git push origin master
origin이라는 원격저장소의 master branch에 push 합니다.
pull
$ git pull
또한 다른 사람이 원격 저장소에 업데이트한 파일이 있을 때,
원격 저장소와 내 로컬 저장소의 상태를 동일하게 만들기 위해 (버전 업데이트를 위해) pull을 이용합니다.
그 외에 알아두면 좋은 git 명령어
6) commit 이력 확인
$ git log
7) 파일 변경시 (working directory → Staging) 내역 확인 및 취소
현재 디렉토리에 README.md가 있다는 가정 하에,
이 파일에 다른 내용을 적어 업데이트 하고 무엇이 바뀌었는지 확인해봅시다.
파일 내용 변경
$ echo "update test" >> README.md
내용 변경 확인
$ cat README.md
Hello, Git!
update test
변경 내용 확인
$ git diff
Staging 취소
$ git reset
8) commit 정리
여러 개의 commit을 하나의 commit으로 정리
$ git rebase -i
직전과 금번 commit을 하나로 정리
git commit --amend
Git Branch
지금 진행하고 있는 프로젝트에서 새로운 모듈을 개발해야 하는 경우, 두 코드는 독립적으로 수행되어야 합니다.
따라서 master(기본 branch) 외에 다른 branch가 하나 더 필요합니다.
9) branch 확인
$ git branch
10) branch 생성 및 변경
$ git branch mybranch
새로운 branch인 mybranch를 생성했습니다.
해당 글은 아래의 tistory 글을 참고하였습니다.
https://wordbe.tistory.com/entry/Git-사용-방법-정리commit-push-pull-request-merge-등