2024. 1. 30. 20:38ㆍCS 공부, 기타
오늘도 대부분 git 내용이다.
- Remote Repository
- 로컬 & 원격 저장소
- gitignore
- github 활용
- 원격 저장소 (=Remote Repository)
코드와 버전 관리 이력을 온라인 상의 특정 위치에 저장하여 여러 개발자가 협업하고 코드를 공유할 수 있는 저장 공간
원본, 복사본이 따로 있기 보다는 그냥 똑같은 걸 다른 곳에 또 만드는 것이다.
gitlab, github, bitbucket 등의 원격 저장소 서비스가 있다.
- 로컬 & 원격 저장소
공용 문서 안내에 따라 github 가입 및 설정을 진행 → github repository 생성
- local 저장소를 생성하고 이후 원격 저장소를 생성, 등록한다. 이때 주의할 것은 원격 저장소를 빈 저장소로 생성해야 한다!
- 로컬 저장소는 없는데, 원격 저장소는 비지 않고 commit이 쌓여있는 상황. push하면 충돌이 난다. 이때는 clone을 사용해서 그대로 가져온다. 1번과 달리 git init을 할 필요가 없다.
처음엔 이 2가지 경우를 잘 구분하지 못한다고 함
로컬 저장소가 있다 = commit이 로컬 저장소 안에 최소 하나는 있다
- git remote add origin remote_repo_url
→ 로컬 저장소에 원격 저장소 주소를 등록하는 명령어. 이름과 url 주소를 같이 등록한다. (원격 저장소 별칭을 origin 이라고 해서 등록하고 있음, 보통 origin이 디폴트 값이다. 그 뒤는 원격 저장소 url 주소이다.)
ex) git remote add origin <https://github.com/jogyubeom/git-test.git>
→ github 사용자 정보를 제거하거나 변경할 때는 윈도우에 ‘자격 증명 관리자’를 들어가서 하면 된다. 자리 옮기면 여기서 내 정보로 변경하면 된다.
- git remote -v
등록된 원격 저장소 목록 확인
- git remote rm origin(=원격 저장소 이름)
등록된 원격 저장소 삭제
push : 로컬에서 원격 저장소로 내용을 보내서 두 자료를 일치시키기 (로컬에 더 내용을 많을 시)
pull or clone : 위와 반대, 원격에 있는게 더 최신화된 것일 때 로컬로 가져온다.
- git push -u origin master
→ 원격 저장소에 commit 목록을 업로드, origin 이라는 원격 저장소에 master 라는 이름의 브랜치를 보내겠다!
- git pull -u origin master
→ 위와 반대, 원격 저장소의 변경사항만을 받아옴 (업데이트)
- git clone remote_repo_url
→ clone 하면 git init 을 안해도 된다. 그런 설정까지 전부 원격 저장소에서 다 가져오기 때문! 한번 clone 하면 그 다음부터는 그냥 git pull 하면 된다.
원격 저장소에는 commit 이 올라가는 것
commit 이력이 없다면 push 할 수 없다.
항상 pull 하고 나서 push를 하는 게 좋다.
원격 저장소에서 변경사항 안 가져오고 작업하면 나중에 push 하고 싶어도 commit 이 충돌나서 못한다.
이렇게 pull 잊어먹고 작업해서 나중에 push 하다가 충돌이 나면
뒤늦게라도 pull을 하고 충돌하는 부분을 확인한 뒤 적당히 편집해서 merge가 이루어지면 push가 가능해진다.
- gitignore
git 에서 특정 파일이나 디렉토리를 추적하지 않도록 설정하는 데 사용되는 텍스트 파일
→ git 한테 이거는 관심 꺼라! 하는 거임.
내 로컬에서 작업할 때는 필요하지만 굳이 원격 저장소에 올려서 다른 사람들과 공유할 필요는 없는 파일들이 있다.
그런 파일들을 등록해놓는 파일이 gitignore 이다.
내가 원격 저장소에 올리지 않고 싶은 파일들 모아놓는 곳
gitignore에 있는 파일들은 staging area에 오지 않는다.
.gitignore 파일 생성 (파일명 앞에 ‘.’ 입력, 확장자 없음)
- gitignore 주의사항
이미 git의 관리를 받은 파일이나 디렉토리는 나중에 gitignore에 작성해도 적용되지 않음.
= git add 하기 전에 미리 gitignore에 등록해놔야 한다.
- gitignore 설정 서비스
운영체제, 프레임워크, 프로그래밍 언어 등 개발 환경에 따라 gitignore 목록을 만들어주는 사이트
개발 환경에서 공통적으로 사용되는 프로그램, 도구들은 다른 사람들도 다 쓸거고 알아서 다운받아서 쓸 것이기 때문에 이런 것들은 push 안되게 하는 게 좋다. 이런 거까지 다 push 되면 시간도 오래 걸리고 비효율적임.
보통 Github와 repository를 만들면 README.md 파일과 .gitignore 파일은 꼭 만들고 시작한다.
github는 어디에 활용할까
- 프로젝트 협업
- 개인 포트폴리오
→ TIL을 통해 내가 학습하는 것을 기록
→ 개인, 팀 프로젝트 코드를 공유
개발 면접 지원 시 본인의 github 주소를 공유해 어떤 프로젝트들을 진행했고, 어떤 코드를 작성했는지 공유하고 평가 받기 위해 사용
→ 오픈 소스 프로젝트에 기여
- TIL (=today i learned)
매일 내가 배운 것을 마크다운으로 정리해서 문서화하는 것
단순히 배운 것만 필기하는 것이 아니라 더 나아가 스스로 어떤 학습을 했는지까지 기록하는 것
- ‘문서화’의 중요성
신입 개발자에게 요구되는 가장 중요한 덕목
꾸준히 스스로 학습해 성장할 수 있고 문서화를 통해 내 생각을 정리하고 팀에게 공유할 수 있는 능력
- README.md 파일이란?
프로젝트에 대한 설명, 사용 방법, 문서화된 정보 등을 포함하는 역할
markdown 형식으로 작성되며, 프로젝트의 사용자, 개발자,. 혹은 기여자들에게 프로젝트에 대한 전반적인 이해와 활용 방법을 제공하는데 사용
주로 프로젝트의 소개, 설치 및 설정 방법, 사용 예시, 라이선스 정보, 기여방법 등을 포함
반드시 저장소 최상단에 위치해야 원격 저장소에서 올바르게 출력됨.
- TIL 폴더 구조는 어떻게 만들어야 하는가?
정답은 없다.
여러 개발자들의 GitHub를 방문하면서 그들의 TIL을 참고해보기