GIT
소스코드 버전관리 및 다른 개발자와의 협업을 위한 버전관리 프로그램
Github는 코드저장소이고 git과 github는 같지않음!
git 프로젝트 생성하기
git init
- 현재 작업 디렉토리를 Git이 관리하는 프로젝트 디렉토리로 설정
- 해당 디렉토리 안에 .git 디렉토리 생성됨
$ git init
유저의 정보 설정
$ git config user.name "YOUR GITHUB USERNAME"
$ git config user.email "YOUR GITHUB EMAIL"
설정된 유저 정보를 보는 방법은 아래 명령어 사용
$ git config user.name
$ git config user.email
git add
아무파일 생성해보기
$ touch hello.txt
파일을 생성하고 아래 명령어를 쳐보면 git 프로젝트에 어떤 파일이 추가되었는지 확인가능
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
2022-02-27-hello.txt
git add 사용
이제 깃 프로젝트가 현재 수정사항을 추적할 수 있도록 수정 또는 추가된 파일을 Staging Area 에 추가
Staging Area
working Directory: 내가 작업하고 있는 프로젝트의 디렉토리를 지칭
커밋을 하기 위해 git add 로 추가된 파일들이 대기하는 공간
Repository: 커밋된 파일들이 모여있는 일종의 저장소
특정 파일만 Staging area에 추가하는 경우
$ git add ./hello.txt
현재 디렉토리의 모든 파일들을 Staging area에 추가하는 경우
$ git add .
또는
$ git add ./
git commit
위 과정을 통해 파일을 Staging area 에 추가했으면 그대로 커밋하면 됨
커밋 메시지를 지정해서 커밋하는 방법
$ git commit -m "First Commit Log"
git log
지금까지 커밋한 로그들을 볼 수 있는 명령어
$ git log
로그를 조금 더 이쁘게 보고싶다?
$ git log --pretty=oneline
f1a29d461c480a81d7bcfb29b415a6ae95378646 (HEAD -> main, origin/main) [UPD]: 포스팅 생성
5befd10acba7e26ae1ba0df14437dd82c207513a [UPD]: localStorage 데이터와 데이터 유무에 따른 조건문 추가
0ccf4a104d4b1129de44f7c712857cfda86c249c [UPD]: 함수의 매개변수와 인자 활용한 D-Day Counter 리팩토링
29447d2a07eaa21f54e4eb412b620d65c789a6e7 [UPD]: DevOps 카테고리 링크 수정
git diff
커밋간 변경사항 확인
git diff commitID1 commitID2
깃 프로젝트에 원격 저장소 주소 등록하기
$ git remote add origin https://github.com/yourusername/test.git
URL 이 가르키는 외부 프로젝트를 현재 깃 프로젝트의 원격 저장소로 지정하고 Alias는 origin 으로 지칭
git push
커밋한 파일을 원격 저장소로 push
$ git push -u origin main
- main: 로컬의 main 브랜치가 원격 저장소의 main 브랜치를 바라보게 하는 명령어
- -u(--set-upstream): 이 명령어를 사용해서 push를 하면 그 이후에는 git push만 하면 알아서 origin 이라는 원격지의 main 브랜치로 푸시가 된다