Git : 코드 변경점 기록 (버전 관리 도구)
Github : 온라인 코드 저장소 (백업, 공유, 협업이 가능한)
필수 리눅스 명령어
- pwd
: print working directory, 작업 중인 디렉토리의 경로를 표시
- ls
: list, 현재 위치하고 있는 디렉토리에 있는 디렉토리와 파일 목록을 표시
- ls -a
: list all, 숨겨진 파일도 포함해서 목록에 표시
- cd <경로>
: change directory, 설정한 경로로 이동
- mkdir <폴더명>
: make directory, 현재 위치에서 새로운 디렉토리 생성
- touch <파일명>
: 파일이 이미 존재한다면 -> 파일의 날짜와 시간 수정
파일이 존재하지 않는다면 -> 빈 파일 생성
Git 필수 명령어
- git init
: 코드 관리를 시작하는 명령어
프로젝트 시작 전 정확한 프로젝트 경로에서 입력 필요
.git이라는 숨김 폴더 생성
- git add <파일명>
: 코드 변경점을 기록하고 싶은 파일을 설정
파일의 수가 많다면 git add .
으로 설정
- git commit -m "커밋 메시지"
: 설정한 파일들의 코드 변경점을 저장
커밋 메시지는 무슨 내용을 수정했는지 추측할 수 있도록 작성하기
- git status
: 코드 변경점이 발생한(생성, 수정, 삭제) 파일 목록을 표시
- git log
: commit 이력 조회 (최근의 커밋을 가장 위에 표시)
- git clone <repository URL>
: repository로부터 코드 복사
repository와 같은 이름의 폴더에 코드를 복사하고 싶은 경우
git clone <repository URL>
repository와 다른 이름의 폴더에 코드를 복사하고 싶은 경우 (다른 이름의 폴더가 만들어져 있어야 함)
git clone <repository URL> .
- git pull
: 다른 사람이 변경한 코드를 내 코드에 반영
- git push
: 저장한 코드 변경점들을 github(지정한 repository)에 반영
※ 다른 사람이 먼저 push 했을 경우 pull 먼저 하고 다시 push
※ 충돌 (conflict) 발생 시
해당 부분 코드 수정
git add <파일명>
git commit -m "커밋 메시지"
git push origin <branch>
브랜치 활용하기
- git branch <브랜치 이름>
: 새로운 브랜치 생성
- git branch
: 브랜치 목록 및 현재 사용 중인 브랜치 확인
- git switch <브랜치 이름>
- git checkout <브랜치 이름>
: 해당 브랜치로 이동
git switch
가 새로 추가된 명령어로서 조금 더 순수한 의미의 브랜치 이동을 뜻함
git checkout
으로 브랜치 이동을 못하거나 git switch
보다 좋지 않거나 한 것은 아님
- git switch -c <브랜치 이름>
- git checkout -b <브랜치 이름>
: 브랜치 생성 및 해당 브랜치로 이동
- git switch <최종 브랜치 이름>
- git merge <합칠 브랜치 이름>
: 최종 브랜치에서 merge를 해야하기 때문에 브랜치 이동 필요
⚠️ 대부분 pull request를 작성해서 merge하기 때문에 잘 사용하는 편은 아님
Github에서 새로운 repository를 만들었다면
git remote add origin <repository URL>
git branch -M main
git push -u origin main
- repository URL을 origin으로 설정
- branch명을 main으로 변경
- push / pull 명령을 수행할 대상을 origin의 main branch로 설정
git 초간단 사용법 정리
- 브랜치 생성 및 이동 (git checkout / git switch)
- 기능 개발 및 코드 저장
- 코드 업로드 (git push) 및 pull request 생성
- github에서 merge
- 내 로컬에 반영 (git pull)