[GitHub] 하나의 PR 메세지에 PR 링크를 올려 잘게 쪼개기
·
🎸 기타/git
학습 목표현재 Upstream의 레포지토리를 Fork해서 작업하고 있다.그리고 PR은 하루에 단 한 번만 보내야 하는 상황이라, 잘게 쪼개서 PR 보내기를 할 수가 없다.Fork한 내 개인 브랜치들 간에 잘게 쪼갠 PR을 하나의 PR 메세지에 올려서 리뷰가 용이하게 해봤다.본 내용은 그 경험을 공유하는 글이다.학습 내용각각의 PR 링크는 모두 Kyxxn/swift-p2-canvas 레포지토리의 브랜치들 간에 PR 작업한 것들이다.Upstream에 1일 1PR을 위한 메인 브랜치를 만든다. ex) Day10Day10을 Base로 분기해서 Feature 혹은 Refactor 단위로 작업 브랜치를 만든다.작업 브랜치 기능 구현이 완료되면 Day10에 Merge 시킨다.1~3번 작업은 모두 내 개인 레포지토리에..
[Git] Git의 원리 이해하기 - 내부 동작과 .git 파일 구조 분석
·
🎸 기타/git
Git 원리를 공부하는 이유기억이 오래 감→ 원리없이 공부하면 금방 까먹음공부할 때 효율이 올라감시간을 아낄 수도, 넓은 시야로 다른 궁금증을 가질 수도 있음Git의 사용자가 아닌, Git을 만든 입장이 돼 봄다른 걸 만들 때, Git 만든 이론을 참고할 수도 있음실습도구: Gistory내 .git 디렉토리의 변화를 GUI로 쉽게 보여줌localhost:8805로 가서 보면 위와같이 보임.git 디렉토리 내부 구조의 파일들을 볼 수 있어서 보기 쉬움그럼 .git 디렉토리에는 뭐뭐 있고, 어떤 역할을 할까?.Git 디렉토리 내부 구조index파일의 이름을 갖고 있음SHA-1 키값을 통해 변화된 파일 이름을 가리킴파일의 실제 내용은 objects 디렉토리 내에 있음위 밑줄 친 부분은 ‘2444.c’라는 파일..
[git] 깃허브 협업 시 Pull Request 활용 방법 총정리
·
🎸 기타/git
개요 지난 앱 프로그래밍 팀 프로젝트에서 깃을 공부하지 않고, '한 사람 작업이 끝나면 압축 -> 메일 전송'과 같은 바보 같은 방식을 사용하여 이번 프로젝트를 진행할 때는 그러지 않기로 위 내용을 공부하여 정리한다. Pull Request 사용 단계 원본 저장소에서 브랜치 생성 1단계에서 생성한 브랜치를 내 원격 저장소로 Fork 내 원격 저장소 Clone 원본 저장소 Remote 설정 내 원격 저장소 브랜치 생성 5단계에서 생성한 브랜치에 add, commit, push 원본 저장소에 대한 Pull Request 생성 원본 저장소 관리자에 의해 Merge Pull Request 원본 저장소의 Merge 동작을 마치면 내 원격 저장소의 main과 동기화 후 branch 삭제 원본 저장소에서 브랜치 생성..
[git] Git Pull과 Clone, 여러 저장소 다루기
·
🎸 기타/git
여러 로컬 저장소 다루기 여러 로컬 저장소 → 하나의 원격에 접근할 때 연동이 되어 있으면 다른 로컬 저장소에서 push 하더라도, 해당 로컬 저장소에서 비교하여 Pull로 최신화(동기화) 할 수 있음. Pull : 원격저장소에서 변동을 했을 때, 로컬 저장소로 불러오기 clone : 새 컴퓨터에서 원격 저장소와 연동하려면, 새 컴퓨터에도 로컬 저장소가 있어야 함 체크박스 클릭 시, 워크스페이스 폴더도 사라짐. 로컬 저장소만 삭제하고 싶으면 깃허브 들어가서 수동으로 Clone 나의 원격 저장소를 여러 컴퓨터가 쓸 때 다른 사람의 원격 저장소를 나의 로컬 저장소와 연동할 때 깃허브 내에서 집 파일을 다운 받는 개념이 아님. 원격 저장소 내용 복제 (HTTPS URL 링크) 복제한 내용을 내 컴퓨터로 로컬 ..
[git] Git branch와 Merge 합병 충돌
·
🎸 기타/git
git branch branch : 커밋의 복사본 직접 코드를 작성하는 게 위험하기에 복사본을 만들고 거기에 개발을 하는 개념 git branch 브랜치명 : 브랜치 생성 git switch 브랜치명 : 브랜치로 이동함 == git checkout 과 동일 브랜치 위치가 바뀌면 이전 브랜치 위치의 복사본이 보이지 않음 git status : coupon 브랜치로 온 것을 볼 수 있음 다른 브랜치를 원본 브랜치(main)에 합치고 싶으면 메인 브런치로 넘어가서 git merge 합칠 브랜치명 git merge coupon : coupon 브랜치의 내용을 합침 이후 :wq 로 종료 브랜치를 합칠 때, 서로 다른 파일만 건드렸다면 다른 파일을 서로 수정해놨다면, 문제 없이 잘 됨. 브랜치를 합칠 때, 같은 파..
[git] Git add, commit, diff, difftool
·
🎸 기타/git
git add 및 commit git init : 현재 폴더가 workspace가 됨 (.git 파일이 숨김으로 만들어짐) 깃이 해당 폴더 내에 있는 파일들을 버전관리 대상으로 보고, 변경을 감지할 수 있게 함 git add 파일명 : stage || Index에 넘겨주는 역할. 파일 내용이 변경되면 해당 내용을 인덱싱 git add . : 해당 폴더의 전체 파일을 인덱싱함 git status : 현재 인덱싱(스테이징) 되어 있는 파일의 목록을 보여줌 git commit -m “메세지” : Index에서 인덱싱된 파일의 내용을 .git 파일(로컬 저장소)에 저장하는 명령 메세지는 수정한 내용 등 내가 표기하고 싶은 내용 git commit -a : add와 commit 명령을 묶어서 한 번에 처리. -a..