studyLog. 개발

[Git 깃] git 협업 시 이슈 리스트 (updating)

브라이티_ 2023. 9. 24. 02:38
반응형

내가 보기 위해 정리하는 git 이슈 리스트

 

.

다른 개발자들과 하나의 레포지토리를 공유하며 git 협업을 진행할 경우에는 git 사용에 특히 유의해야 한다.

우리의 소중한 코드 지켜야 해 !

그렇지 않는다면 아래 사진 속 새벽 5시의 나처럼 큰 패닉에 빠지게 될 것이다.

당시 나는 git push 를 main 브랜치에 하는 바람에, 정말 중요한 main 브랜치 최근 작업물들을 다 날려먹을 뻔 했다 휴우3

 

.

1. git pull - push 시 branch 일관성 유지 이슈

git push 작업은 pull 작업이 선행되어야 동작한다. 

이는 conflict 를 기본적으로 피하게 하기 위한 git 의 기본 설정이다. 

# git pull 명령어
git pull origin(원격저장소 이름) main(브랜치 이름)

# git push 명령어
git push origin main(업데이트시키고자 하는 브랜치 이름) # 또는
git push --set-usptream origin main

다시 말해 git pull 은 A branch 에 받아놓고, 정작 작업은 B branch 에서 한 후 해당 내용을 git push 하려고 하면 거부당한다.  만약 실수로 pull 을 받지 않았는데, 작업한 코드를 push 하긴 해야겠다면, 방법이 있긴 하다. 뒤에 --force 옵션을 붙여주면 된다.

git push origin main --force

그러면 git 의 경고와 거부 따위는 무시하고 바로 push 된다.

 

그렇지만 이와 별개로, 협업 시 작업을 시작하기 전에는 항상 git pull 을 받는 습관을 들여야 한다.

그렇지 않으면 나중에 pr merge 하는 과정에서 수많은 conflict 들을 마주하며 눈앞이 캄캄해지는 경험을 해볼 수 있을 것이다. 그 conflict 코드들 일일히 손으로 manually 수정하는 것도 상당히 번거롭다.

 

.

2. git pull 미반영 이슈

만약 git pull 명령어가 적용되지 않는다면 아래와 같은 명령어를 작성해주면 된다.

git fetch --all
git reset --hard origin/main

원격저장소를 전부 fetch 한 후, 해당 branch 로 --hard 옵션을 주어 reset 시키는 방법이다.

(출처: https://programming119.tistory.com/109)

 

 

반응형