[스파르타코딩클럽] 핵심 쏙쏙 Git - 1주차 (2) 버전관리 / pull / push / 원격repo연결

posinity·2022년 11월 15일
0

1-4. 버전관리와 commit - 개념탑재

  • commit(커밋) : '현재 프로젝트의 상태'를 저장한 것

  • 프로젝트 상태와 현재 프로젝트 상태의 차이를 자동으로 알려줌. 빨간색 이 삭제된 내용, + 초록색이 추가된 내용.

  • commit 들은 언제 했는지 정보도 포함하고 있으니까 순서대로 보면 그 자체가 히스토리(history)가 됨. 이것을 commit history 또는 commit log(로그, 기록) 라고 합니다!

  • 버전 관리 : 누가, 언제, 현재 프로젝트의 내용이 어떤지 정보를 남긴다는 것

1-5. 버전관리와 commit - 실습 01

파일/폴더명 짓는 법

  1. 영어로, 특수문자 없이(띄어쓰기도 안돼요!) 만들어주세요. 단어를 연결할 때는 - 나 _ 둘 중 하나를 사용하도록 합시다! 컴퓨터가 다른 문자가 섞이면 잘 못 알아들을 수 있어요.

  2. 내용(데이터)를 제대로 나타내주는 이름을 지어주세요!
    파일/폴더에 담긴 내용은 곧 데이터입니다. 데이터를 제대로 관리하는 첫 걸음은 제대로 이름 붙여주는 것이에요. (예. 11111.txt 🙅 / project_list.txt, commit_practice.py 🙆‍♀️ )

예를 들면, 프로젝트 이름을 git-tutorial, taco-recipe, constitution-of-republic-of-korea 로 짓는 것처럼요!

로컬 저장소 추가

로컬> 로컬 저장소 추가하기
.git이라는 폴더가 숨김파일로 생김

숨김파일 보기

command + shift + . 을 누를 때마다 숨김 파일이 보였다가 보이지 않았다가 합니다.

git 프로젝트 삭제법

  • 오른쪽 > 삭제 눌러서 휴지통으로 이동 또는 북마크 제거하기
  • 북마크 제거 : 소스트리에서만 보이지 않음. .git폴더도 그대로 남아있음
  • 휴지통으로 이동 : 내 컴퓨터에서도 파일이 삭제됨
  • git 정보만 제거하기 : .git폴더를 삭제하면 그냥 일반 프로젝트가 됨

커밋하기

파일 상태 > 커밋 하기

1-6. 버전관리와 commit - 실습 02

add (또는 staging, 스테이징) : 내가 commit 하기 위한 파일만 선택하는 것을

add(staging) 를 사용하면, 컴퓨터에서 여러 파일을 수정했어도 '기능 A 수정' 에 관련된 파일만 골라서 commit 할 수 있어요. 작업내역을 깔끔하게 관리하기 위해서는 꼭 아래처럼 commit 해주세요!

  • 내가 기록할 작업 내역이 무엇인지 생각하고,
  • 관련된 파일만 add 해서
  • 작업내역을 나타내는 commit 메시지 적기!

커밋 이라고 적힌 부분(아래 그림의 2130a53, 043d9e4 등)은 해당 commit 에 붙여주는 유일한 값. 이것을 commit id(커밋 아이디) 라고 합니다. commit 을 구분하기 위해 git 이 붙여주는 아이디

commit id 는 나중에 커밋을 관리하고 되돌릴 때 사용하는 중요한 정보.
각 commit 을 관리하기 위해 id 가 부여된다! 체크 ✅

  • commit id : commit 을 구분하기 위한 유일한 값.
  • 작업 일자 (날짜와 시간)
  • 작업한 사람(작성자 author)
  • 작업 내역 (commit 메시지)
  • 작업 내역의 순서 : 해당 commit 의 직전 commit 이 무엇인지 정보

1-7. 버전관리와 commit - 정리

  • 버전관리를 한다는 것은 프로젝트 상태가 변경되는 정보를 알고 있다는 것입니다. Git 은 commit 을 사용해서 버전이 달라지는 것을 관리합니다.
  • 컴퓨터에 있는 프로젝트를 Git 이 관리하는 프로젝트로 만들 수 있습니다. 앞으로 Git 으로 관리할꺼야! 하고 설정해주면 됩니다. 이 작업을 git 초기화(git initialize)한다고 표현합니다.
  • 현재 프로젝트의 상태를 찰칵 📸 저장하는 것을 commit 이라고 합니다.
  • commit 에는 아래를 포함합니다.
    • 누가(author), 언제 commit 했는지의 정보와 프로젝트 변경 내용
    • 작업내역이 어떤 것인지 알아볼 수 있게 적는 메시지를 'commit 메시지'라고 합니다.
  • commit 에 반영할지 안할지는 파일 단위로 선택할 수 있습니다. commit 에 반영할 파일을 선택하는 것을 add (혹은 staging, 스테이징) 이라고 합니다.
  • commit 한 기록은 history 로 볼 수 있습니다.
  • 지금까지 우리가 한 작업은 'git 초기화하기(initialize) - add(staging) - commit' 입니다.
    • git 초기화는 처음에 단 한번만 해 주면 됩니다. 작업 내역을 저장하기 위해서는 add - commit 만 하면 됩니다.

1-8. 원격 repo 사용하기 - 개념탑재

  • repo(리포, repository 리포지토리의 약자) - 'Git으로 관리되는 프로젝트'
  • 로컬 repo(local repository) : 내 컴퓨터에 저장되어있는 리포지토리
  • 원격 repo(remote repository) : Github 처럼 다른 곳에서 접속할 수 있는 공간에 저장되어있는 것
  • 추적(Tracking, 트랙킹 / branch tracking) : 로컬 repo 가 원격 repo 를 연결하는 것

  • push(푸쉬) : 로컬 repo 의 commit 들을 원격 repo 에 반영하는 것
  • pull(풀) : 원격 repo 의 commit 들을 로컬 repo 에 반영하는 것
  • 로컬 repo 를 기준으로 생각하면 되겠죠? 나(로컬 repo)의 내용을 보내주는 거니까 push! 나(로컬 repo)로 내용을 땡겨오는 거니까 pull!
  • clone(클론, 복제) : 원격 repo 를 내 컴퓨터에서도 사용할 수 있도록 가져오는 것. 일종의 초기 다운로드

1-9. 원격 repo 사용하기 - 실습

repo 만들기

  1. 로그인 후 뜨는 페이지에서 초록색 new 누르기

  2. 프로젝트 설명 페이지, 라이센스 등 여러 설정을 할 수 있지만 일단은 가장 간단한 형태로 만들어볼게요!

  3. 아래처럼 뜨면 repo 가 잘 만들어진겁니다! 빨간 부분이 내 원격 repo 의 주소입니다. 버튼을 클릭하면 주소가 복사됩니다.

Tracking 하기

Github 에 있는 repository 와 내 컴퓨터에 만들어놓은 repository 연결한다
1. 소스트레이서 원격 깃허브를 추가한다

소스트리 오른쪽 상단 설정 누르기

origin 은 원격에 연결하는 저장소를 말할 때 일컫는 이름.
호스트 종류와 사용자명 확인하기

지구본 모양 누르기

아까 만든 레포 클릭하기

확인 누르기

확인 누르기
2. 브랜치 이름을 main으로 변경하기

  1. 푸쉬하기

    상단 탭의 푸시를 누른다음 위와 같은 창에서 확인을 누르기
  2. 깃허브에 업데이트 된 것 확인하기

풀(Pull) 하기

풀에 새로운 커밋 내역 있는지 확인하고

풀 누르고 위와 같은 상태에서 확인

원격 repo Github 에서 없애는 방법

  1. 세팅을 누른다

  2. 옵션 선택 후 마지막으로 스크롤을 내린다

  3. Danger Zone 에 있는 Delete this repository (이 repository 지우기) 클릭!

  4. 정말로 지울 것인지 확인하는 창이 뜹니다. 절대 복원할 수 없으니 꼭 주의하세요!

  • 하단 빈 칸에 user이름/repository명 형식으로 그대로 적어주세요.
    그런 다음 I understand the consequences, ~ 버튼을 누르면 repo 가 삭제됩니다.

초심자를 위한 꿀 패턴! pull - commit - push

  • 혼자 Git 프로젝트 작업을 할 때는 pull -> 로컬 repo commit -> push 순서로 하면 좋아요.
  • 원격 repo 와 로컬 repo 에서 같은 파일을 수정하면 Git 이 같은 파일을 수정했는데 내가 어떤 파일을 최종으로 할까? 라고 확인 메시지를 줍니다. (정확한 내용은 곧 배울꺼에요!) 이런 것을 바로 충돌(conflict)이라고 표현해요.
  • 충돌을 피하기 위해서는 아래 순서를 따라주는 게 편해요. 같은 파일을 동시에 수정해버리면 충돌이 나니까 두 repo 의 상태를 똑같이 맞춰준 후에 변경작업을 해주는 거에요.
  1. 원격 repo 와 로컬 repo 의 상태를 똑같이 맞춰주기, 즉 로컬 repo 에 원격 repo 작업내역 가져오기 (pull)
  2. 로컬 repo 의 작업 내용을 저장하고 (commit)
  3. 원격 repo 에 로컬 repo 내용을 반영 (push)
  • 원격 repo 에 변경사항이 생겼다! 하면 먼저 pull 하고 로컬 repo 에서 작업하면 많은 경우 충돌을 피할 수 있어요.

clone - 원격 repo 를 내 컴퓨터에 가져오기

  • 원격 repo를 내 컴퓨터에 가져올 수는 없을까요?
    • A 컴퓨터에서 작업한 걸 github 에 올리고 B 컴퓨터에서 내용을 보고 싶을 때
    • 다른 사람의 repo 를 나도 다운로드 받아서 보고 싶을 때가 있겠죠!
    • 이때 사용하는 것이 clone 입니다. 클론! 복제하다라는 뜻이죠. repo 를 내 컴퓨터에 복제해오는 겁니다.


1. 컴퓨터에 원격repo파일을 저장할 폴더 만들어두기
2. 가져올 원격 repo의 주소 복사하기

3. 소스트리에서 새로 만들기>url 복제 클릭하기

  1. 복사한 Url을 붙혀넣은 후 클론 클릭. 목적지 경로는 아까 만들었던 폴더를 선택해준다.
profile
문제를 해결하고 가치를 제공합니다

0개의 댓글