88145c0bc76f274bf5aed5f11e55c7fb.jpg

git & github

Git = VCS (Version Control System).

Git은 Git repository 라고 불리는 데이터 저장소에 소스 코드 등을 넣어서 이용하는것으로, 이러한 Git 리포지토리를 인터넷상에서 제공하는 서비스(호스팅 서비스)가 GitHub. GitHub에서 공개되는 소스 코드는 모두 Git으로 관리!

원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소.
로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소.

  • git의 기본기능
    1.데이터 베이스에 수정내역 관리 시스템 (일부는 자동 (날짜),
    일부는 손수 업데이트 해주어야함;
    파일 수정했을 때의 수정 사항들은 손수 업데이트 해야하는데, 업데이트 했을 때 디테일하게 무엇을 했는 지 적어주어야..)
    2.협업**** (이게 강점)
    3.전체 복사가 가능하고 필요할 때 이전 상태로 roll back도 가능.
  • 가령, 파일 a를 작업 하고 있을 때

    [file a] 작업 중 (내 로컬에서 파일 수정중 ~~~)
    1.git add . ->> staged(수정단계의 임시저장) 
    2.git commit ->> 수정한 사항을 올릴 준비(모든단계가 로컬에서 이루어져도 됨)
    그리고, 내 수정내역을 공유할 준비가 되었다면 
    3.push.->> 완전완전 최종. 
    다른 사람에게도 내 코드소스가 보여지고 무조건 수정하려면 push하기 전에 해야함. 
    공유가 되면 그 history(참고로 history는 시간순으로 저장됨)를 바꾸면 안됨 
    (commit하면 되돌리기 까다롭고 내부의 history가 커밋순간부터 기록됨 어떻게 수정되었는 지의 과정이 저장)
    4.pull request ->> github에 들어가서 해당 파일이 있는 repo에 어떤 사항들을 수정했고 하고 있는 지 쳐서 올리기
  • git commands

    -git init ; new repository
    -git add .; 수정사항 저장/staged
    -git commit -m "작업 중의 메세지"; stage에 있는 파일만 수정됨 
    -git status ; 현재 상태 
    -git log ; history
    -git rm ; delete
    -git mv :
    -git branch : 현재 branch 확인
    *내가 지금 있는 브랜치 앞에 * 이 뜸
    git branch feature/“ooo” => “ooo” 안에 새로운 브랜치 이름
    git checkout feature/“xx” => “xx” xx브랜치로 이동
    git push origin master 
    git push origin feature/something => git올리기
    git clone “마스터 브랜치 복붙” 
    -> nom install (무조건 해야함)


::사용할 때마다 세상 어려운.. 들어도 들어도 잘 모르겠는 git.
불면 날아갈까 쥐면 터질까 그냥 push했다가 branch날아갈까 한글씨 쓰고 절하면서 올리는 중..