git, github

Seung min, Yoo·2021년 4월 2일
0
post-thumbnail

CLI를 이용한 방법

1.GitHub에 파일을 올리는 과정

1. 컴퓨터 내에 프로젝트 폴더에서 git을 쓸 파일을 정하는 것 = git init

  • 원하는 폴더에 git초기화를 하면 그때부터 가능하다(git init명령)
  • git초기화를 하면 .git이라는 숨겨진 폴더가 만들어진다. 이 만들어진 것이 '로컬저장소'이다.
  • 로컬 저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장된다.
  • 원격 저장소에서 내 컴퓨터로 코드를 받아오면 로컬 저장소가 자동으로 생성된다.
  • 한 폴더에 하나의 로컬 저장소만 유지되어야 한다.

2. git remote add 와 git push명령어

  1. git remote add
  • 내 컴퓨터 프로젝트 폴더에 GitHub 저장소 주소 알려주는 것이다.
  1. git push
  • 내컴퓨터 만들었던 것들을 GitHub에 올리는 명령어 이다.

내가 만든 것을 로컬 저장소에 두고 관리하고 있다면 여러 사람과 버전 관리를 위해서 올리는 것이 push라고 한다.

💡지우는 명령어
'rm -rf 폴더명'을 입력하면 된다.

💡현재 폴더에서 클론을 받아오는 명령어는
'git clone 주소명 .'을 입력하면 된다.

💡내가 변경한 파일 중 올리길 원하는 원하는 것만 선택
'git add .'

💡선택한 파일들을 한 덩어리로 만들고 설명 적어누는 것.
'git commit -m "수식어 추가"'

3.GitHub 저장소에서 내 컴퓨터로 받아오기 : 클론명령

  1. 우리가 저장소에 올렸던 것을 받아 오고 싶다면 명령어로
    git clone https://github.com/아이디/이름.git을 입력하면 된다.

💡다른 사람이나 내가 내 것이 아닌 다른 것에 기여하고 있다면 'settings'에서 collaborate를 추가해야 한다. 이때 초대 수락을 하면 그 리퍼지토리에 푸쉬할 권한을 갖게 된다.

  1. 기여한 사람이 새로운 파일을 만들어서 기여를 했을 경우 나는 그 추가사항을 가져와야 하는데, 가져올 때 쓰는 명령어가 'pull'명령어 이다.

💡git pull origin master이라는 명령어를 입력하면 된다.


4. branch

  1. 브랜치를 만드는 명령어 git branch 명 이것은 명이라는 브랜치를 현 시점에 만드는 명령어이다.
  1. 만든 브랜치로 이동한느 명령어 git checkout 명은 명이라는 브랜치로 이동하라는 명령어다.
  1. 새로운 가지인 하나의 브랜치(compare)를 마스터 브랜치(base)에 합치고 싶다면 git merge 명이라 명령하면 된다.

    합쳐진 결과는 새로운 가지인 브랜치와 합쳐져 마스터 브랜치와 새로운 브랜치가 모두 새로운 브랜치를 가르킨다.(왜냐하면 새로운 브랜치는 기존 마스터브랜치+@이기 때문이다.)


5. conflict

만약 서로 다른 부분이 있다면 conflict가 나기 쉬운데 이것을 해결하는 방법으로는 수동이 있고, vscode나 sourcetree에서 편의기능을 통해서 해결할 수 있다.


6.fork

저장소를 통째로 저장하는 것이다.

💡여기서 branch를 떠올릴 수 있는데 branch와 fork의 장단점을 살펴보자

의의편한 점불편한 점
브랜치하나의 원본 저장소에 분기를 나눈다하나의 원본 저장소에 코드 커밋 이력을 편하게 볼 수 있다.다수의 사용자가 다수의 브랜치를 만들면 관리가 불편하다
포크여러 원격저장소를 만들어 분기를 나눈다원본저장소에 영향을 미치지 않으므로 마음껏 코드를 수정할 수 있다.원본저장소의 이력을 보려면 따로 주소를 추가해줘야 한다.

💡포크하는 방법
포크하는 방법은 github사이트에 가서 우측 상단의 fork버튼을 누르면 된다.


7. pull request

'풀 리퀘스트'란 머지하고 싶은 내용과 제목을 써서 보내는 것으로 '단일저장소'나 '포크한 저장소'에 보낼 수 있다.

💡코드를 작성하는 팀원이 있을 경우 머지를 하지 말고 모든 머지는 풀 리퀘스트를 통해서 하는 것이 좋다.오픈소스에 PR을 보낼때에는 '기여 안내문서'를 반드시 참고해야 한다.


마지막으로

앞으로 새롭게 알게 된 터미널 관련 명령어와 git 관련 명령어를 추가적으로 계속해서 올리겠습니다.😁

profile
이제 막 개발을 시작한 프로그래밍 입문자

0개의 댓글