협업에서의 git과 github 사용법 예시

Psj·2020년 11월 4일
0

협업을 위한 git과 github

0. $ git remote add origin 내깃헙주소

내 깃헙주소 등록

1. $ mkdir westar_back (임의로 만든 폴더명)

westar_back 폴더 생성

2. $ cd westar_back

westar_back 폴더내로 이동

$ git init

깃 버전관리가 가능하게 설정

$ git clone 사이트주소

깃헙에 들어가 상대방이 올려놓은 code->https주소 복사하여 터미널에 입력하여 폴더내에 클론파일 생성



  1. ls를 입력하여 westar_back 폴더내에 clone받은 파일이 잘 있는지 리스트 확인
    (예시 깃헙주소에서 받은 클론파일이 잘 생성된것을 확인할수 있다)

5. $ git branch 브랜치명

branch를 만드는 명령어이다. (브랜치는 폴더랑은 관계가없다. 아무때나 만들고싶을때 만들면된다.)
나는 git branch feature/seungje 이렇게 만들었다.

6. $ git branch

현재위치 확인

현재 브랜치를 생성만한 상태이므로 내가 만든 브랜치명을 확인할수 있고
master 옆에 *이 있는것을 보아 위치는 나의 위치는 여전히 master에 있는것을 확인할수 있다.

7. $ git chekout feature/seungje

나의 현재위치를 옮기는 명령어이다. 이렇게 입력하고 위에서 확인하는 $ git branch를 다시 입력해서 확인해보면

이렇게 *이 feature/seungje 옆에 붙어 현재위치가 feature/seungje에 있다는것을 확인할수 있다.


그리고 이미지처럼 폴더를 만들어 경로에 team_seungje.txt라는 파일을 만들었다.

9. $ git add

우리의 현재 브랜치는 feature/seungje 이고
git add는 현재 브랜치에서 변경된 파일이 생기면 이것을 추가한다는 뜻이다.
이제야 git은 현재 새로운 파일이 생겼다는 변경된 내용을 저장하고있게된다.

10. $ git commit

git add로 변경사항을 저장하였지만 매번 이렇게 변경사항을 저장만한다면 어떤부분이 변경되었는지 알기가 어렵다.
그것을 우리가 알기 위해서 변경사항에 대한 내용을 적는것을 commit 한다고 한다.

  1. $ git push origin 브랜치명
    지금까지는 현재 나의 로컬에만 변경된 사항을 저장한것이다.
    협업을 하기위해서는 이 변경사항을 GitHub사이트에 공유를 해야한다.

$ git push origin feature/seungje 를 입력하면 아래와같이 GitHub사이트에 저장되는것이 나온다.

그리고 git checkout master를 하여 현재 브랜치를 master로 변경한다
파일생성은 feature/seungje 브랜치에 했으므로 master 브랜치에는 내가 변경한 사항이 저장되어있지않다.

  1. 현재 feature/seungje를 원격저장소에 성공적으로 올라가면
    "remote : 사이트" 가 나오는데 클릭하여 사이트에서 pull request 버튼을 누른다.

팀장은 GitHub에서 나의 pull request 요청을 확인하고 merge로 승인을 한다.

14. $ git pull origin master(= 내 브랜치 master가 아닌 원격저장소의 master)
이렇게 나와같은 여러명의 팀원이 pull request 요청을 하고 팀장이 여러명을 merge 해줬다고 가정한다. git pull origin master를 하면 여러개의 파일이 merge되어 있는 팀장의 master내의 모든 파일을 내 위치로 받아온다.

[현재상황]
나의 feature/seungje브랜치에는 내가 만든 파일만 존재한다.

나의 브랜치 위치를 master로 변경했고 내 브랜치master에는 아무런 파일이 없었는데
팀장의 master의 모든 파일을 끌어와서

나의 master브랜치에 여러 팀원의 모든 파일이 저장되었다

15. $ git merge master(= 나의 master 브랜치)

다시 나의 브랜치를 feature/seungje 로 변경하고

git merge master를 입력하면 아까 받아온 나의 master에 있는 모든 팀원들의 파일이 feature/seungje 브랜치로 옮겨지게 된다.

추가 git 명령어

추가정보 1. $ git status

현재 우리 git이 어떤 상황인지 아는것이다.

추가정보 2. $ git log

우리가 변경한 내용 전체를 한번에 볼수있다.

추가정보 3. tig

$ sudo apt-get install tig 하여 tig를 다운 받는다.

$ tig 를 하면 git의 전반적인 흐름을 쉽게 눈으로 볼 수 있다.

profile
Software Developer

0개의 댓글