git(1)

문소영·2024년 3월 1일

git


1. git 기본개념

  • git은 내 컴퓨터 안에서 버전을 관리해주는 시스템이자, 깃허브와 소통하는 시스템이다. 중앙에는 원격에 있는 github가 있다. 이때, github는 원격 컴퓨터에서 백업을 담당하는 시스템이자, 내 컴퓨터와는 별도로 버전 관리를 해주고 로컬의 파일들의 히스토리들을 관리할 수 있게 한다. 로컬 환경에서는 끊임없이 파일이 수정된다. 만약 분산VCS를 하지 않고 로컬 VCS를 한다고 가정하자. 버전 1.0인 프로젝트를 프로젝트를 10번 수정할 경우, 로컬에는 10개의 폴더를 저장해야한다. 하지만 분산VCS를 할 경우, 로컬폴더의 버전을 깃허브에 동기화를 시켜 내 컴퓨터에 따로 저장하지 않아도 버전 히스토리를 관리할 수 있다.
    정리하면, 내 컴퓨터에 깃이 깔려 있으면, 버전 관리를 로컬로 할 수 있을 뿐 아니라 깃허브와 소통(백업, 복구, 복제,다운로드…)을 할 수 있다. 다른 컴퓨터에도 깃이 깔려있으면, 깃허브를 통해 ‘협업’을 할 수 있다.

2. git과 친해지기

  • CLI vs GUI - 명령을 하는 방법

    CLI: 커멘드 라인 인터페이스; 명령 줄 인터페이스
    셸에서 글자를 입력해서 컴퓨터에게 명령하는 것
    ex) MS DOS, 명령 프롬프트

    GUI: 그래픽 유저 인터페이스
    그래픽으로 컴퓨터에게 명령을 내릴 수 있도록 사용자에게 화면을 제공한다.

  • git에서의 버전관리

    - working Tree : 소스코드를 직접 수정 및 저장하는 디렉터리
    - Stage : 버전관리를 수행할 대상이 되는 파일들이 모인 공간
    - Repository : 저장소라고 하며 각 버전이 저장되어 있는 공간
    - git에서의 버전관리 예시

💡 1. working tree에서 cal.py라는 소스코를 새로 생성하고 저장하면 stage는 아직 비어있음.
2. add명령을 통해 stage에 추가할 수 있고 이후 저장소에 commit할 수 있음.
3. commit을 할 경우 stage에 있는 파일들이 저장소로 이동하며 새로운 버전이 생성.
  • 깃에서 자주 쓰이는 명령어
ls //list segmentation( 폴더안에 어떤 파일이 있는지에 대한 명령어)
ls -a //ls보다 더 세부적으로 보여줌
mkdir <디렉터리명> // make directory 의 약자로 디렉터리 생성 명령어
rm <파일/디렌터리명> //파일/디렉터리 삭제
cd abc //change directroy 해당폴더의 위치로 이동
cd .. //상위 폴더로 이동
git --version //git version확인
git status // git 상태확인
c // change의 약자
wq // 저장하고 닫을 때. (입력창에 입력을 완료했을때)
git log // 버전 히스토리 확인하는 명령어

git init // 처음 파일에 깃에 버전관리 할 때 입력하는 명령어로 현재 디렉터리를 기준으로 git저장소 생성(트레킹을 시작하는건 아님)
git add . //파일 전체 트레킹하는 명령어.버전이 저장되기 전 관리
git commit -m"<커밋메세지>"//add로 트레킹 할 파일을 모은 뒤 commit을 통해 버전을 확정
git push origin main//깃허브에 소스코드 올리는 명령어 

3. 깃허브로 협업하기

  • step 1. github 가입
  • step 2. 레포지토리 생성
  • step 3. github 레포지토리 연결
git remote add 원격저장소 별칭 원격저장소 url //깃허브 레포지토리에 연결
git remote -v // 현재 프로젝트에 등록된 원격 저장소의 목록을 보여줌

1. git clone

git clone 원격저장소url // 원하는 파일 내용들을 받아 올 수 있음. 
  • 에러로 착각할 수 있는 상황: clone이 원하는 해당 파일에 된게 아니라 하위 파일에 되었을 경우, 다음과 같이 해결하려고 할 수 있지만 사실 현재 포커스 되어있는 디렉토리가 다른 것뿐이고 아무 문제도 없는 상황이다.
git remote remove origin
//방법 1. CLI
cd ..
파일삭제
git init
git clone 원격저장소url
//방법 2. GUI
새로운 window 열고 git gui탭에서 git clone

2. github에 올린 프로젝트 내려받기

//github에 올리기
git add .
git commit -m "second commit"
git log //push 전 commit 잘 됐는지 확인
git push origin main

//github에서 내려받기
git pull origin main

0개의 댓글