[Git] 계속되는 git 명령어 정리!(2)

5043 단어 githubgitgit

저번 시간에 이어 계속된 git 명령어 정리 시간 😅

언젠간 익숙해지겠지ㅎㅎ

1. local에서 remote로! ⛸

local git에서 버전 관리를 위한 commit을 했다면 remote로 보내서 기록하자!

$ git push <단축이름> <브랜치명>
$ git push --set-upstream origin <브랜치명>

여기서 단축이름은 remote 의 단축이름을 말하는 것이고,

브랜치명은 그 해당 remote 중 push하고 싶은 브랜치 이름을 말한다!

git push --set-upstream origin <브랜치>

의 경우 origin은 기본적으로 clone 을 하였던 url의 remote를 의미하는 default 단축이름이다!

앞으로 <브랜치> 에서 push 명령어를 내리면 자동으로 origin의 <브랜치>로 push하겠다라는 뜻

현재 local 브랜치와 원격브랜치 사이를 명시적으로 연결해주는 세팅이 다음 옵션이다

2. remote 에서 local 로 업데이트! 🚘

$ git pull
$ git pull origin <브랜치명> // 원격 특정 브랜치를 나의 local로 pull
$ git fetch

여기서 가장 집중적으로 봐야하는 것은 fetchpull의 차이점이다!!

가장 먼저 local에 같은 repository를 다른 위치에 clone 한 후 한쪽 repository에서 파일에 내용을 추가하고

remote에 push를 했다!

다른 위치에 있는 local repository는 아직 update 하지 않았기에 변경 사항을 fetch를 통해서 받아오자!

보이는 것 처럼 origin/kane = remoteHEAD = local 이 병합되어 있지 않은 것을 볼 수 있다!

그렇다!! fetch는 변경사항을 가져올 뿐 병합을 실행하지 않는다!

<출처 : 백블로그>

그렇다면, pull은 어떨까?? 🧐

pull을 실행시켰을 경우에는 origin/kane = remoteHEAD = local 이 병합되어 있는 것을 볼 수 있다!

그렇다... pull은 fetch + merge 이다!

remote에서 local로 변경사항을 가져올 때 신중하게 가져오고 싶다?! 그럼 먼저 fetch를 통해서

log를 보며 변경사항을 신중히 보고 merge 함으로써 pull 기능을 수행할 수 있다!!

3. Remote 저장소에 대해 궁금할 때는??

우리는 다른 사람들과 협업을 하기 위해서는 Remote 저장소를 관리해야 한다.

그럼 local과 연결되어 있는 remote 저장소의 정보를 확인하는 방법에 대해서 알아보자!

$ git remote

git remote 명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있다.

이 명령은 리모트 저장소의 단축 이름을 보여준다.

현재 origin이라는 단축 이름은 clone을 통해서 가져온 저장소의 단축 이름이다 (default)

$ cd grit
$ git remote -v
bakkdoor  https://github.com/bakkdoor/grit (fetch)
bakkdoor  https://github.com/bakkdoor/grit (push)
cho45     https://github.com/cho45/grit (fetch)
cho45     https://github.com/cho45/grit (push)
defunkt   https://github.com/defunkt/grit (fetch)
defunkt   https://github.com/defunkt/grit (push)
koke      git://github.com/koke/grit.git (fetch)
koke      git://github.com/koke/grit.git (push)
origin    [email protected]:mojombo/grit.git (fetch)
origin    [email protected]:mojombo/grit.git (push)

-v 옵션을 추가해서 사용하면 이 처럼 단축이름과 url을 동시에 볼 수 있다!

그럼 이렇게 많은 remote 저장소는 어떻게 추가하는 거지??

$ git remote
origin
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
origin	https://github.com/schacon/ticgit (fetch)
origin	https://github.com/schacon/ticgit (push)
pb	https://github.com/paulboone/ticgit (fetch)
pb	https://github.com/paulboone/ticgit (push)

이렇게 git remote add <단축이름> <url> 명령어를 통해서 remote 저장소를 추가할 수 있다!

그리고 이렇게 추가한 remote 들에 대한 자세한 정보도 볼 수 있다

맨 밑에 나와 있는 것을 자세히 보면

kane pushes to kane (up to date)git push 를 실행할 경우 어떤 브랜치에 push되는지도 알려준다!

마지막으로 저장소의 이름을 바꾸거나 리모트 저장소를 삭제하는 과정을 해보겠다!

$ git remote rename pb paul // pb 저장소 단축이름을 paul로 변경
$ git remote remove paul
$ git remote
origin

간단하죠? 이런 식으로 하면 굉장히 능률적인 git 관리가 가능할 것 같죠?

오늘은 이까지 하고 내일은 branch 를 생성하고 해당 branch 로 이동해서 관리하는 것에 대해서 다루기로 하겠습니다~

👋🏼 👋🏼

좋은 웹페이지 즐겨찾기