Search
castle

깃

1. GitHub란?

  • 깃 저장소를 위한 호스팅 플랫폼
  • 공유와 협업 등의 편리한 기능을 사용할 수 있습니다.

Git: 로컬 컴퓨터에서 사용하는 버젼 관리 시스템
( 이러한 GitGitHub에 업로드해서 사용할 수 있습니다. )

1) 버젼 관리의 용이 (백업)
2) 여러 PC에서 컨트롤이 가능 - Collaboration!!
3) 무료 서비스!!

2. Git Clone

>git clone <url>
Git Hub의 repository를 로컬 컴퓨터로 복사해 온다. - 다운로드의 개념
( url은 git repository의 url)

  • 이 명령어는 Git Hub에만 국한된 것이 아닌, 다른 Git 저장소 플랫폼의 url도 가능합니다.
  • Git Hub의 명령어가 아닌 Git 명령어라는 사실!

3. Git Hub 설정

Git Hub를 컨트롤하기 위해서 기본적인 세팅을 해주어야 한다. Git Hub에 접근할 수 있는 개인용 key를 발급 받아야 합니다.
이는 아래와 같은 사이트에서 잘 설명되어 있으니, ssh 설정을 차근차근 해줍니다.

설정하기

1) repository 만들기

두 가지 방법이 존재한다.

  • Git Hub에 새 repository를 만들어서 로컬 저장소에 연결 (push)
  • Git Hub에서 새 repository를 만들어서 로컬 저장소에 복사 (clone) - 빈 프로젝트로 시작

2) Git Remote

> git remote or >git remote -v
현재 저장소에 있는 remote들을 보여줌

>git remote add <name> <url>
해당 url을 name으로 기억하게 함 => remote 추가
( Origin : Master branch와 같이 remote 이름의 기본값과 같은 느낌으로 많이 사용 )

 
>git remote rename <old> <new>: git remote 이름 변경

>git remote remove <new>: git remote 삭제

4. Git Push

>git push <remote> <branch>
remote -> 설정한 remote로 어디로 push를 할지를 나타냅니다. (url)
또한, branch도 알려주어야 합니다. (여러 명이 작업을 할 수 있기 때문에, 많은 branch가 존재할 수 있습니다.)

  • 가장 흔한 command : >git push origin master or >git push origin main

 
>git push <remote> <local-branch>:<remote-branch>
local branch와 remote branch를 다르게 하여 push할 수 있습니다.
( remote branch는 git Hub에 있는 branch의 이름입니다.)

>git push -u <remote> <branch>
upstream을 의미하는데, remote branch와 연결을 의미합니다. ( 로컬 pc의 해당 branch를 remote branch로 push하겠다는 선언)
이렇게 연결을 하면, >git push하여 push를 간단히 할 수 있습니다.

  • 가장 흔한 command : >git push -u origin master

5. Remote Tracking Branches

<remote>/<branch>
마지막으로 원격 저장소와 통신한 시간을 기억하는 포인터
( git clone을 하면 해당 포인터로 표시가 됩니다.)

git branch -r
branch의 refrence를 볼 수 있습니다. => ex) origin/main (main branch가 추적됨)

image

다른 remote branch로 작업?

Git Hub에서 해당 repository를 clone할 때, 해당하는 branch만 보이게 됩니다.
즉, Git Hub의 cat repository에서 clone하면 다른 branch는 local에서 뜨지 않습니다.

git branch -r을 하면 Git Hub상의 모든 branch를 local에서 볼 수 있습니다.
( 추적 가능 )

그래서 다른 Git Hub상의 다른 branch로 작업을 하려면 checkout을 해줘야 합니다.

>git switch <branch> : git이 해당 branch를 만들고 자동으로 <remote>/<branch> 추적

6. Git Fetch

>git fectch <remote>
최신 Git Hub의 변경 사항을 가져옵니다. 하지만, local working directory에 병합하지는 않습니다.
( default : origin )

>git fectch <remote> <branch>

image

7. Git Pull

fetch와 merge를 합친 기능을 수행

>git pull <remote> <branch>
변경 사항을 fetch해와서 현재 branch에 병합
( 그래서 merge 충돌이 일어날 수도 있습니다. )
( -> branch 충돌 때와 마찬가지로 해결하고 commit push! )

>git pull
origin을 기본으로 하여, 요청을 한 local branch와 같은 이름의 branch를 pull

left
right

C

Contents