kjs3124
40
2020-01-10 15:11:42
3
412

Git 에서의 Fork, 동기화 질문드립니다.


안녕하십니까, 신입 개발자입니다.

회사에서 사용하는 협업 툴은 Git, Git Flow, 소스트리 공부 중 질문 할 것이 있어 질문드립니다.


우아한 형제들 기술 블로그에서 공부하던 중, Fork와 동기화 라는 것이 나왔는데

이 두가지 좀 설명해 주셨으면 합니다.

또한, Check Out, Check In의 개념이

Check Out은 Remote Repository에서 코드를 가져옴과 동시에 수정 권한을 가지게 되는 것이고

Check In은 Remote Repository로 코드를 업로드함과 동시에 수정 권한을 잃게 되는 것이 맞나요?

0
  • 답변 3

  • esrse
    1k
    2020-01-10 15:47:27

    check out, check in 이라는 용어는 git을 다루면서 그다지 자주 접하는 용어가 아니기 때문에 읽고 계신 문서 링크를 첨부해주신다면 어떤 뜻인지 설명해드리기 용이할 거 같습니다.

  • 니르바나
    1k
    2020-01-10 15:53:08

    fork는 그냥 내 저장소로 카피해서 온다고 생각하시면됩니다. 그래서 클론한 뒤에 마음대로 수정하시면됩니다. 포크하는 이유는 우아한형제들 저장소에 님이 바로 코드를 집어넣을 수 없잖아요? 권한이 없으니까요.

    그렇기 때문에 포크를 하는거구요.


    동기화는 local respository랑 remote repository 두 개념을 아셔야합니다.

    클론을 하면 님 컴터에 로컬 저장소와 원격 저장소(github)의 싱크가 자동으로 맞춰집니다.

    근데 거기서 수정을 해서 커밋도하고 하면 로컬 저장소와 원격 저장소의 커밋 내역이 달라지겠죠?

    그때 push해주면 싱크가 맞게 되는거구요.

    또한 로컬은 수정이 없는데, remote가 수정이 있는 경우 git pull 땡겨오면 또 싱크가 맞게 되는겁니다.

    동시에 수정하는경우 conflict도 발생하는데 그건 그때마다 수동 수정해야합니다.


    Check in” in GIT is something like pushing your local changes to remote branch/repo. “Check out” in GIT is something like pulling your remote changes to local branch/repo.



    체크인 체크아웃은 이렇구요.

    해석하면 원격지로 코드 넣는걸 체크인.

    코드 받아오는걸 체크아웃이요.

  • kjs3124
    40
    2020-01-12 18:37:05

    두분 모두 친절한 답변 감사합니다 ^^

    잘 정리해서 발표하도록 하겠습니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.