9june2.log
로그인
9june2.log
로그인
(TIL) D+16 git 협업 기초 배우기
JulyK9
·
2022년 7월 20일
팔로우
0
TIL
git
0
개발자가 되기 위한 여정
목록 보기
16/35
git을 통한 협업 스킬 배우기
Local repository 체크리스트
Remote Repository 와 Local repository 개념을 알고 도식화 할 수 있나?
local에서 작업시 init => add => commit 으로 가는 플로우를 이해하는가?
add 명령시 . 이 아니라 일부 파일만 add 시키는 경우를 얘기할 수 있는가?
git status 로 git 레포의 상태를 확인할 줄 아는가?
commit의 두가지 원칙
작은 단위로 자주 하는게 좋다! (향후 merge, rebase 기능 활용에 도움)
메시지는 짧고 간결하게!
Remote repository 체크리스트
local에서 remote 레포 등록 방법과 등록 상태 확인 방법을 아는가?
remote 레포에 프로젝트 공유용 레포를 등록해서 사용하는 이유를 이해하는가?
local에서 commit한 작업을 remote 레포에 push할줄 아는가?
pull request 를 통한 contributer 가 되어 보자꾸나
포크 => 클론 => 내 로컬에서 작업후 내 원본 레포로 push => 풀 리퀘의 흐름 이해?
pull을 하는 이유는? clone 과 pull 의 차이점을 이해하고 있는가? (매우 중요)
아주 좋은 예시) 프로젝트용 원격 레포를 등록하고 내 작업을 push 하기 전에 원격 레포에 다른 팀원이 반영한 사항을 내 로컬 레포에 먼저 반영하려면 pull을 진행하고 그 다음 내 작업을 push
단, 이때 동일한 파일을 수정한 경우라면 conflict 가 발생할 수 있음
=> 충돌 해결후 staging area 에 올라간 파일은 자동으로 커밋 메시지가 생성된다고 함
=> 따라서 이걸 반영하는 명령은 옵션이 안들어간 그냥 git commit
Fork 체크리스트
fork 가 무엇인지 아는가? 그리고 하는 이유를 알고 있는가?
포크후 로컬에서 작업을 하려면 clone을 하는 이유를 알고 있는가?
=> (궁금) 포크후 내 원격 레포를 클론하는 건 알겠는데 원본 레포를 클론해도 차이는 없나??
예전에 클론코딩 초기 세팅을 하기 위해 레포를 clone 했었는데 그 차이를 알 것 같다.
그 밖에 유용한 기능
✅ commit 취소, 되돌리기, 덮어쓰기
commit 취소 : git reset
HEAD 위치를 바꿔서, 로컬 저장소의 상태를 커밋 이전 상태로 강제 변경
but 커밋을 협업중인 원격 저장소에
push
해버린 경우, 로컬 저장소에서 커밋을 취소해버리면 원격 저장소와 상태가 틀어져버리기 때문에 매우 유의해야함!
원격 저장소에서 force push를 금지하는 경우, 로컬 저장소의 변경사항을 push할 수 없게 됨.
이런 경우에는
git revert
로 특정 커밋의 내용을 되돌리는 커밋을 하는 방법을 사용
commit 되돌리기 : git revert
commit 덮어쓰기 : git amend
참고
https://www.lainyzine.com/ko/article/git-reset-and-git-revert-and-git-commit-amend/
https://velog.io/@falling_star3/GitHub-git-add-git-commit-git-push-취소변경덮어쓰기
✅ git pull 과 git clone 의 차이
git clone
로컬 저장소의 내용이 원격 저장소의 내용과 일치됨
기존에 작업중이었던 사람이 git명령을 사용해서 원격 저장소의 내용을 그대로 가져와버리면 기존에 작업했던 내용들은 직접 복구해야 한다. 즉, git clone은 프로젝트에 처음 투입될 때 사용되어야 하는 명령
git pull
원격 저장소의 내용을 가져와서 현재 브랜치와 병합(merge)까지 해줌
즉, 기존에 작업했던 내용은 유지하면서 최신 코드로 업데이트할 수 있는 것
참고
https://kimcoder.tistory.com/288
https://sabarada.tistory.com/75
향후 계획
branch 에 대한 이해와 활용은 향후 추가 학습 진행될 예정
JulyK9
느리지만 꾸준하게. 부족하거나 잘못된 부분은 알려주시면 감사하겠습니다.
팔로우
이전 포스트
(TIL) D+15 유효성 검사 및 이벤트 객체
다음 포스트
(TIL) D+16~17 나만의 아고라 만들기
0개의 댓글
댓글 작성