이번 포스팅은 현업에서 중요하고 유용하게 사용되는 깃(GIT)에 관해서처음부터 끝까지 차근차근 기본적인 지식과 사용방법 및 응용성에 대해서 파악 해보겠습니다.시리즈는 처음부터 끝까지 하나의 프로젝트로 연결되어서 진행할 것이므로 GIT에 도움을 주는소프트웨어들의 설치법과
Respository : GIT의 저장소, 저장소는 히스토리, 태그, 소스의 가지치기, branch에 따라 버전을 저장
GIT은 작업중인 소스코드를 로컬저장소에 저장할 때 3가지의 단계를 거쳐서 저장하게 됩니다. 3가지 영역들에 대한 내용을 확인 해봅시다.
다운로드 사이트 클릭GIT을 설치할 운영체제 선택 ( 저는 Windows를 사용합니다 ) 버전은 최신버전인 (2.37.1) 64비트로 다운로드 했습니다.GIT Bash 기능은 필수로 선택해서 설치 합니다.Git Bash란?시작 메뉴에 폴더를 만듭니다.만들고 싶지 않다면
GIT을 시각화하여 GUI 환경에서 사용할 수 있게 도와주는 소프트웨어WINDOW와 MAC을 지원 합니다. 다운로드 하기1\. 운영체제 환경에 맞게 다운 로드 ( Windows or Mac Os )2\. Bigbucket을 사용하지 않기 때문에, 건너뛰기 클릭3\. 제
1\. 프로젝트에 사용할 폴더 생성 및 지정본인이 접근하기 편한 경로에 새폴더를 하나 만들어 주세요.폴더가 생성되었다면 Visual Code로 폴더를 열어주세요.이후에 터미널을 하나 새로 만들어 줍니다.새 터미널을 생성하면, VS Code 하단에 터미널이 생성됩니다.2
Visual Code에서 git log 명령어를 시각화로 보여주는 확장 기능git에서 제공하는 명령어도 사용할 수 있다 checkout, cherry_pick, revert 등 1\. Vs Code 확장 기능 설치 클릭 ( Ctrl+Shift+X )1.1 Git Grp
1\. VS CODE에 임의의 파일 2개 생성 파일명은 lions와 tigers을 임의로 생성 했습니다. ( 파일 확장자는 .yaml )2\. 터미널에서 명령어 입력현재 폴더의 상황을 git status로 확인source tree로 GIT으로 관리중인 폴더를 로컬 저장
파일들을 commit해서 저장소에 저장하는 방법과 필요 없는 파일들을 저장하지 않는 방법에대해서 알아보겠습니다. 실습 환경은 CLI 바탕에 GIT BASH로 진행 합니다1\. nano 편집기를 사용해서 파일을 생성 해줍니다.2\. 현재 저장소의 상태를 확인 합니다.gi
버전을 관리할 때 사용되는 명령어들에 대해서 알아보겠습니다.git add | git status | git commit
Git Diff , Git Diff head 작업중인 디렉터리와 인덱스 영역, 그리고 작업중인 디렉터리와 저장소간의 파일에 변동사항이 있을 때, 차이점이 생긴 내용을 확인하는 명령어 입니다. 다음과 같은 상황에서 사용 commit과 branch 사이에 생긴 변동사항을
Checkout을 이용해서 버전 변경
GIT으로 로컬저장소에 커밋된 파일들은 다른 작업을 진행 중이더라도 언제든지 이전에 기록한파일의 버전으로 돌아갈 수 있습니다. 작업중인 파일에 문제가 생겼거나 버전을 롤백해야 하는 상황이 왔을 때 이전 버전으로 돌아가는방법을 알아보겠습니다.RESET은 시간을 과거로
필요한 파일과 필요하지 않는 파일을 구분해서 관리하는 법을 알아보겠습니다.자동적으로 생성되거나 다운로드 되는 파일들 빌드할 때 생성되는 자바의 결과물 (.java or .class)node.js 을 사용할 때 git을 사용하지 않더라도 인터넷에서 간편하게 다운가능한 라
Branch란 무엇일까요? 나뭇가지라는 뜻입니다. GIT에서 사용되는 branch라는 단어는 무엇을 뜻할까요? 큰 나무 줄기인 master branch에서 뻗아나가는 나무 가지들 branch을 뜻합니다.
각각의 개발자마다 독립적인 저장소 branch에서 작업이 끝나서 하나의 branch로 병합하려고 합니다. branch들을 병합시켜주는 명령어에 대해서 알아보겠습니다.나뉘어진 브랜치들의 공통적인 부모 브랜치를 base라고 합니다.branch를 병합하는 명령어병합된 bra
깃은 충돌이 발생할 때
서로 다른 브랜치에 공통되는 base branch를 기점으로 충돌을 최소화 시키는 방법브랜치간의 병합을 진행할 때, base를 기준으로 어떠한 브랜치의 파일이 수정되었는지확인할 수 있어서 충돌의 문제를 해결하는데 효과적입니다.이해를 하기 위해 예제로 예로 들어보겠습니다
GIT Merge Tool p4merge
버전을 이동하는 checkout 명령어와 이전 버전으로 시간을 되돌리는 reset 명령어의차이점을 분명하게 알기 위해서 예제를 살펴 보겠습니다.현재 그림을 살펴보면, Head는 master branch를 가르키고 있고 master branch에 위치는커밋 1번 버전 입
사이트 접속회원가입 및 로그인저장소 생성 클릭저장소 생성에 필요한 정보 작성 후 생성
로컬과 원격저장소간의 연동을 할 떄, 통신하는 방법에 HTTP와 SSH가 있습니다.HTTP는 통신하는데에 있어서 따로 학습이 필요하지 않아 단순하지만, SSH에 비해 통신 과정이여러 단계가 있으며 보안이 취약합니다.SSH는 HTTP에 비해 보안이 좋고 통신하는 단계는
로컬 저장소의 내용을 원격 저장소로 업로드 Push 할 때 사용하는 명령어git commit으로 저장한 로컬 저장소의 내용을 git push을 사용해서 원격 저장소에 업로드로컬 저장소에서 연동된 원격 저장소가 여러 개가 있을 수 있어서 어떤 원격 저장소에게Push 업로
Git Clone
원격 저장소의 버전을 로컬 저장소로 가져오는 명령어
fetch 기능은 git의 pull과 어느정도 비슷한 부분이 있어요.pull은 원격 저장소의 내용을 가져와서 로컬 저장소에 복사하는 기능이라면,fetch는 원격 저장소에 변경된 내용만 가져와서 확인할 수 있게 해주는 기능 이에요.어떤 기능인지 자세히 알아보겠습니다.원격
GIT으로 버전관리를 하다보면 커밋을 다른 브랜치에 잘못 저장하거나, 더이상 필요없는커밋이 생기거나, 코드의 의존성 때문에 다른 개발자의 커밋 중 일부를 가져와야 하는 상황이생길수도 있습니다. 이런 경우에서 사용되는 명령어인 cherry-pick에 대해서 알아보겠습니다
조상을 변경..!? 통상적으로 조상과 후손의 유대는 바뀌지 않습니다. GIT에서는 자신의 조상을 선택할 수 있는 패륜적인 기능을 가지고 있습니다. ㅋㅋ (농담) 자신의 base를 변경하는 강력한 기능을 가진 rebase 명령어에 대해서 알아보겠습니다. Rebase
독립적으로 진행되던 브랜치의 작업을 다른 브랜치에 병합해달라고 요청하는 기능main branch의 마지막 버전(Head Commit)은 언제나 실행 | 배포 가능한 상태를 유지하기로 협의한 팀이 있습니다. 소스 코드를 개발하는 모든 작업은 따로 branch를 만들어서
이전 포스팅(Pull Request)의 실습 마지막 부분에서 진행됩니다.이전 포스팅 확인하기새로운 기능 브랜치를 생성하고, 파일 커밋
이번 포스팅도 지난 실습 Pull Reuqest 소통에 이어서 진행하겠습니다.이전 포스팅 보러 가기
Working Directory에서 수정한 내용을 임시저장 해주는 기능 변경할 파일을 임시로 저장할 떄, 다른 브랜치를 만들거나 커밋할 필요가 없다.1\. GIT이 관리중인 work.txt 파일과 temp.txt 파일을 1차례 수정하고 work.txt 파일만 인덱스 영
커밋에 대해서 Tag을 붙이는 명령어특정 커밋을 쉽게 판별할 수 있게, 정보를 붙여준다고 생각하면 됩니다.태그명으로 checkout 할 수 있지만, 커밋할 수 없다.태그는 사용하는 방식이 2가지가 있다.태그를 사용하는 방식 중 하나특정 커밋을 가르키는 기능을 가짐 (포