ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [잔디정원사] git merge, push, pull이 뭐에요? ( + clone)
    NULL STACK/잔디정원사🌱 2020. 1. 23. 13:25
    반응형

    * push, pull, clone은 아래쪽에 묶어서 설명해두었다. 그 부분을 보려면 바로 스크롤 내리면 됨.

    브랜치라는 개념을 이해했다면, *모른다면 클릭

    기능별로 작성한 코드를 합쳐야 한다. 바로 그때 사용하는게 merge이다.

    주로 현업에서는 master - develop - feature(이 네이밍은 회사별로 차이가 있다) 세가지 부류의 브랜치를 나눌수 있겠는데,

    master는 배포된, 운영중인 (혹은 그 직전의 완전히 테스트나 QA가 끝이 난) 코드를 관리하고,

    develop은 어느정도 점검은 되었지만, 개발중인, 아직 배포전인 코드를 관리하고,

    feature 브랜치에서는 개발중인 코드를 관리한다. (지금 내가 속한 회사에서는 feature, bugfix, hotfix까지 나누어 사용한다)

    이부분은 추후에 git-flow사용법으로 설명하겠다.

     

    우선, 앞서 만들어둔 master 와 sample브랜치를 merge 해보자.

    그 전에, 어디에 있는 코드를 어디로 넣을것인지 헷갈리면 안된다. (별표 백개)

    우리는 sample에 있는 코드를, master에 반영할 것이다.

     

    1. merge : master 브랜치에서, 다음 명령어를 실행한다. (별표 백개)

    git merge sample

    그리고 git log를 찍어보자. master에서는 없었던 sample브랜치에서의 커밋내역이 들어오게 된다.

     

     

    로컬에서도 가능하지만,

    GitHub등의 원격 저장소를 제공하는 서비스를 가입후 레포지토리를 하나 생성 한 다음 초록색 ** 따라해보길 바란다.

    2. clone : 저장소를 복제한다.

    주로 원격 저장소의 코드를 가져올때 사용한다. 우리는 우선, 로컬에서 다른 디렉토리에 복제 해 보자.

    현재 사용중인 저장소 폴더의 이름이 바탕화면에 있는 test폴더라고 가정하에, 바탕화면에서 clone을 해보자.

    git clone ./test test2
    git clone <'복사할저장소주소'> <'이름설정-생략가능'>

    test2라고 적힌 부분은 복제한 폴더의 이름을 지정하고 싶을때 적어주고, 생략가능하다. (생략하면 동일한 폴더명)

    test2 폴더에 들어가보자. 우리가 이전에 작업한 파일들과, 동일한 커밋내역을 가지고 있는 저장소가 생성되었다.

    ** 원격저장소 복제하기 (예시 : GitHub)

    레포지토리 우측상단에 clone or download라는 버튼을 눌러보면, 주소를 제공해 준다. 복사해서 사용해보자.

    비트버킷이나 깃랩 등등 원격저장소 서비스를 제공하는 곳에서 공유된 코드를 쉽게 내려받을 수 있다.

     

    ** 3. push : 변경된 코드를 원격 저장소에 밀어 넣는다.

    git push

    git add > git commit > git push 순서대로

     

    4. pull : 변경된 코드를 내려받는다.

    test2안에서 새로운 커밋내역을 생성한 다음, test폴더에 공유하고 싶을때 로컬이라면 그냥 test폴더에서 아래코드를 실핼하면 된다.

    git pull ../test2

    ** 원격저장소와 연결이 되어 있다면, git pull 명령어만 실행하면 된다.

     

    연관 글 >> 다 귀찮고, GUI 툴로 일단 쉽게 쓸래요 ! (깃 크라켄)

    반응형
Designed by Tistory.