본문 바로가기

ETC/Git & Github

(7)
[Git & Github] 7 - 협업하기 1. 내 로컬 저장소는 변했는데 원격 저장소는 변함 없는 경우 → 그냥 Push 하면 그만 2. 내 로컬 저장소는 변함 없는데 원격 저장소는 변한 경우 → git pull로 동기화 후 push하기 [1] rebase [2] pull request (→ merge) 1) 협업 대상 repository fork하기 2) fork 해온 곳에서 clone 하기 3) branch를 만들고 작성하고자 하는 코드(commit) 작성 4) 코드작업을 수행한 그 branch에 push 5) pull request 날리기 6) pull request 날린 branch 지우기 + push 권한 주기 (collaborator 추가하기) → 대규모 프로젝트에 권장X ※ conflict : 자신의 로컬 저장소에서 진행한 변경 이..
[Git & Github] 6 - 로컬과 원격의 상호작용 Branch 개념을 원격저장소(Github)에 접목시켜 실질적인 협업을 이루기 - 원격저장소는 그저 또 다른 repository(저장소)일 뿐! - 협업은 repository끼리의 상호작용일 뿐! Repository끼리의 상호작용 종류 1. 원격저장소 조회(추가)하기 : git remote (-v) 내 로컬 repository와 상호작용 하고 있는(혹은 할 수 있는) 원격 저장소들의 목록 조회 * -v 옵션 : 단축이름과 URL 같이 보기 git remote add [단축이름][url] → 기존 워킹 디렉토리에 새 원격저장소(url)를 으로 추가하는 명령어 git remote rm [단축이름] → 제거 2. 원격저장소에 밀어넣기 : git push git push -u origin master → 내 r..
[Git & Github] 5 - 나누어 관리(Branch) Branch로 알아보는 git의 협업 원리 작업 단위로 나눈다 → 각자 작업한다 → 합친다 master branch : 다른 branch들이 뻗어나가는 태초의 branch - 새 branch 만들기 → git branch [브랜치 이름] - branch 목록 확인 → git branch - 다른 branch로 들어가기 → git checkout [브랜치 이름] ** git checkout -b [브랜치 이름] : 만들기 + 들어가기 어떤 branch를 어디로 합칠 것인가 ‘병합의 결과’가 되는 대상에 checkout git merge [합치려는 branch]
[Git & Github] 4 - git으로 되돌리자 Working directory, Staging area, Repository에 올린 내용은 어떻게 취소할 수 있을까? → git reset 어디까지 되돌릴까? - 수정한 것까지 통째로 “쎄게 되돌리자” → 옵션 —hard HEAD^ - add한 것까지 “적당히 되돌리자” → 옵션 —mixed HEAD^ (옵션 생략할 경우) - commit한 것만 “살짝만 되돌리자” → —soft HEAD^ ※ HEAD: 가장 최근 버전에서 / ^: 하나 되돌리자 가장 최근 커밋으로부터 하나 전으로 되돌려라 git reset —hard HEAD^ 가장 최근 커밋으로부터 두 개 전으로 되돌려라 git reset —hard HEAD^^ git reset —hard HEAD^ git reset HEAD^ git reset —..
[Git & Github] 3 - hello, github! git commit 명령어를 통해 버전을 만들면 내 컴퓨터 속 저장소(=local 저장소)에만 저장되는데 - 어떻게 다른 사람과 협업할 수 있을까? - 효율적으로 백업했다고 볼 수 있을까? 노트북에 커피 한 번 쏟으면 말짱 꽝인데? GitHub : 각자의 컴퓨터에만 존재하는 버전(local에서 만들어준 버전)을 저장/관리해주는 서비스 → 원격 저장소 github에 코드를 업로드한다 == github에 "push"한다 → 코드 + 버전 내역 백업 github에 push하기 1. github 원격 저장소 생성 2. local 저장소에 새 버전 만들기 3. 새 버전이 만들어진 곳에서 git remote add origin 명령어, git push -u origin main 명령어 복붙 하기 ※ local의 변..
[Git & Github] 2- 버전을 만들어보자 git_tutorial 폴더에서 git bash 열기 git init → 이 폴더 안에서 git 버전관리를 시작할 것이라는 뜻 git status → git 폴더의 상태를 알려줌 Untracked files : 버전 관리가 한 번도 되지 않은 새로 생긴 파일 git add [파일명] → staging area로 보냄 * git add . → 현재 디렉터리에 있는 모든 파일들을 staging area로 보냄 git rm —cached [파일명] → staging area에서 내림 git commit -m “commit message” (짧은 commit message로 빠르게 commit 하는 경우) * git commit → commit message 작성 창으로 넘어간 후 자세히 작성 (길고 자세한 c..
[Git & Github] 1 - 버전 관리의 큰 그림 git은 버전 관리 시스템 중 하나이다. 버전이란? 유의미한 변화가 결과물로 나온 것 버전관리? 1. 협업하기 2. 되돌리기 3. 효율적으로 백업하기 버전이 되기까지 거쳐가는 세 개의 공간 Working directory(작업 공간) 내가 코드 작업을 하는 공간 파일들이 생성/수정/삭제되는 공간 즉, 변경사항이 생기는 공간 Staging Area 버전이 될 후보들이 올라오는 공간 Working directory에서 선별 Repository 버전들이 저장되어 있는 공간 모든 명령어는 git 형태 git add : Working directory → Staging Area git commit : Staging Area → Repository