http로 git clone 했을 경우 git push 할때마다 username과 password를 입력하라고 뜸
ssh로 등록할 경우 한번만 git hub에 ssh key를 등록해놨을 경우 git push 할때마다 password를 입력하지 않아도 됨!
만약 git clone을 http로 했을 경우, ssh로 바꿔주는 방법 : git remote set-url origin (내 github ssh 주소)
1) VSCODE 터미널에서 git clone (내 github ssh 주소)
2) git remote -v
로 git에 잘 연결되어있는지 확인
3) git branch -r
로 현재 git hub안에 만들어져있는 모든 branch 확인
4) git branch
로 현재 내 로컬 저장소 안에 있는 모든 branch 확인
5) branch가 있을 경우, git checkout 원하는branch명
으로 현재 나의 연결된 branch 변경
5-1) 만약 branch가 없을 경우, git branch 원하는branch명
으로 로컬 저장소 안에 branch 만들기
6) git clone한 상태라서 git init은 필요 없음 ! 로컬 저장소 내의 파일을 수정한 뒤에, git add .
+ git commit -m "남기고 싶은 커밋이름"
+ git push origin branch명
을 통해 git branch로 나의 수정사항을 반영한 파일을 git hub에 업로드 가능 ~
git add .
하고 git commit
전에 git status
를 하면, commit하기전에 현재 수정사항을 한번 더 확인할 수 있음
다음번에 다시 git push하려는 과정을 가지려면 git pull origin branch명
을 먼저 해주고 add, commit, push을 해주면 된다 !
git push 하는 과정에서 conflict(충돌)이 발생하면 merge를 통해 수정사항끼리의 충돌을 막아주는 일련의 과정을 거쳐야 함
자주자주 수정완료된 git을 pull하는 과정을 거칠 것 !
clone이란 원격 저장소(git hub 저장소)를 복제한 저장소(=나의 로컬 저장소)
원격 저장소(git hun 저장소)에 변경 사항이 생겼다면, 그 내용을 가져와서 클론 저장소를 최신 상태로 유지해주어야 함.
-> pull과 fetch의 사용
git fetch
는 로컬 git에게 원격 저장소에서 최신 메타데이터 정보를 확인하라는 명령을 전달함. 단 fetch에서는 원격 저장소에 변경사항이 있는지 여부만 확인하고, 변경된 데이터를 로컬 git에 실제로 가져오진 않음(이름 없는 임시 브랜치로 최신 commit 코드를 내려받음)
git fetch
이후 수동으로 merge(병합)하면 git pull
처럼 구현가능함. git pull
은 원격 저장소에서 변경된 메타데이터 정보를 확인할 뿐만 아니라 최신 데이터를 복사해 로컬 git에 가져옴
보통의 워크스테이션에는 최소 세개 이상의 프로젝트 복사본이 존재함
git fetch
를 사용하면 마지막 pull 이후 원격 저장소 or 브랜치에 적용된 변경 사항을 확인 가능
만약 원격 저장소에 변경 사항이 존재할때 pull을 바로 실행하면 현재 브랜치와 작업 복사본이 파일이 변경되고, 동시에 새로 작업한 내용이 손실되는 일이 생길 수 있음.
따라서 fetch로 변경 사항을 먼저 확인한 후, pull을 실행하는 방법이 보다 안전함 !
git log
라는 명령어로 commit 내역도 확인 가능
출처
git 공부할때 참고하면 좋을 블로그 정리