0629 Fundamentals 2

  • Git & Github
  • Jupyter Notebook
  • Markdown

Git & Github

✒️ Git

개발을 진행하며 작성하는 소스코드가 업데이트 되는 버전을 기록해두고 관리할 수 있는 소스코드 버전 관리 시스템

✒️ GitHub

Git으로 관리하는 프로젝트를 호스팅하고, 시간과 공간의 제약 없이 협업할 수 있는 온라인 서비스

로컬 (local)에서 작업한 내용을 Git이 버전 기록과 함께 저장하고, 그 기록을 온라인 작업공간인 GitHub에 올려 다른 사람과 원격(Remote)으로도 작업할 수 있도록 한다.


내 깃허브 https://github.com/DreeeamBoard


Repository (레파지토리)

Git이 로컬에서 버전 관리를 하는 툴이라면, GitHub은 원격으로 관리하며 협업할 수 있는 웹사이트.

이 때 로컬의 Git과 동기화를 해서 온라인으로 관리할 수 있는 원격저장소를 GitHub에서는 레파지토리(Repository)라고 부른다.


INIT

cd workplace
git init

git init는 workplace라는 디렉토리를 새로운 Git 로컬 저장소로 만들었다는 뜻


README.md

README.md 파일은 레파지토리를 들어갔을 때 그 레파지토리가 담은 오픈소스 코드들에 대해 소개하는 역할


cd ~/workplace
echo "# first-repository" >> README.md

workplace라는 디렉토리에
README.md 파일을 생성함과 동시에 그 파일 내에 # first-repository 라는 한 줄이 입력되게 된다.

echo는 출력을 하는 명령어인데, 출력 스트림을 지정하는 >>을 통해 출력 타겟을 README.md 파일로 지정했기 때문

cat README.md

cat 명령어로 생성된 텍스트를 열 수 있다


add
commit

git add README.md
git commit -m “new readme file”

add는 변화를 기록하기 위한 준비 단계에 해당한다. 파일을 add 하는 것은 staging 한다, 또는 stage에 올려둔다는 등의 표현을 사용하며, 본격적인 스냅샷(snapshot)을 찍기 전에 임시로 올려두는 개념의 작업

commit은 실제로 특정 순간의 버전을 스냅샷으로 확정시켜 남겨두는 역할을 한다.


자, 이제 로컬 저장소에서 새로운 파일을 만들었고, 그 기록을 commit 으로 저장도 해두었으니 이걸 원격저장소, 즉 레파지토리에 옮겨볼 차례

레파지토리를 만들고

로컬 저장소와 연결하자

cd ~/workplace
git remote add origin https://github.com/유저네임/레파지토리이름.git

이제 로컬에서 레파지토리로 전송하자

git config credential.helper store
git push origin main (혹은 master)

위 명령어는 현재 로컬에 있는 버전 기록과 모든 파일들을 origin, 즉 원격 저장소의 master 브랜치로 push해 밀어넣겠다는 뜻이다.


우리가 지금까지 했던 것처럼 로컬 저장소를 GitHub의 원격 저장소로 전송하는 것이 아니라,
그 반대로 이미 GitHub에 올라와 있는 저장소를 통째로 내 로컬에 가져오고 싶다면?

cd new_workplace (새로운 작업공간에 내려받자)
git clone https://github.com/유저네임/레파지토리이름.git

이제 로컬로 가져온 레파지토리 내용을 수정해서 다시 원격으로 전송해 보는 작업을 할 것

echo "add new contents" >> README.md # 새로운 정보 추가
git add README.md
git commit -m “new contents”
git push origin master

방금은 new_workplace로 파일을 내려받아서, 새로운 내용을 추가하고, 다시 원격저장소로 push했다.

원격 저장소의 README.md 파일이 수정된 것을 처음에 만들었던 workplace 로컬저장소에도 업데이트해보자

cd ~/workplace
git pull origin main

지금까지 한 것을 정리하면


Jupyter Notebook

데이터 클리닝과 변형, 통계 모델링, 머신러닝 등 데이터 분석을 편리하게 할 수 있도록 최적화 되어있는 오픈소스 웹 어플리케이션

"문서" 작업과 "코드" 작업을 동시에 진행할 수 있다

코드만 작성할 수 있는 IDE와 다르게, 셀 단위로 코드를 실행하고 중간중간 원하는 만큼 설명 또는 이미지 등을 추가해 완전한 개발 문서로 작성할 수 있음

단축키 알아보기 : H

  • 마크다운 셀로 변환하기 : esc + m (명령모드로 변환 후 m )

  • 코드 셀로 변환하기 : esc + y (명령모드로 변환 후 y )

  • 셀의 실행 : Shift + Enter

  • 셀 삭제 : esc + x or esc + dd

  • 셀 삭제 취소 : esc + z


Markdown

  • 구분선은 --- 처럼 dash 기호를 세 개

  • 링크는

[보여줄 이름](http://...link..)
  • 줄 바꿈을 하기 위해서는 문장 마지막에서 3칸이상을 띄어쓰기해야 한다.
    이렇게

좋은 웹페이지 즐겨찾기