2024년 8월 14일
✏️ Github
: 원격 저장소
💡 Repository : Github 내의 폴더(프로젝트)라고 생각
: 우리는 이 repository에 프로젝트를 저장하고 관리할 수 있음
✏️ 로컬 프로젝트 업로드
- Github repository 연결 : git remote add (repository별칭)(원격저장소url)
- Github repository에 로컬소스 올리기 : git push (원격저장소별칭)(원격저장소repository명칭)
ex) git push origin main
*log를 통해 origin/main이 생긴 것을 알 수 있음
✏️ 토큰생성
💡 Personal access token
: Github AIP 또는 명령줄을 사용할때 Github AE에 인증할 때 사용
예를 들어, git push 나 git clone, 등 명령을 하면username & password를 요구한다. 그러면 우리는 이럴때 token을 입력해야함
- 토큰 생성 후 입력해야함
- 오른쪽 상단 프로필 클릭 > settings > developer settings > personal access tokens > tokens(classic) > Generate new token > Generate new token (classic) > Note: 원하는 이름 입력 > expiration 설정 > 하단의 어느 용도로 토큰을 쓸지 체크((ex)repo, workflow, delete_repo, project, write:pacakges, delete:pacakges / 원하는 것들 체크) > push, pull 등 간단한 작업만 수행하기 위해서 repo만 체크 > Generate token
- 토큰을 생성할 때, no-expiration을 선택하지 않도록 주의 -> 토큰이 암호로 사용되므로 만료없이 생성하는 것은 보안상 위험
❗️ 토큰을 생성하고나면 토큰 일련번호를 확인할 수 있는데, 페이지를 나가게 되면 다시 확인할 수 없으므로, 로컬에 잘 저장해두자.
✏️ CLI Clone
💡 Clone : 깃허브에서 소스코드를 가져오는 것
- Github 연동하기(기존 깃허브 repository를 로컬로 받아오기)
- 새로운 프로젝트 생성 > git clone (원격저장소url) 입력
*올린 소스 코드를 다시 내려서 받을 수 있으므로 협업을 가능하게 함
✏️ 원격소스 삭제
: git remote remove origin
- 수정된 코드 올리고, 수정된 코드 받아오기
-
수정된 코드 올리기 : 코드 입력 > git add > git commit > git push origin main
-
수정된 코드 받아오기 : git pull origin main
-
clone을 잘못한 것 같을 때 확인 : git remote -v 먼저 repository 확인
ex)
- 새롭게 생성한 폴더에 clone했는데 경로 이상함 감지 -> repository가 있는 폴더로 이동(cd 폴더명) -> 그 폴더 위치에서 git remote remove origin -> 원격 연결 해제됨.
- 다시 상위폴더로 이동(cd ..) -> 원격 연결 해제 되어서 clone한 파일 삭제된 것을 확인할 수 있음 -> 다시 git clone 원격저장소url 입력.
- 하지만 똑같이 clone됨
- 이것은 잘못 된걸까...?
✏️ focusing의 차이
: vscode에서는 초반부터 clone할 프로젝트를 내려받는게 좋다(폴더를 하나 생성해서 그곳에 내려받는 것보다)
- GUI방식
- welcome페이지 clone git repository 클릭 or 소스컨트롤메뉴 clone repository클릭
- clone from github > 원격저장소url입력 > clone from url 클릭 > 원하는 폴더 지정 > select as repository destination 클릭
- 이렇게 하면 내가 원하는 repository가 바로 상위 directory인 상태로 clone됨
- 그럼 이렇게 하면 위와 다르게 알맞게 clone한 것일까?
: 아니다.
왼쪽 탐색기가 어떤 것에 초점을 맞추냐에 따라 인터페이스가 달라지므로 잘못된 것이 아니고 다르지 않다. 결국 같은 것이다! -> focusing의 차이임 (많은 학생들이 이것때문에 골머리를 앓는다고 함)
✏️ Branch
💡 Branch : 가지치기. 프로젝트를 복사해와서 쓰는 개념
- 우리가 오늘은 로그인 기능을 만들고, 내일은 메뉴기능을 만들고 싶을때 즉, 우리가 병렬적으로 작업들을 진행하고 싶을 때 사용
- 하나의 브랜치에 기능들을 섞어서 관리하면 헷갈리기 때문에 사용
- 그런데 이 브랜치들을 여러개 만들었다가 하나로 돌아오게 하는 것이 중요
- 깃 브랜치 : 로컬 브랜치
- 깃허브 브랜치 : 원격 브랜치
Branch 명령어
- git branch : 깃 브랜치 목록 확인
- git branch 브랜치명 : 깃 브랜치 생성
- git checkout 브랜치명 : 브랜치명으로 브랜치 이동
- git checkout - : 이전 브랜치로 이동
🍏🍎 오늘의 실습화면 캡쳐
-
repository 생성 및 원격에 올리기

-
파일 하나 더 생성하고 원격에 올리기

- 파일 수정 후 원격에 올리고 다른 프로젝트 만들어서 코드 받아오기
