Git 과 Github 란 ❓
Git : 소스코드를 효과적으로 관리하기 위해 개발된 " 분산형 버전 관리 시스템 " 으로
소스 코드가 변경된 이력을 쉽게 확인하는 것이 가능하고, 특정 시점에 저장된
버전과 비교하거나 특정 시점으로 되돌아갈 수가 있다.
또한, 내가 올리려는 파일이 다른사람이 편집한 내용과 충돌한다면 서버에
업로드할 때 경고 메시지가 발생하기도 한다.
즉, 쉽게 말해 내 컴퓨터에 설치되는프로그램으로 버전관리를 해주는 것이다.
Github : Git으로 관리하는 프로젝트를 업로드하거나 공유할 수 있는 웹 사이트를 말한다.
저장소란 무엇인가 ❓
저장소 : 저장소는 말 그대로 파일이나 폴더를 저장해 두는 곳을 말한다.
Git 저장소 : 파일이 변경된 이력 별로 구분되어 저장된다. 비슷해보이는 파일이라도
실제 내용의 일부 문구, 즉 한 글자라도 서로 다르면 다른 파일로 인식하기
때문에 파일을 변경 사항 별로 구분해서 저장하는것이 가능하다.
저장소의 종류
1) 로컬 저장소 : 내 컴퓨터에 파일이 저장되는 개인 전용 저장소로, git 관련 파일이
생성되어 있는 특정 폴더를 말한다.
2) 원격 저장소 : 여러 사람이 함께 공유하기 위한 저장소로 파일이 원격 저장소 전용
서버에서 관리된다. 대표적으로 "Github", "Backlog" 가 있다.
➡ 평소에는 내 컴퓨터의 로컬 저장소
에서 작업하다가, 작업한 내용을 공개하고
싶을 때에 원격 저장소
에 업로드한다고 생각하면 된다. ( 원격 저장소에서 다른
사람이 작업한 파일을 로컬 저장소로 가져오는 것 역시 가능하다.)
Git 실습하기 ✅
Open Git Bash here
클릭 (보이지 않는다면 추가 옵션 표시 클릭)git init
명령어 입력 (폴더에 .git
폴더가 생긴다. / 안보일 시 : 숨긴 항목 표시).git
폴더를 삭제하면 된다.git config --global user.email "[깃허브 email ID]"
git config --global user.name "[깃허브 Name]"
git config --list | grep user
git status
스테이징 영역
으로 추가해본다 : git add [파일명]
스테이징 영역
: 버전을 만들기 전에 데이터를 잠시 올려 놓는 곳으로,git reset [파일명]
git rm --cache [파일명]
git restore --staged [파일명]
➡ 위처럼 스테이징 영역에 추가됬던 파일이 다시 언스테이징 된 것을 볼 수 있다.다음으로 스테이징 영역에 올라온 파일들을 버전으로 배포하기 위해서 commit
명령어를 사용한다.
1) 파일 커밋 : git commit -m "[메시지]"
2) 로그 보기 : git log
3) 수정 내역 보기 : git log -p
➡ 따라서 중요한 파일을 절대 스테이징, 커밋하지 않기 위해 .gitignore
라는
파일을 생성해서 절대 올라가면 안되는 파일들의 목록을 작성해준다.
* 구글에 gitignore 검색 시 (https://www.toptal.com/developers/gitignore) 사이트가
있는데 여기에 기술 스택들을 입력해주면 자동으로 파일 목록을 생성해준다.
생성해준 내용을 복사하여 .gitignore
파일에 붙여놓고, 그 외 추가적으로 올리지
말아야 할 파일들을 추가해주면 된다.
커밋 수행 후 여러 버전들이 생성되었을때 잘못된 버전이 생겨서 이전 버전으로 돌아가고 싶을때는 git reset [옵션] [커밋 ID]
를 사용한다.
1) --hard 옵션 : 작업 디렉토리 변경, 스테이징 영역 변경, 저장소 변경
➡ 파일들이 해당 버전에 있던 상태로 전부 되돌아감
2) --mixed 옵션 : 작업 디렉토리 유지, 스테이징 영역 변경, 저장소 변경
3) --soft 옵션 : 작업 디렉토리 유지, 스테이지 영역 유지, 저장소 변경
➡ 현재 상태에서 새로운 파일 추가 후 스테이징 영역에 올렸다가 다시 이전
커밋 버전으로 돌아갔을때, 현재 있던 파일들이 사라지지 않고 유지되어 있음.
git remote add origin [repo 주소]
git push -u origin master
git log --all
git log -oneline
git reflog
git add .
git clone [깃 주소]
git push -f origin master
커밋 규칙 정하기 ✏️
1) .gitmessage.txt
파일 생성 후 사용할 규칙을 작성한다.
2) 커밋할때마다 해당 파일을 띄워준다.
명령어 : git config --global commit.template .gitmessage.txt
3) 커밋할때 git commit
명령어를 입력하면 사용할 규칙창이 띄워진다.
수정, 추가 등을 할때 한번에 다 끝내고 1개의 커밋으로 실시하기 보다는 하나씩
실시 후 여러개의 커밋을 실시하는 것이 좋은 것이다.
README.md 파일 작성하기 💻
실무에서는 프로젝트를 가져가서 사용할 때 사용방법들을 적어 놓지만, 프로젝트 시에는 여러가지 프로젝트와 관련된 내용들을 적어 놓는다고 한다.
1) 작성은 VSCode
를 설치하여 실시한다.
2) 로컬 저장소에서 "마우스 우클릭" 으로 VSCode
로 열기를 클릭한다.
3) README.md 파일에 쓰고 싶은 내용을 Markdown
을 사용하여 작성한다.
➡ 작성법은 벨로그 작성법과 거의 동일하다고 보면 된다.
4) VSCode
를 이용하여 파일을 작성 후 깃허브에 공유해보는 실습을 해보겠다.
➡ README.md 파일을 수정했으므로 스테이징 영역에 다시 추가 : git add .
➡ 커밋 실시 : git commit
➡ 깃허브로 업로드 : git push -u origin master
오늘의 느낀점 👀
git
과 github
를 배워본 시간이었다. 이번주에 DB 설계 관련 첫 미니 프로젝트를 실시하는데 그 전에 여러가지 사용 규칙들과 "README.md" 파일 작성 등을 배워봤다.