나도 잘 모르지만 협업을 위해서는 필수인 github사용...
최대한 내가 아는 선에서 정리를 해보려고 한다. (다시 검색하고 싶지 않기 때문!!!)
일단 같이 어딘가에 올려야하기 때문에 팀 레포가 꼭 필요하다.
아니면 팀 협업 자체가 안되기 때문이다.
일단 깃헙에 들어가자. (이건 링크를 남기지 않겠다--)
오른쪽 상단에 + 버튼을 누르고 New organization
을 클릭하자.
그러면 이렇게 결제 창이 뜨게 되는데 (안뜬다면 패스) 우리는 돈이 없으므로 맨 왼쪽 Free를 클릭하자.
팀이름, 이메일, 로봇 아님을 증명하고 만들면 된다. (혹시나 팀 이름 유출 방지로 가렸다.)
현재 팀원을 추가할 수 있는 창이 나오는데 일단 나는 스킵하고 넘어가겠다.
repository 탭을 누르면 저렇게 create a new repository
라고 뜨는데 클릭한다.
마지막으로 repository 이름 설정하고 맨 마지막 버튼을 클릭하면 완성이다.
우축 상단에 Create a new fork
버튼이 보일 것이다. 여기를 클릭하자.
좌측에 내 github 계정 우측엔 repository 이름을 확인하고 Create fork 를 하면 된다.
이때 repository 이름은 무엇을 해도 상관은 없으나 알아보기 쉽게 나는 같은 것을 썼다.
많이 가려져있지만 여기서 우리가 확인해야하는 것은 forked from 팀
이 부분이다.
내 repository에 이렇게 쓰여있다면 fork 성공!
이제 fork도 했으니 내 작업 환경으로 가져와보자!
내 repository에서 clone 해와야 하는 점 유의하자 꼭!
일단 내 HTTPS 주소를 복사하자 옆에 사각형 두개 겹쳐있는 것이 복사하는 버튼이다.
혹시나 명령어로 한다면 git clone 내repository주소
이다.
처음 들어오면 이런 창이 뜨게 될 것이다 (Welcome) 만약 안뜬다면 File > New Window 를 해보자.
Start에 보면 Clone Git Repository
가 보일 것이다 이 부분을 클릭하자.
이 부분에 아까 복사해 온 링크를 붙여 넣으면 된다.
그러면 어디에 저장할 것인지 물어보게 되는데 이거는 사용자가 편한 곳에다가 저장하면 되니까 알아서!
그러면 이렇게 왼쪽 EXPLORER에 내가 가져온 것을 볼 수 있다.
가장 먼저 뜨는 창이다. 여기서 우측 상단 Get form VCS
를 클릭하자.
아까 복사해 온 내 repository 주소를 붙여넣고 맨 아래 clone을 해주면 된다.
clone 된 것을 볼 수 있다!
사실 여기부터는 vsc와 pycharm이 같지만 일단은 vsc(4번) - pycharm(5번) 순서로 보여주겠다.
이렇게 나는 test.txt를 만들어 줬다. 만약 팀플을 한다면 다른 폴더, 파일을 만들어주면 된다.
이런식으로 간단하게 글을 써보겠다.
이제 터미널을 열어서 보내보자.
일단 경로가 맞는지 꼭 확인해주자.
위의 명령어들을 순서대로 입력해주면 된다.
git add .
== 모든 것들을 다 추가하겠다 (만약 수정한 것들만 하고 싶다면 파일을 직접 쓰면 된다.)
git commit -m "하고싶은말"
== 아직 올리기 이전에 어떤 것을 수정했는지 쓴다고 생각하면 된다.
git push origin main
== 완전히 내 repository 로 올리는 것이다.
혹시나 git이 어떻게 연결 되어있는지 알고싶으면
git remote -v
를 입력해서 확인해보자 (이따 pycharm에서 확인할 것이다.)
이제 완전히 잘 올라갔는지 확인하자.
내가 commit message 쓴 것까지 확인이 되었다.
이제 이것을 내 repo가 아닌 팀 repo에 올려보겠다.
여기에 파란색으로 1 commit ahead
라고 쓰여있는 부분을 클릭하자.
이렇게 내가 수정한 부분이 보이고 Create pull request
가 보이면 된다. 이 버튼을 클릭하자.
이렇게 바뀌게 되는데 comment는 하고싶으면 하고 굳이 안해도 상관없다.
자 그러면 이제 팀 깃헙으로 들어가서 방금 만든 것을 받아보자.
원래는 New pull request를 눌러야하지만 나 혼자 하는 것이므로 바로 올라와 있는 것을 볼 수 있다.
눌러보자.
여기에서 Merge pull request
를 클릭하면 끝이다.
이렇게 내가 받은 것도 볼 수 있다. 내가 제일 먼저 했기 때문에 #1이라고 보여진다.
현재는 내 repository만 연결 되어있다. 하지만 우리는 팀에 변경된 것을 받아와야하므로 팀이랑도 연결을 해야한다.
git remote add upstream 팀레포주소
== 팀 repository를 연결한다.
git remote -v
== 연결이 잘 되었는지 확인한다.
잘 되어있는 것을 확인했으니 pull을 받아서 test.txt를 받아보자.
캡쳐가 잘 안된건지... 왜 git remote -v로 되어있는지 모르겠는데 일단 다시 써보면
git pull upstream main
== 팀 repository의 main 브랜치에 있는 것을 받아오겠다.
이렇게 하면 pycharm에서
이렇게 가져온 것을 볼 수 있다. 이걸 수정해서 다시 한 번 올려보겠다.
나는 이렇게 수정을 했고
git add .
git commit -m "test update"
git push origin main
을 진행해준다. (pycharm의 경우 자동으로 만드는 파일들이 몇 있어서 캡쳐는 생략했다.)
내 repository에 들어가면
이렇게 1분 전 수정한 것을 볼 수 있고 아까와 같이 1 commit ahead를 누르고 merge까지 하면
좀 웃기긴 하지만 내가 #2번째로 merge를 했다는 것을 볼 수 있다.
이렇게 서로 순서대로 올리고 받고 하면 오류날 일이 없으니
팀원들과 꼭 언제 올리고 언제 수정하고 있는 지 등등은 공유해야한다!!! 필수이다!!!