Tip! 순서
git config
라는 도구로 설정 내용을 확인하고 변경할 수 있으며 Git은 이 설정에 따라 동작하는데, 이 때 사용하는 설정 파일은 세 가지가 존재git config --system
옵션으로 이 파일을 읽고 쓸 수 있음git config --global
옵션으로 이 파일을 읽고 쓸 수 있음--local
옵션을 사용하면 이 파일을 사용하도록 지정할 수 있지만 기본적으로 이 옵션이 적용되어 있음# 사용자 확인
$ git config user.name
$ git config user.email
# 사용자 설정
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
--global
옵션으로 설정하는 것은 딱 한 번만 하면 됨--global
옵션을 빼고 명령을 실행git config --list
명령을 실행하면 설정한 모든 것을 보여주어 바로 확인 가능# 설정 확인
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
git config <key>
명령으로 Git이 특정 Key에 대해 어떤 값을 사용하는지 확인할 수 있음# 사용자 확인
$ git config user.name
John Doe
Tip! 추가 자료
git remote
명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있음origin
이라는 리모트 저장소가 자동으로 등록되기 때문에 origin
이라는 이름을 볼 수 있음$ git clone https://github.com/schacon/ticgit
Cloning into 'ticgit'...
remote: Reusing existing pack: 1857, done.
remote: Total 1857 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (1857/1857), 374.35 KiB | 268.00 KiB/s, done.
Resolving deltas: 100% (772/772), done.
Checking connectivity... done.
$ cd ticgit
$ git remote
origin
-v
옵션을 주어 단축이름과 URL을 함께 볼 수 있음$ git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
$ 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 git@github.com:mojombo/grit.git (fetch)
origin git@github.com:mojombo/grit.git (push)
git remote add <단축이름> <url>
명령을 사용$ 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 fetch pb
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 43 (delta 10), reused 31 (delta 5)
Unpacking objects: 100% (43/43), done.
From https://github.com/paulboone/ticgit
* [new branch] master -> pb/master
* [new branch] ticgit -> pb/ticgit
pb/master
가 Paul의 master 브랜치$ git fetch <remote>
origin
이라는 이름으로 추가git fetch origin
명령을 실행하면 Clone 한 이후에 (혹은 마지막으로 가져온 이후에) 수정된 것을 모두 가져옴git fetch
명령은 리모트 저장소의 데이터를 모두 로컬로 가져오지만, 자동으로 Merge 하지 않기 때문에 로컬에서 하던 작업을 정리하고 나서 수동으로 Merge 해야 함git pull
명령으로 리모트 저장소 브랜치에서 데이터를 가져올 뿐만 아니라 자동으로 로컬 브랜치와 Merge 시킬 수 있음git clone
명령은 자동으로 로컬의 master 브랜치가 리모트 저장소의 master 브랜치를 추적하도록 함git pull
명령은 Clone 한 서버에서 데이터를 가져오고 그 데이터를 자동으로 현재 작업하는 코드와 Merge 시킴git push <리모트 저장소 이름> <브랜치 이름>
으로 단순origin
서버에 Push 하려면 아래와 같이 서버에 Push$ git push origin master
git remote show <리모트 저장소 이름>
명령으로 리모트 저장소의 구체적인 정보를 확인할 수 있음origin
같은 단축이름으로 이 명령을 실행하면 아래와 같은 정보를 볼 수 있음$ git remote show origin
* remote origin
Fetch URL: https://github.com/schacon/ticgit
Push URL: https://github.com/schacon/ticgit
HEAD branch: master
Remote branches:
master tracked
dev-branch tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
git pull
명령을 실행할 때 master 브랜치와 Merge 할 브랜치가 무엇인지 보여줌git pull
명령은 리모트 저장소 브랜치의 데이터를 모두 가져오고 나서 자동으로 Merge 할 것이며 가져온 모든 리모트 저장소 정보도 출력함$ git remote show origin
* remote origin
URL: https://github.com/my-org/complex-project
Fetch URL: https://github.com/my-org/complex-project
Push URL: https://github.com/my-org/complex-project
HEAD branch: master
Remote branches:
master tracked
dev-branch tracked
markdown-strip tracked
issue-43 new (next fetch will store in remotes/origin)
issue-45 new (next fetch will store in remotes/origin)
refs/remotes/origin/issue-11 stale (use 'git remote prune' to remove)
Local branches configured for 'git pull':
dev-branch merges with remote dev-branch
master merges with remote master
Local refs configured for 'git push':
dev-branch pushes to dev-branch (up to date)
markdown-strip pushes to markdown-strip (up to date)
master pushes to master (up to date)
git push
명령을 실행할 때 어떤 브랜치가 어떤 브랜치로 Push 되는지 보여줌git remote rename
명령으로 리모트 저장소의 이름을 변경할 수 있음git remote rename
명령을 사용$ git remote rename pb paul
$ git remote
origin
paul
git remote remove
나 git remote rm
명령을 사용$ git remote remove paul
$ git remote
origin