🧠 Git은 "브랜치 A와 B 사이의 차이를 계산해서 → 하나로 합치는" 걸 전부 merge라고 부름.
즉:
상황 | Git 입장 |
---|---|
내가 남의 걸 받든 pull | → "합쳤네? merge야!" |
남이 내 걸 받든 merge | → "합쳤네? merge야!" |
순서 | 명령어 | 뜻 (간단 설명) |
---|---|---|
1️⃣ | git clone URL |
원격 저장소(깃허브)를 내 컴에 복사 |
2️⃣ | git fetch origin |
git pull
/ | GitHub에 뭐가 바뀌었는지 변경 정보만 받아오기 (코드 직접 반영은 ❌)
깃허브에서 최신 코드 받아오기 /
fetch + merge = 최신 코드 받아오고 자동 적용까지 |
| 3️⃣ | (코드 수정) | 원하는 파일을 고침 |
| 4️⃣ | git add 파일명
| 수정한 파일을 커밋 대상에 등록 |
| 5️⃣ | git commit -m "메시지"
| 수정 내용을 기록으로 저장 |
| 6️⃣ | git push
| 내 저장 기록을 GitHub에 업로드 |
| 7️⃣ | (필요 시) GitHub에서 Merge
| 브랜치를 main
에 합치기 (풀리퀘) |
| | | |
git clone <https://github.com/사용자명/레포.git>
git fetch origin # 새소식 갖다줘. 내 코드에 반영되진 않음
git pull origin # git fetch + merge. 새소식+코드반영
(((((((
git branch # 현재 브랜치 보기
git checkout dev-soyoung # 소영의 브랜치로 이동
git checkout -b dev-soyoung # 새 브랜치 만들고 바로 이동
git push origin --delete dev-soyoung # GitHub에서도 소영이 브랜치 지워
)))))))
git add readme.md # 파일명 추가
git add . # 전체 다 추가
git commit -m "로그인 기능 추가"
git push origin dev-soyoung
#소영의 브랜치를 GitHub에 밀어넣어
git checkout dev-soyoung # 먼저 소영이 브랜치로 이동
origin이 아니고 git의 폴더이름인 acorn~로 써야하는거 아님?
-> origin은 <https://github.com/Seyun-lab/Acorn_From0714.git> 이 주소를 뜻하는 이름이야! 그래서 네가 push할 때는 여전히 origin넣어서 써야 해
필요하면 origin이 어떤 주소 가리키는지 확인도 가능해
git remote rename origin banana # origin 이름 바꿈
git remote -v
git merge main
git merge origin/main # 메인 브랜치 최신 내용 합치기
네! 협업 중이면 git pull을 자주 해줘야 해요!
왜냐면:
pull
해서 최신 내용 기준으로 작업하는 게 안전클론 → 풀 → 수정 → 애드 → 커밋 → 푸시 → 머지
clone → pull → add → commit → push → merge