hyperskill - Git diff 영어 원문지나갔던 주제들에서, 우리는 git repository를 초기화 하는 법, commit이라 불리는 것으로 파일들의 스냅샷을 만드는 법,Git에서 branch가 무엇인지 배웠습니다.여기 고려해야 할 또 다른 것이 있습니다. : 파일, 브랜치, 커밋 간의 차이점.이러한 차이점을 고려하는 것은 혼자서 프로젝트를 할 때에만 중요 한 것이 아니라,디버깅과 같은 중대한 업무를 작업 할 때에도 중요합니다.현재 버전과 이전 작업 버전을 비교함으로서, 버그가 어디 있는지 식별 할 수 있습니다.게다가, 이는 팀으로서 작업 할 때 더 중요하게 되는데,당신이 다른 팀 멤버로부터 받은 파일의 버전을 비교해야 할 때,문제를 해결하고 결과를 병합해야 할 때, 비교는 더 중요해 집니다..
전체 글
신 기술이 항상 나오는 이 시대에 기초의 중요성은 더욱 중요해졌습니다. 항상 이에 적응하기 위해 기초를 쌓으려 배움을 기록하는 장소입니다.hyperskill - Git undo/reset 영어 원문사람들은 모두 실수를 합니다.당신도 스스로의 프로젝트를 작업하고 있을 때 실수를 만들 수 있습니다.마치 잘못 된 파일을 삭제하거나, 손상 된 코드를 변경사항으로 만드는 등 말이죠.다른 개발자들과 작업 하고 있을 때, 누군가는 아마 우연히 손상 된 코드를 가진 변경 사항을 push 할 겁니다.시간이 지나 갈 수록, 당신은 문제에 대해 서로 다른 접근법들과 해결법들을 실험 할 수 있습니다.이러한 모든 경우들에 대해서, 당신은 프로젝트를 이전의 작업 상태로 돌아갈 줄 알아야 합니다.이제 이를 어떻게 하는지 봅시다.Reset - 리셋변경 사항을 취소하기 위해 당신이 알아야 하는 주요 명령어는 git reset 입니다.우리는 git reset 명령어에서 ..
hyperskill - Git internal structure 영어 원문당신이 기억하듯이, Git은 버전 컨트롤 시스템입니다.그런데, 이러한 정의 뒤에는 무엇이 있죠?시스템이 어떻게 작동하며, 사용 할 때 왜 이렇게 편리 한 것이죠?응용 예제에서, 우리는 당신의 프로젝트에서 어떻게 버전을 조정 할 수 있었는지에 대한 상세한 예제들을 보여 줄 겁니다.하지만 처음으로, 수행 과정에 있어 더 나은 이해를 위해 일반적인 기초 개념에 대해서 말해 봅시다.git을 작업 할 때 주요한 임무는 프로젝트를 버저닝(versioning) 하는 겁니다.이를 수행하기 위해서, 당신이 필요 한 것은 :새로운 repository가 선언 된 후, 즉시 생성되는 .git 폴더를 담고 있는 작업 도구.현재 프로젝트의 작업 단계가 무엇..
hyperskill - Explore folders and files 영어 원문당신이 터미널에서 작업 할 때, 폴더 내부의 콘텐츠를 보고 싶을 겁니다.이는 파일에 대한 일반적인 정보를 알 수 있도록 돕습니다 : 누가 생성했는지, 언제인지, 등등..이런 정보를 보기 위해 분리된 유틸리티가 있는데, 이는 Unix system 에서 ls라고 부릅니다.어떻게 ls를 사용하고, 주요 옵션들은 무엇인지 알아 내 봅시다.Basic options - ls 기본 옵션들이제 시작하는 분들을 위해서, 우리는 명령어 구문을 말해야 합니다.구문은 이렇게 생겼습니다 : $ ls /path/to/folder.예제로 test 폴더가 있다고 가정 해 봅시다.test 폴더에는 my_python.py, Poems.pdf, script...
hyperskill - Semantic versioning 영어 원문소프트웨어 개발의 세계에서는, 우리는 패키지 (packages) 라고 불리는 프로그램 파일의 집합에 의존하곤 합니다.패키지들은 코드 재사용성에 있어 개발 시간을 용이하게 해 줍니다.또 다른 중요한 기능은, 개발자들에게 있어 전역적인 라이브러리로서 세계적으로 공유 될 수 있다는 점 입니다.그러므로, 개발자들은 모든 것을 인터넷에서 가져와서 작성 할 필요가 없습니다.복잡성이 증가함에 따라, 통합해야 할 패키지의 수가 많아졌습니다.패키지들은 다양한 이유로 업데이트됩니다.이를 업데이트하면 기존의 코드가 부서질 수 있습니다.하지만 이러한 패키지들을 업데이트하지 않으면, 중요한 기능이나 패치들을 놓칠 수 있습니다.운 좋게도, 우리는 패키지를 업데이..
hyperskill - Git rebase 영어 원문git merge 명령어 외에도, 브랜치를 병합하는 또 다른 방식이 있습니다.이는 git rebase 입니다.git rebase는 git merge와 같이 하나의 브랜치에서 또 다른 브랜치로 변강 사항을 병합시킨다는 같은 목적을 위해 사용됩니다.하지만, 이러한 방법론들의 원칙은 서로 다르며, 각자 스스로의 장점과 단점을 가지고 있습니다.그러므로, 서로 다른 상황에서, 알맞는 것을 하나 고르면 되는 겁니다.밑에서 우리는 이 명령어들 같의 차이점을 좀 더 자세하게 분석 할 것이며, git rebase 를 어떻게 사용하는 지 배울 겁니다.Merge vs rebase - Merge 와 rebase 비교이 두 명령어 간의 차이점은 힐끗 보았을 때는 미묘합니다.그..
hyperskill - Gitflow auxiliary branches 영어 원문gitflow를 설치하고, 당신의 gitflow repo를 생성 한 후, 브랜치에서 프로젝트의 개발을 시작 할 수 있습니다.하지만, 이러한 프로세스는 보이는 것처럼 쉽지 않습니다. :프로젝트는 다중 버전을 가질 것이며, 심지어 더 많은 버그를 가지고 있을 겁니다.이를 다루기 위해서, 우리는 gitflow 구조 내부에 보조적인 브랜치들을 포함 할 필요가 있습니다.이는 새로운 프로젝트의 변형을 위해, 에러를 작업하기 위해, 새로운 버전을 릴리징 (출시) 하기 위함입니다.Auxiliary branches - 보조 브랜치작업하는 동안, 당신은 develop 브랜치에 기반한 feature (기능) 이라 불리는 브랜치를 생성 할 수 있..
hyperskill - Introduction to Gitflow 영어 원문당신은 브랜치가 무엇인지, 무엇을 위하는지, 어떻게 생성하는지 알고 있습니다.브랜치를 작업하는 데에 많은 접근법과 기술들이 많다는 것은 당신에게 있어 놀라운 일은 아닐 겁니다.우리는 가장 유명한 방법론 중 하나인 Gitflow를 분석 할 겁니다.Gitflow는 주로 프로젝트에서의 팀워크를 위해 사용됩니다.특히, 명확한 릴리즈 데드라인이 있을 때 사용됩니다.하지만, 당신이 혼자서 작업하더라도, 이를 공부 할 수 있습니다.이는 당신이 미래에 개발 팀에 참여할 미래에 대해서 좋은 시작 일 겁니다.Gitflow Structure - Gitflow 구조전체 gitflow 구조는 두 개의 주요 브랜치로 요약됩니다 : main 과 develo..
hyperskill - Git branches 영어 원문이제, git에 우리가 저장한 프로젝트들의 복사본이 어떻게 구성되어지는지 알아 낼 시간입니다.이번 주제에서는 branching에 익숙해 질 것이며, 이것이 왜 필요하고, 이것으로 무엇을 할 수 있는지 다룰 겁니다.Branching - 브랜치 만들기가끔 개발 모듈을 분리하거나, 이전 버전과 비교하여 대체 된 프로젝트 버전이 더 나은지 보기 위해 생성합니다.몇몇 경우들에서, 원본 브로젝트의 복사본을 작업하는 것은 좋은 연습입니다.이러한 복사는 branch라고 부릅니다.브랜치들은 그들만의 history (히스토리:역사)를 가지고 있으며, 당신이 해당 브랜치를 병합하기로 결정 할 때 까지 다른 브랜치들로부터 변경 사항이 독립됩니다.이런 방식을 가지는 데에는..
hyperskill - Local work 영어 원문The model of work - 모델의 작동 원리당신이 Github에서 호스팅 된 repository를 가지고 있는데, 이는 당신이 개발중인 프로젝트라고 가정 해 봅시다.아마 이것은 fork된 repository 이거나, 원본일 것 입니다.여기서 포인트는 당신이 모든 접근 권한을 가지고 있다는 겁니다.프로젝트를 작업하는 표준적인 접근법은 repository의 local 복사본을 가지고,웹 인터페이스에 Github에 호스팅 된 remote repo를 변화시키는 것 보다,해당 복사본에 당신의 변화를 commit 하는 겁니다.local 이란, 코드를 가지고 있는 서버가 아니라, Git을 통해 코드를 다운로드 받은 스스로의 컴퓨터, 혹은 기기를 의미합니다...