카테고리 없음

Git 협업

내이름효주 2024. 4. 8. 23:00
  • git branch: 복사본을 만들어 사용
git branch 브랜치명
  • git switch: 사본 파일로 이동
git switch 브랜치명

// 다시 main branch로 이동!
git switch main
  • git log --online --all --graph: log를 그래프 형식으로 보여줌
  • git merge: 각각의 커밋 내용을 합침
// 기준이 되는 branch로 이동
git switch main

// 변경한 branch를 merge -> 각각 다른 파일을 커밋한 경우 가능!
git merge 브랜치명

// 같은 파일을 커밋한 경우 충돌 발생
// 방법: 원하는 코드만 남기고 
git add .
git commit -m ""
  • pull request: 자신의 수정내용을 다른 멤버에게 말해주는 것, 수정사항이 확인되면 main/master 브랜치에 merge
    • pull request시 충돌나면 로컬에 pull하고 conflict 해결 > 다시 push 후에 pull request 

  • 위에 방법들이 잘안돼서 새로운 방법으로 해봤다 
  • git fork를 이용한 방식
    • fork - 다른 사람의 Github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 respository를 내 Github repository로 그대로 복제하는 기능
    • fork한 저장소는 원본(다른 사람의 github repository)와 연결되어 있다. 여기서 연결 되어 있다는 의미는 original repository에 어떤 변화가 생기면(새로운 commit) 이는 그대로 forked된 repository로 반영할 수 있다.

  1. 원본 RP에서 fork하여 나의 RP에 복제 (github에서)
  2. 복제한 RP를 로컬PC에 Clone                   # 기본 세팅
  3. (작업 전) sync fork -> commit 을 하여 fork한 나의 RP를 최신상태로 만들어줌 (github에서)
  4. (작업 전) 최신상태의 나의 RP에서 pull하여 수정사항을 업데이트 시킴 
git pull origin main

   

   5. (작업 후) 로컬에서 작업한 내용을 저장하고 fork한 나의 RP에 push

git add .

git commit -m "~~"

git push origin main

 

  6. fork한 나의 RP에 commit 된 내용을 원본 RP에 pull (github에서)

  7. 그 후 권한자가 merge 승인해주면 완료!

 

 

------------------------------------------------------------fork한 후 업데이트 하는 방법------------------------------------------------------------

git remote add upstream [원본 주소]

 

이후 업데이트된 내용 불러오기

git pull upstream master/main 
// 원본의 최신 버전 로컬에 동기화

git push origin master/main
// 동기화된 내용 내 레포지터리에 동기화

 

 

🚨로컬에서 git pull origin main 했는데 conflict 난 경우( pull 하기 전에 로컬에서 파일을 수정했기 때문에 발생 ) 🚨

  1. git stash // 수정사항 임시 저장
  2. git pull origin main 
  3. git stash pop // 수정사항 덮기 (git stash clear // 수정사항 삭제)

 

 

 

--------------------------------------------------------------------clone 후 사용 방법--------------------------------------------------------------------

git clone "원본주소"

git remote add upstream "원본주소"

git remote rm origin // origin 주소 삭제

git remote add origin "저장하려는 주소"

 

이후 업데이트된 내용 불러오기

git pull upstream master/main 
// 원본의 최신 버전 로컬에 동기화

git push origin master/main
// 동기화된 내용 내 레포지터리에 동기화