240112

2024. 1. 30. 20:38CS 공부, 기타

오늘도 대부분 git 내용이다.

  1. Remote Repository
  2. 로컬 & 원격 저장소
  3. gitignore
  4. github 활용
  • 원격 저장소 (=Remote Repository)

코드와 버전 관리 이력을 온라인 상의 특정 위치에 저장하여 여러 개발자가 협업하고 코드를 공유할 수 있는 저장 공간

원본, 복사본이 따로 있기 보다는 그냥 똑같은 걸 다른 곳에 또 만드는 것이다.

gitlab, github, bitbucket 등의 원격 저장소 서비스가 있다.

 

  • 로컬 & 원격 저장소

공용 문서 안내에 따라 github 가입 및 설정을 진행 → github repository 생성

  1. local 저장소를 생성하고 이후 원격 저장소를 생성, 등록한다. 이때 주의할 것은 원격 저장소를 빈 저장소로 생성해야 한다!
  2. 로컬 저장소는 없는데, 원격 저장소는 비지 않고 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는 어디에 활용할까

  1. 프로젝트 협업
  2. 개인 포트폴리오

→ TIL을 통해 내가 학습하는 것을 기록

→ 개인, 팀 프로젝트 코드를 공유

개발 면접 지원 시 본인의 github 주소를 공유해 어떤 프로젝트들을 진행했고, 어떤 코드를 작성했는지 공유하고 평가 받기 위해 사용

→ 오픈 소스 프로젝트에 기여

 

  • TIL (=today i learned)

매일 내가 배운 것을 마크다운으로 정리해서 문서화하는 것

단순히 배운 것만 필기하는 것이 아니라 더 나아가 스스로 어떤 학습을 했는지까지 기록하는 것

 

  • ‘문서화’의 중요성

신입 개발자에게 요구되는 가장 중요한 덕목

꾸준히 스스로 학습해 성장할 수 있고 문서화를 통해 내 생각을 정리하고 팀에게 공유할 수 있는 능력

 

프로젝트에 대한 설명, 사용 방법, 문서화된 정보 등을 포함하는 역할

markdown 형식으로 작성되며, 프로젝트의 사용자, 개발자,. 혹은 기여자들에게 프로젝트에 대한 전반적인 이해와 활용 방법을 제공하는데 사용

주로 프로젝트의 소개, 설치 및 설정 방법, 사용 예시, 라이선스 정보, 기여방법 등을 포함

반드시 저장소 최상단에 위치해야 원격 저장소에서 올바르게 출력됨.

 

  • TIL 폴더 구조는 어떻게 만들어야 하는가?

정답은 없다.

여러 개발자들의 GitHub를 방문하면서 그들의 TIL을 참고해보기

'CS 공부, 기타' 카테고리의 다른 글

Project Management  (0) 2024.07.04
프로젝트 기획  (0) 2024.07.04
UI / UX  (1) 2024.07.04
240111  (2) 2024.01.30
240110  (1) 2024.01.30