본문 바로가기

개발툴/Git&Github6

git - 팀원이 업데이트하고 나서, 내 작업물을 올릴 때 순서 간단 요약 정리 checkout main(로컬의 main 브랜치) git pull origin main(원격 main의 최신사항 업데이트) git checkout -b [jaeyong](새로운 브랜치를 만듦) 현재 위치: jaeyong 브랜치 checkout main git pull origin main (원격 main에 혹시 변경 사항 있을까봐 최신사항 업데이트) git checkout jaeyong git merge main 충돌사항 나면 해결 git push -u origin [jaeyong] (로컬의 개인브랜치를 원격의 개인브랜치 생성 + 업데이트) github에서 pull request 진행. --- 23년 12월 18일에 작성된 글입니다 2024. 3. 23.
[git checkout 원격저장소 브랜치]에 대한 이해, 원격 브랜치를 로컬로 가져오는 방법 git을 이것저것 만지다가 궁금증이 생겼다. 'checkout 원격저장소의 브랜치'를 하면 에러가 나는 것이다. 에러 코드는 'error: pathspec 'seonhee' did not match any file(s) known to git', 즉 git이 'seonhee'라는 이름을 가진 브랜치나 파일을 찾을 수 없다는 것이다. 인터넷에 찾아봤더니 checkout 으로 바로 원격저장소의 브랜치를 사용할 수는 없다고 나와 있다. 대강 이유를 찾아보니, git에서는 "로컬 브랜치에서 작업"-"변경 사항 커밋"-"원격 저장소에 푸시" 이런 작업 흐름으로 진행하는데, 이렇게 하면 로컬에서 자유롭게 작업할 수 있는 유연성을 제공한다는 것이다. 만약 원격 브랜치를 직접 checkout하고 작업-커밋이 가능해진다.. 2024. 3. 23.
GitHub에서 삭제한 브랜치가 Git Bash에 여전히 표시되는 이유와 해결 방법 내 상황은 대강 이렇다. Github의 원격 저장소에서 'pilwoo' 브랜치를 삭제했는데, git bash에서 브랜치를 검색해보니,빨간 글씨로 remotes/origin/pilwoo, 즉 아직 원격저장소에 남아있다고 한다. 난 분명 지웠는데 왜 남았을까 생각 좀 했고, 혹시 업데이트를 하지 않아서 그런가 추측했다. 결론적으로 내 예측은 맞았는데, 좀 더 구체적인 이유가 궁금했다. 일단 주된 원인은 로컬 Git 저장소의 참조가 아직 원격 저장소의 최신 상태를 반영하지 않아서이고, Git은 기본적으로 원격 저장소의 상태를 자동으로 업데이트하지 않는다고 한다. 뭐, 네트워크 사용을 최소화하고 사용자가 수동으로 명령을 내릴 때만 원격 저장소의 정보를 업데이트하기 위해서란다. 내가 생각하기에도 만약 자동으로 업.. 2024. 3. 23.
Git에서 원격 저장소의 파일 삭제를 로컬에 반영하는 방법 상황 >> git 원격저장소 main에 a.txt 파일이 삭제된 채로 있음. git 로컬저장소에는 a.txt 파일이 있는 상태. 원하는 액션 >> a.txt 삭제된 채로 로컬 저장소에서 pull 하고 싶음. 방법 >> 원격 저장소 main의 최신 상태 가져오기 main 브랜치로 이동한다. git checkout main 원격 저장소의 main의 변경 사항을 로컬 브랜치의 main으로 가져온다. git fetch origin main 현재 로컬 저장소의 상태를 확인한다. 원격 저장소와 로컬 저장소 간의 차이를 확인할 수 있다. git status 원격 저장소의 변경사항을 로컬 브랜치에 병합한다. 이 때, 원격 저장소에서 삭제된 파일들이 로컬에서도 삭제된다. git pull origin [브랜치 이름] 로컬.. 2024. 3. 23.