1. 컴퓨터 내에 프로젝트 폴더에서 git을 쓸 파일을 정하는 것 = git init
- 원하는 폴더에 git초기화를 하면 그때부터 가능하다(git init명령)
- git초기화를 하면 .git이라는 숨겨진 폴더가 만들어진다. 이 만들어진 것이 '로컬저장소'이다.
- 로컬 저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장된다.
- 원격 저장소에서 내 컴퓨터로 코드를 받아오면 로컬 저장소가 자동으로 생성된다.
- 한 폴더에 하나의 로컬 저장소만 유지되어야 한다.
2. git remote add 와 git push명령어
git remote add
- 내 컴퓨터 프로젝트 폴더에 GitHub 저장소 주소 알려주는 것이다.
git push
- 내컴퓨터 만들었던 것들을 GitHub에 올리는 명령어 이다.
내가 만든 것을 로컬 저장소에 두고 관리하고 있다면 여러 사람과 버전 관리를 위해서 올리는 것이 push라고 한다.
💡지우는 명령어
'rm -rf 폴더명'을 입력하면 된다.
💡현재 폴더에서 클론을 받아오는 명령어는
'git clone 주소명 .'을 입력하면 된다.
💡내가 변경한 파일 중 올리길 원하는 원하는 것만 선택
'git add .'
💡선택한 파일들을 한 덩어리로 만들고 설명 적어누는 것.
'git commit -m "수식어 추가"'
3.GitHub 저장소에서 내 컴퓨터로 받아오기 : 클론명령
- 우리가 저장소에 올렸던 것을 받아 오고 싶다면 명령어로
git clone https://github.com/아이디/이름.git
을 입력하면 된다.
💡다른 사람이나 내가 내 것이 아닌 다른 것에 기여하고 있다면 'settings'에서 collaborate를 추가해야 한다. 이때 초대 수락을 하면 그 리퍼지토리에 푸쉬할 권한을 갖게 된다.
- 기여한 사람이 새로운 파일을 만들어서 기여를 했을 경우 나는 그 추가사항을 가져와야 하는데, 가져올 때 쓰는 명령어가 'pull'명령어 이다.
💡git pull origin master
이라는 명령어를 입력하면 된다.
4. branch
- 브랜치를 만드는 명령어
git branch 명
이것은 명이라는 브랜치를 현 시점에 만드는 명령어이다.
- 만든 브랜치로 이동한느 명령어
git checkout 명
은 명이라는 브랜치로 이동하라는 명령어다.
- 새로운 가지인 하나의 브랜치(compare)를 마스터 브랜치(base)에 합치고 싶다면
git merge 명
이라 명령하면 된다.합쳐진 결과는 새로운 가지인 브랜치와 합쳐져 마스터 브랜치와 새로운 브랜치가 모두 새로운 브랜치를 가르킨다.(왜냐하면 새로운 브랜치는 기존 마스터브랜치+@이기 때문이다.)
5. conflict
만약 서로 다른 부분이 있다면 conflict가 나기 쉬운데 이것을 해결하는 방법으로는 수동이 있고, vscode나 sourcetree에서 편의기능을 통해서 해결할 수 있다.
6.fork
저장소를 통째로 저장하는 것이다.
💡여기서 branch를 떠올릴 수 있는데 branch와 fork의 장단점을 살펴보자
의의 | 편한 점 | 불편한 점 | |
---|---|---|---|
브랜치 | 하나의 원본 저장소에 분기를 나눈다 | 하나의 원본 저장소에 코드 커밋 이력을 편하게 볼 수 있다. | 다수의 사용자가 다수의 브랜치를 만들면 관리가 불편하다 |
포크 | 여러 원격저장소를 만들어 분기를 나눈다 | 원본저장소에 영향을 미치지 않으므로 마음껏 코드를 수정할 수 있다. | 원본저장소의 이력을 보려면 따로 주소를 추가해줘야 한다. |
💡포크하는 방법
포크하는 방법은 github사이트에 가서 우측 상단의 fork버튼을 누르면 된다.
7. pull request
'풀 리퀘스트'란 머지하고 싶은 내용과 제목을 써서 보내는 것으로 '단일저장소'나 '포크한 저장소'에 보낼 수 있다.
💡코드를 작성하는 팀원이 있을 경우 머지를 하지 말고 모든 머지는 풀 리퀘스트를 통해서 하는 것이 좋다.오픈소스에 PR을 보낼때에는 '기여 안내문서'를 반드시 참고해야 한다.
앞으로 새롭게 알게 된 터미널 관련 명령어와 git 관련 명령어를 추가적으로 계속해서 올리겠습니다.😁