모든 것을 git 에서부터 시작해보자
mkdir -> 새로운 프로젝트폴더생성
cd 새로운프로젝트폴더이름 -> 새로운 폴더로 이동
파일이름.js -> 코드를 작성할 Javascript 파일 생성
git init -> .git 디렉토리를 생성(폴더 내에 숨겨진 디렉토리를 생성)
이제 git은 현재 저장소에 대한 모든 변경사항을 추적/관리한다
git add 파일이름.js -> staging area 로 파일을 staging 시킨다.
git commit -m "commit 내용, 보통 내가 뭘했는지 적는다"
-> 커밋은 특정시간의 코드 스냅샷 형태로 해당 repository의 커밋기록에 남는다.
git branch -M main -> brach 이름을 master에서 main 으로 변경
git remote add origin github주소url
-> 'git remote add' command lets you create,view and deletec connections to other repositories.
git push -u origin main -> main 브랜치로 push(동기화시킨다)
이 이러한 과정으로 main 브랜치에 나의 local 서버에 있는 소스 코드를 github에 동기화 시킬 수 있다.
🧞♂️ git remote origin와 git clone 의 차이
'git remote add origin' just creates an entry in your git configuring that specifies a name for a particular URL. You must have an existing git report to use this.
'git clone' creates a new git repository by copying an existing one located at the URL you specify
'git clone' 은 아예 new repository 를 생성해내는 것이다.
clone 한 url을 통해서 아예 새로운 repository를 생성해 저장하는 것이고,
'git remote add origin'은 내가 건드리고 있는 git 디렉토리 안에서 local storage(나의 PC)와 나의 github repository를 연동(동기화) 시키는 것이다.
더 쉬운 묘사를 보면
'git remote' is used to refer to a remote repository or your central repository.
'git remote'는 원격 저장소 혹은 중앙 저장소를 데려오기위한(동기화시키기위한) 명령어
'git clone' is used to copy or clone a different repository.
'git clone'은 다른 저장소를 복사해오기 위한 명령어
자! 그렇다면 이렇게 나의 github에 하나의 repository 를 생성했다.
여기에 새로운 소스코드를 수정해 넣은 것을 갖다 붙이고 싶다면
다시
cd /git디렉토리 폴더이름
git branch -> 현재 작업위치가 무엇인지 확인
git branch feature/posting -> feature/posting이라는 branch를 생성.
-> 이름은 마음대로 지만 feature/OOO 형식을 많이 씀
git checkout feature/posting -> feature/posting 브랜치로 이동
VScode에서 소스코드를 수정했다면 저장하고
git add 파일이름.js
git commit -m "내가 무엇을 수정했는가"
git push origin feature/posting -> github 로 push!
이후 compare&pull request 버튼이 생성될 것이다.
버튼 누르고, pull request 를 열고
제목/본문 상세하게 적고
create pull request 누르면 PR이 생성된다.
*PR:Pull Request - let you tell others about changes you've pushed to a branch in a repository on github.
우리는 그 PR(Pull Request)의 url을 따올 수 있다.
마지막으로 Merge pull request 버튼을 누르먼
feature/posting branch의 commit 내역이
main branch에 병합(merge)된다.
*실무에서 merge 권한은 보통 관리자에게 있음