티스토리 뷰

 

 

원격(remote) 브랜치인 uptream/feature 를 추적(track) 하는 새로운 브랜치를 생성하는 방법은 다음과 같다.

git checkout --track -b feature origin/feature
git checkout -t upstream/feature

 

1. git checkout --track -b feature origin/feature : 새로운 로컬 브랜치 feature를 생성하고 origin/feature를 추적하는 명령어이다.

2. git checkout -t upstream/feature : upstream/feature를 추적하는 동일한 이름의 로컬 브랜치를 자동으로 생성하는 명령어이다.

 

만약 로컬 브랜치에서 원격 브랜치의 이름과 해당 브랜치의 내용을 동일하게 로컬 브랜치로 가져오고 싶다면  git checkout -t upstream/feature 명령어를 사용하면 된다.

 

나의 경우 원격 브랜치 내용을 가져오기 위해 git pull upstream feature 을 했는데 불필요한 내용들까지 모두 불러와졌다.

 

브랜치를 삭제(git branch -D <branchName>)하고 다시 pull을 받아보아도 같은 현상이 반복되길래, git checkout -t upstream/feature 명령어를 사용했더니 더 이상 변경사항이 발생하지 않게 되었다. 

 

+ git branch -D <branchName> git branch -d의 차이점

 

1. git branch -d <branchName> : 병합되지 않은 변경 사항이 있는 경우 브랜치를 삭제 할 수 없다.

2. git branch -D <branchName> : 병합되지 않은 변경 사항이 있어도 브랜치를 강제로 삭제 할 수 있다.

 

따라서 위 사진처럼 원치 않은 변경 사항이 발생한 경우, 또 이를 병합하고 싶지 않은 경우에는 git branch -D <branchName>를 사용하면 된다.