git 명령어 정리
인프런 강의 참고 (빠르게 git - 핵심만 골라 배우는 Git/Github)
branch : 작업을 단위로 나눈 후 작업을 합친다. 이때 나누는 단위가 브랜치
branch를 사용해야 하는 이유
1. 협업을 하는데 합칠 때 번거로운 점들이 많이 발생
2. 수많은 commit 중 특정 몇개만을 골라서 없애고 싶을 때
1,2 를 직접 일일히 하려면 시간이 많이 걸림
명령어
git init을 처음으로 시작하면 자동으로 main 브랜치에 속하게 됨
git branch : 현재 내가 있는 브랜치
** 한번이라도 commit을 해야 git branch를 입력 시 나옴
git branch 브랜치이름 : 새 브랜치 만들기
git checkout 브랜치이름 : 다른 브랜치로 옮겨가기
a브랜치에 b의 브랜치 내용을 합칠 때
1. git checkout a
2. git merge b
중요
git remote : 원격저장소(GitHub)에 조회하기. 내 레퍼지토리와 상호작용 중인 원격저장소 목록 조회.
단축이름이 출력됨
git remote add <단축이름><url> : 기존 워킹디렉토리에 새 원격저장소를 추가
git remote rm <단축이름> : 연결된 원격저장소를 지울 때
git push : github에 올리기
git push -u origin main : 내 레퍼지토리 main 브랜치에 있는걸 origin(단축이름)의 main 브랜치로 넣어라
-u 는 디폴트로 저장하겠다는 의미
git pull : github에서 갖고와서 합치기
git pull origin main : origin 을 내 레퍼지토리의 main 브랜치로 갖고오기(동기화)
지금 내 작업 중인 작업물은 사라짐. 덮어씌우는 개념
git fetch : 만약 내가 작업중인 작업물은 안사라지게 하고싶을때 fetch를 사용
git fetch origin main : 동기화하지는 말고 origin을 내 레퍼지토리의 main 브랜치로 갖고오기
** 바뀐내용을 어디서 확인할 수있나면 내가 main브랜치에 있다면 바뀐 내용은 origin/main 브랜치에서 확인
즉 현재 나는 로컬저장소의 main브랜치이고, 확인은 원격저장소의 main브랜치에서 확인
git clone <url> : github에 있는걸 복사하기
<url>에 있는 원격 저장소 내용을 현재 레퍼지토리로 복사해오기
협업을 할 때 주의해야할 점
1. 내 로컬에는 변화가 있지만 원격에는 변화가 없을 때
내 로컬의 변화한 것을 원격에 push하면 됨
2. 내 로컬에는 변화가 없지만 원격에는 변화가 있을 때
원격의 변화를 pull로 받아오면 됨
3. 내 로컬에도 변화가 있고 원격에도 변화가 있을 때
(1) rebase
(2) pull request
원격저장소에게 내 코드를 받아달라는 요청을 보냄(pull request)
원격저장소에서 승인을 해주게 됨(merge)
pull request하는 방법
(1) 협업하고싶은 계정을 fork하기.
여기서 내 계정을 누르면 계정의 하위에 co-practice가 생성되며 그 곳에 내 계정의 내용들이 복사됨
(2) fork 해온 co-practice에서 clone(복사)를 하기
그럼 상호작용 하고 싶은 레퍼지토리의 내용들이 복사됨
(3) 새 브랜치를 만든 후 그 브랜치에서 내가 하고 싶은 것들을 함
(4) 그 후에 push를 하면 우리가 협업중인 브랜치에 올라가게 됨
(5) 새로 만든 브랜치를 지우기
글의 내용들 중에서 틀린 부분이 있다면 댓글을 남겨주세요!
'개발 > 개념정리' 카테고리의 다른 글
[자바] 객체지향 특징(3) - 상속화, 다형화 (1) | 2024.04.12 |
---|---|
[자바] 객체지향 특징(2) - 추상화. 인터페이스,추상클래스 차이점 (0) | 2024.04.11 |
[자바] 객체지향 특징(1) - 캡슐화 (0) | 2024.04.10 |
visual Studio Code Git 오류 : 체크아웃 하기 전에 리포지토리 작업 트리를 정리하세요 (2) | 2023.08.04 |
[Git/Git명령어] 명령어 정리 1 - 인프런 강의 참고 (0) | 2023.07.26 |