Intro
- 프로젝트를 시작할 때 깃허브로 협업하는 과정을 간단하게 알아보겠습니다.
- 먼저, 기존에 존재하는 저장소를 fork를 한 후, 내가 fork한 저장소를 내 컴퓨터에 clone 합니다.
- upstream 키워드를 통해서 push/pull할 저장소를 설정합니다.
- git push/pull upstrem main을 해서 upstream(내가 지정한 저장소)의 main 브랜치에 push나 pull을 합니다.
- upstream 키워드로 잘못 설정한 주소를 삭제하는 방법을 알아보겠습니다.
- 마지막으로 push 한 커밋을 삭제하는 방법을 알아보겠습니다.
🌱상황 1 - 소유자(ex. harimad) 깃 저장소로 push 하는 과정 알아보기
- 전체 과정을 그림으로 나타냈습니다.
-
먼저 소유자 깃 저장소를 내 저장소로 fork 합니다.
-
내 저장소에 fork 된 것을 확인합니다.
-
fork한 깃 파일을 clone 합니다.
git clone 주소
- 원격 저장소를 확인 합니다.
git remote -v
- upstream 저장소 설정
- "git remote add upstream 주소" 는 업로드할 다른 저장소를 등록합니다.
- 다시 git remote -v 를 하면 upstream 이 등록된 것을 볼 수 있습니다.
- upstream은 git pull upstream 이나 git push upstream할 저장소를 설정합니다.
- git pull upstream main을 하면 upsteram에 저장된 main 브랜치를 내려받기 합니다.
- git push origin main ?
- 아래 명령어를 입력하면 origin 의 main 브랜치에 push 합니다.
git push origin main
🌱상황 2 - git remote 저장소명
을 잘못 설정 했을 때?
git remote upstream 연결할_저장소
할 때 연결할 저장소 주소를 잘못 입려가는 경우가 있습니다.
- 이 때 아래의 명령어를 통해서 upstream에 잘못 저장된 정보를 삭제할 수 있습니다.
git remote rm 저장소명
- 그리고나서 다시 "git remote upstream 연결할_저장소"를 입력하여 정확한 upstream 주소를 설정합니다.
정리
-
remote origin 주소 삭제
git remote rm origin
-
remote origin 주소 추가
git remote add origin 주소
-
remote 주소 확인
git remote -v
-
origin 저장소의 자기 브랜치에 push하기
git push origin 브랜치주소
🌱상황 3 - 방금 수정한 파일 되돌리기
git restore 파일
🌱상황 4 - 방금 add한 파일 지우기
git restore --staged 파일
🌱상황 5 - 방금 한 커밋 지우기
git reset HEAD^
🌱상황 6 - 방금 한 커밋 덮어씌우기
git add 파일
git commit --amend
git commit --amend -m '커밋메시지'
🌱상황 7 - push한 커밋을 삭제하기
- 1 -> 2 -> 3 번 순으로 커밋이 진행되었을 때, 2번과 3번의 커밋을 지우고 싶다면, 1번 해시 코드를 먼저 복사합니다.
- 1번에서 복사한 해시 코드를 넣어서 아래의 명령어를 입력하면 2, 3번 커밋이 삭제됩니다.
git reset --hard 해시코드
- 그리고나서 아래 명령어를 치면 커밋이 최신화 됩니다. -f는 force의 약자 입니다.
git push -f origin
나가면서
- 지금까지 협업을 위한 초기 깃허브 사용방법에 대해서 알아보았습니다.
- 다른 사람의 깃허브 저장소를 내 깃허브에 가져와서 내 컴퓨터에 클론 합니다.
git remote add upstream 저장소명
을 통해서 다른 사람의 깃허브 저장소를 연결할 수 있었습니다.
- 내가 가져온 저장소에 파일작업을 한 후 커밋/푸쉬 작업을 합니다.
- git push를 실수로 했을 때 되돌리는 방법까지 알아보았습니다.
참고🔥
'새싹DT 기업연계형 프론트엔드 실무 프로젝트 과정 6주차 블로그 포스팅'
❗ 내가 한 작업을 push&pull 하는 과정은 어떻게 될까요?