Git과 GitHub
- Git: 소스코드 버전 관리 시스템. 버전(내가 원하는 시점)으로 이동할 수 있게 하는 툴이다.
- GitHub: Git으로 관리하는 프로젝트를 올려둘 수 있는 클라우드 서버 서비스를 제공하는 Git 호스팅 사이트이다.
- 오픈소스: GitHub에 소스코드를 올려두면 시공간의 제약 없이 협업할 수 있다. 누구든지 기여할 수 있는 공개저장소 프로젝트를 오픈소스라고 한다.
클라우드 서비스란?
클라우드 서비스는 내 하드디스크가 아닌 인터넷을 통해 이용할 수 있는 서비스를 말한다. 어디서나 내가 올린 파일에 접근할 수 있다. 클라우드 컴퓨팅은 데이터 처리 또는 데이터 저장을 내 컴퓨터가 아닌 외부의 다른 컴퓨터로 하는 것을 의미한다.
초기 설정
- github에 가입한다
- git 설치 후 git bash에서 $(명령어 입력을 기다리는 커서) 옆에 git을 입력하여 git이 설치되었는지 확인한다.
git
git init # git 저장소 초기화
git config
git add README.txt
git status # 워킹 트리 상태 확인
# -m: message의 약자
git commit -m "[커밋 메세지]"
# 최신 커밋 순으로 모든 커밋을 확인한다
git log
# 원하는 버전으로 돌아가기
git checkout [커밋 아이디 앞 7자리]
# 최신 버전으로 돌아가기
git checkout -
- Github에서 Repositories > New Repository(원격저장소)를 생성한다.
- GitBash를 이용해서 로컬저장소를 생성하고 GitHub 원격저장소에 커밋하기
로컬 저장소 만들기
컴퓨터 안에 폴더 생성 > 마우스 오른쪽 버튼을 클릭하고 [Git Bash Here]을 클릭한다. > git init(Git 초기화 명령어)을 입력한다. ‘Inititalized empty Git repository’라는 텍스트가 나오면 성공이다. 이 명령어를 실행하고 나면 폴더에는 [. git]라는 폴더가 자동으로 생성된다. 이 폴더가 로컬저장소이다.
인텔리제이에서 git 명령어 사용하기
git init
git clone {github 프로젝트 주소}
# .git(로컬 저장소) 생성
git remote add origin {프로젝트 주소}
# 변경한 내용 github에 반영하기
git push origin main
로컬 저장소에서 원격저장소에 커밋 하기
# Git에서 pull하면 메인에서 로컬 레포지토리가 깃 레퍼지토리에 덮어지기 때문에 임시저장소 temp에 내 파일들을 임시 저장한다.
$ git stash
# 다른 사람이 깃 레포지토리에 업데이트한 파일이 있을 때, 내 로컬 레포지토리랑 깃 레포지토리를 동일한 상태로 만들기 위해 pull 한다.
# origin이 가리키는 원격 저장소(깃 레퍼지토리) 주소에서 모든 파일을 불러온다.
git pull origin main
# modifier error 뜨면 다른 사람(A)과 내가 작성한 변경사항을 표시한다
git stash pop
# 푸쉬 전에 다른 사람이 변경할 수 있기 때문에 (main일 때만) status로 git에 올린 project 상태를 확인한다
git status
# 내 디렉토리에 업데이트 된 파일들을 모두 스테이징 영역에 추가한다
git add .
# Git 워킹트리의 상태를 보는 명령으로, 워킹트리가 아닌 폴더에서 실행하면 오류가 발생한다
git status
# '' 안에 커밋에 대한 설명을 50자 이내의 명사와 동사로 간단명료하게 메시지를 작성한다
git commit -m “...”
# 원격 저장소에 로컬 저장소 파일을 업로드한다
# 내 로컬 레포지토리에서 코드 변경된 것만 업로드(백업)한다
# git push origin main 으로 push하는게 나중에 더 도움되니까 브랜치명을 다 작성 한다
git push origin main
push 시 [!rejdcted] 에러가 뜬다면?
pull 안 받고 push 해서 뜨는 에러다. 지금 로컬 레포가 최신버전이라면 (즉, git이 내 로컬버전으로 덮어써져도 된다면) git push origin +main으로 강제 푸시해서 해결한다!
GitHub 원격저장소의 커밋을 로컬 저장소에 내려받기
git clone {레포지토리 주소} . # 한 칸 띄고 마침표
# 숨겨진 디렉토리 및 파일 정렬
ls -al # .git 파일이 생성되었는지 확인
Git 명령어 정리
Git Bash는 CLI 방식으로 Git을 사용할 수 있는 환경이다.
- log: 지금까지 만든 커밋 모두 확인하는 명령어
- checkout: 원하는 버전(지점)으로 파일 되돌리는 명령어
- 로컬 저장소: Git으로 버전 관리하는 내 컴퓨터 안의 폴더
- 원격 저장소(레포지토리): GitHub에서 협업하는 폴더(공간)
- Push: 로컬저장소의 커밋을 원격저장소에 올리는 것
- Pull: 원격저장소의 커밋을 로컬 저장소에 내려받는 것
- add: 하나의 버전을 만들기 위해 변경사항 선택
- commit : 변경사항을 하나로 묶어 버전으로 만든 것 → 버전 관리를 통해 생성된 파일
'Git' 카테고리의 다른 글
[Git] push 시 [!rejected] 에러가 뜬다면 어떻게 해결할까? (0) | 2023.07.14 |
---|---|
[Git] Git vs SVN (0) | 2023.07.14 |
SourceTree에 Github를 연동하고 Branch를 생성해보자 (0) | 2023.04.05 |
SourceTree 유효한 경로/URL이 아닙니다. 라는 에러를 만나면 어떻게 해결할까? (0) | 2023.04.05 |