개발자
팀플 중인 대학생입니다! git 관련해서 여쭙고싶어 글을 쓰게 되었습니다. 팀의 레포를 제 레포로 fork 해왔습니다. 제 레포의 dev 브랜치에서 갈라져나온 브랜치 a가 있습니다. 브랜치 a에서 작업중에 팀의 레포가 업데이트되었습니다. 그럼 1. 제 레포에서 sync fork를 한 후 2. 브랜치 a에서 git pull origin dev를 한 후 3. merge했다고 커밋 4. 계속 작업하다가 작업이 완료되면 브랜치 a를 팀의 레포에 PR 올림 이게 맞나요? 여러 글을 찾아봤는데 아직도 갈피를 못잡겠네요ㅜ 다른 좋은 방법이 있으시면 공유 부탁드립니다ㅜㅜ
답변 3
https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/ 이거 한번 보세요 제가 깃 공부할때 도움됬던 겁니다.
익명
작성자
2024년 08월 27일
우와 좋은 자료 공유해주셔서 정말 감사합니당!!☺☺
안녕하세요! 저는 잘 하고 계신 것 같은데요? develop branch가 업데이트 되었으니 a branch에 git pull 잘 받으시는 것 같구요. 그런데 한가지 궁금한 점은 굳이 팀의 레포, 각자 계정의 레포를 따로 두시는 이유가 있을까요? 하나의 레포를 사용하면 훨씬 편할 것 같아서요!
익명
작성자
2024년 08월 27일
음 아뇨 그냥 팀원분 의견에 따랐었습니다ㅜ!! 좀 더 공부해봐야겠어요ㅎㅎ 이렇게 답변 달아주셔서 정말 감사합니다!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 08월 20일
네, 이 방법이 맞습니다. 하지만 몇 가지 단계를 더 자세히 설명하자면, 1. 제 레포에서 sync를 하는 것은 원래 레포의 내용을 제 레포에 반영하려는 것이므로 `git pull origin master` 혹은 `git pull origin dev`(원래 레포의 변경 사항이 어디에 있는지에 따라)를 실행해야 합니다. 2. 그리고 나서 작업 중인 로컬의 '브랜치 a'로 체크아웃한 후 `git merge dev`를 실행하여 'dev'에서의 변경 사항을 '브랜치 a'에 반영합니다. 3. 그러면 '브랜치 a'와 'dev' 모두 최신 상태가 되며, 여기서 컨플릭트가 발생한다면 해결 후 커밋을 합니다. 4. 이제 계속해서 자신의 일을 진행하고, 원격 저장소에 푸시할 수 있습니다. 또 다른 방법으로는 `rebase` 기능을 사용하여 팀 레포와 로컬 브랜치가 동일한 곳에서 분기되도록 할 수 있습니다. ``` # git checkout a (작업중인 로컬 브랜치로 이동) # git rebase dev (바뀐 dev의 내용을 로컬 브랜치에 반영) ``` 이 방법은 커밋 히스토리를 깔끔하게 유지할 수 있어서 많이 사용합니다. 하지만, Rebase는 이미 원격 저장소에 푸시된 커밋을 변경하기 때문에 다른 사람과 공유한 브랜치에서는 사용하지 않아야 합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!