**sprint : 작은 기능에 대해 “계획, 개발, 테스트, 기능 완료”에 대해 주기적으로 시행하는 것
소스 코드를 효율적으로 관리하기 위해 만들어진 "분산형 버전 관리 시스템"
- 소스 코드의 변경 이력을 쉽게 확인 가능하며,
특정 시점에 저장된 버전과 비교하거나 특정 시점으로 돌아가기 위해 사용한다.
git 설정
git config --global user.name "이름"
git config --global user.email "your.email@example.com"
새로운 저장소 초기화 : 새로운 프로젝트에 깃 시작하기
git init
파일 추가
//git이 추적할 파일 추가
git add 파일명
// 또는 모든 변경사항 추가
git add .
커밋 : 변경사항을 저장소에 기록하는 것
git commit -m "커밋할 메세지"
원격 저장소에 추가
git remote add origin <repository_url>
원격 저장소에 푸시 : 로컬변경사항을 원격저장소에 업로드
git push -u origin master
브랜치 생성 및 전환
git branch 생성할 브랜치명
git checkout 이동할 브랜치명
//또는 한번에
git checkout -b 생성할 브랜치명
머지 : 다른브랜치의 변경사항을 현재 브랜치로 병합
git merge 합칠브랜치명
변경내역 확인
git status
로그 확인 : 커밋 로그를 확인
git log
변경내역 취소 : 수정한 파일을 이전 커밋상태로 되돌리기
git checkout -- 파일명
독립적으로 어떤 작업을 하기 위해 필요한 개념
브랜치를 통해 코드 관리가 가능하다.
git branch
: 로컬 브랜치 목록 확인git branch 브랜치명
: 현재 브랜치에서 new 브랜치 생성git checkout 이동할 브랜치명
: 브랜치로 이동git branch -d 삭제할 브랜치명
: 브랜치 삭제git checkout -b 만들 브랜치명
여러가지 git branch를 다른 branch로 합치는 과정
git checkout a //a브랜치로 이동
git merge b // b브랜치와 merge 진행
case1) a브랜치,b브랜치에서 서로 다른 파일을 수정했을 때
=> 쳌아웃a 머지b 하면 자동으로 알아서 합쳐짐
case2) 서로같은 파일에서 다른 부분을 수정했을 떄
ex) 원본은 같음 . a브랜치에서는 title을 수정
b브랜치에서는 body를 수정했을 때
=> 체크아웃 a 머지 b 하면 알아서 합쳐짐
case3) 서로같은 파일에다 같은부분 수정했을 때
ex) 원본도 같고. a,b브랜치 둘다 title을 수정함
=> 충돌 ~~ 수동으로 해결해야 한다.
=> 해결 후 파일 저장 뒤 add,commit,push 수동으로 코드를 머지.
vs code에서 버튼 클릭해도되고 , 직접 수정도 가능하다
>>>> ===== >>>>
이런 표시 다 지우고 수정 가능
git add .
git commit -m "커밋메세지"
두개 쓰는거를
git commit -am "커밋메세지"
로 작성 가능
git push origin test
test라는 브랜치를 origin(원래의 브랜치)에 test브랜치에서 작업한 내용을 올리겠다는 뜻
가장 최근 커밋 취소하고 싶을 때
: git reset 커밋명^
: 꺽쇠^를 붙이면 가장 최근 커밋을 취소하겠다는 뜻이다.
특정 커밋 취소 하고 싶을 때
: git log 치면 commit 기록이 쭉 나옴 . 주소 복사해서 git reset에 붙여넣으면 됨
: 이전 커밋기록 보고싶으면 엔터
: 빠져나오고싶으면 Q 누르기!
git fetch
: 원격저장소에서 최신 변경 내용을 로컬 저장소로 가져오는 역할. fetch는 로컬작업디렉토리의 파일을 수정하지 않음 -> 가져온 변경내용을 로컬에 반영하려면 merge 사용해야함
git clone 내레포url
: 원격저장소 복제
cd ..
: 현재디렉토리의 부모 디렉토리로 이동
push 권한이 없는 오픈소스 프로젝트에 기여할 때 많이 사용
내가 수정한 코드가 있으니 내 브랜치를 가져가 검토 후 병합해주세요 라는 뜻
1. 내 레포지토리에 가서 pr 클릭 후 new 클릭
pr할 브랜치를 선택 후 쓰고싶은 멘트 작성->create 클릭
눌러주면 끝!
Git 버전 관리에서 제외할 파일 목록을 지정하는 파일
** Git 관리에서 특정 파일을 제외하기 위해서는 git에 올리기
전에 .gitignore에 파일 목록을 미리 추가해야 한다.
웹 호스팅 서비스
-> 호스팅? 웹 상에 저희들이 만든 서비스를 올려주겠다.
git repository 연결해서
배포 가능
왼쪽 카테고리의 site를 눌러 나만의 홈페이지 생성 가능! 이름도 바꿀수 있어용
프로젝트 전에 필수인 git협업 방법이랑
프로젝트에 써먹으면 좋을 미디어쿼리 배움 . 실습3에서 position부분 좀 흔들렸으니, 다시 복습!
<출처 및 레퍼런스>
포스코X코딩온
TCP school