git에 업로드하고 가져와서 쓰는 순서
1.초기 업로드 : init로 초기화→add→commit→remote→push 까지 해서 git에 업로드 되었는지 확인
2.다른곳에서 쓸 때 : clone 해당 git레퍼지토리주소 로 받아옴. 이 때 폴더이름은 레퍼지토리 가 된다
3.다른곳에서 작업을 하고 업로드 할 때 : 위의 초기 업로드 중 add부터 시작하면 된다
4.기존 작업한 곳에서 불러 올 때 : pull 로 불러온다
5. 작업파일이 있는 곳에서는 3과 4를 반복하게 된다. 즉, 초기에 업로드는 1, 다른곳에서 초기에 받아올 때는 2. 작업한 후 업로드 한다면 3, 그 작업한 파일을 다른곳에서 쓰기 위해서 4
6. 만약 4를 하지 않고 작업하게 된 경우 git에 업로드한 내용과 현재 작업한 내용이 충돌 하게 되어서 push에서 막힌다. 이 때 에러창을 보면 git pull 로 기존 파일을 불러오라고 한다. 그러면 기존 파일과 작업한 파일 중 충돌하는 부분을 보여주고 어떻게 수정할지 선택하게 해준다(확인은 vscode에서 파일명 옆에 ! 표시 또는 git bash에 barnch이름|MERGING 라고 표시된다)
한 레퍼지토리에서 여러명이 작업할 경우 master 가지 하나만 쓰면 위와 같이 겹쳐 쓰는 부분 때문에 충돌이 자주 일어난다. 그래서 각자의 가지(branch)를 만들어서 쓴다
git checkout -b 가지이름 를 입력하면 bash에 master가 아닌 가지이름이 들어가 있다. 업로드 할 때에도 push 마지막에 master가 아닌 가지이름 을 넣어서 업로드를 하면 git에 표시가 된다
이러면 master와 blue의 내용이 다르기 때문에 합치라는 compare&pull request가 뜬다. 만약 없다면 페이지에서 pull requests 에서 new pull request를 클릭해서 base와 compare를 구별해서 넣어줘야 한다. base는 최종 가지이고 compare는 새롭게 작업한 가지 이다.
merge가 가능한지 불가능한지도 구별을 해준다
위 작업을 하더라도 vscode에는 적용이 되지 않았기 때문에 git checkout master로 가도 blue에 작업한 값이 안보인다. 맨 위의 불러오는 때 처럼 git pull 로 불러오면 github에서 blue를 병합한 내용이 불러와진다.
master에서 작업을 한 경우에도 다른가지에서 pull로 불러 올 수 있다.
react를 설치한 경우 node_modules는 무겁기 때문에 git에는 업로드 되어 있지 않았기 때문에 clone으로 들고와도 없기 때문에 npm i 로 node-modules를 설치해준다