[GIT]#14 원격 저장소와 네 가지 상호 작용3
·
GIT
패치 : 원격 저장소를 일단 가져만 오기 패치는 원격 저장소의 변경 사항을 일단 가져만 오는 방법입니다. 앞선 실습을 진행하고 보면 현재 로컬 저장소와 원격 저장소에는 3개의 커밋이 쌓여있을 것입니다. 만약 여러 개발자가 협업하는 경우에는 언제든 test-repo에 새로운 변경 사항을 추가할 수 있습니다. 다른 개발자가 푸시한 내용을 로컬로 가져오고 싶을 때 패치를 사용합니다. 실습을 하기 위해서 깃허브에서 원격 저장소 내 파일을 직접 수정하고 커밋합니다. 깃허브에 들어가서 test-repo로 접속해 b.txt 파일을 클릭합니다. 연필 아이콘을 클릭하고 다음과 같이 작성합니다. 커밋 메시지는 update b.txt in github로 작성하고 Commit changes를 클릭합니다. 다음과 같이 커밋이 ..
[GIT]#13 원격 저장소와 네 가지 상호 작용2
·
GIT
클론 : 원격 저장소 복제하기 클론은 깃허브상에 존재하는 원격 저장소를 로컬로 복사하여 가져오는 방법입니다. 실습은 https://github.com/namhyung/uftrace 원격 저장소를 클론해 보겠습니다. 위 링크로 들어가서 Code를 클릭하고 SSH를 클릭한 뒤 소스 경로를 복사합니다. 소스트리를 열고서 Clone을 클릭합니다. 다음과 같이 입력하고 클론을 클릭합니다. 다음과 같이 원격 저장소가 복제되어서 커밋들이 쌓인 모습들을 확인할 수 있습니다. C:\uftrace 경로로 들어가보면 원격 저장소 속 내용을 볼 수 있습니다. .git 폴더까지도 복사된 것을 확인할 수 있습니다. 앞서 실습에서 만든 test-repo를 클론해 보겠습니다. Remote를 클릭하고 test-repo를 검색하면 다음..
[GIT]#12 원격 저장소와 네 가지 상호 작용1
·
GIT
깃허브에서 원격 저장소를 만들었으면 이 원격 저장소와 상호 작용하는 방법에 대해서 공부해 보겠습니다. 우선 크게 상호 작용은 네 가지로 분류됩니다. 클론 : 원격 저장소를 복제하기 푸시 : 원격 저장소에 밀어넣기 패치 : 원격 저장소를 일단 가져만 오기 풀 : 원격 저장소를 가져와서 합치기 소스트리와 깃허브 연동 소스트리와 깃허브를 연동시키기 위해서는 SSH 통신을 이용합니다. SSH는 안전하게 정보를 주고받을 수 있는 통신 방법입니다. SSH 통신을 이용해서 로컬 저장소와 원격 저장소는 서로 안전하게 정보를 주고받을 수 있습니다. SSH 통신을 위해서 공개 키와 개인 키를 생성해야 합니다. 공개 키와 개인 키를 생성한 후에 통신하려는 대상에게 공개 키를 건네줍니다. 즉, 깃허브와 통신하기 위해서는 깃허..
[GIT]#11 깃허브 소개
·
GIT
깃허브 소개 깃허브는 원격 저장소 호스팅 서비스로 개발자 간 협업을 가능케 하고 백업을 할 수 있습니다. 깃허브에서 깃 저장소를 만들고 소스 코드를 업로드할 수 있습니다. 마치 개발자의 SNS라고 볼 수 있습니다. 깃허브에 로그인하면 다음과 같이 초기화면을 볼 수 있습니다. 좌측에 Recent Repository는 최근 이용한 저장소이고, 중앙에 All activity는 팔로우하는 사람들의 활동 내역이고, (팔로우한 사람이 없어서 활동 내역이 아직 안뜹니다.) 우측에 Explore repositories는 깃허브가 추천해주는 저장소입니다. 우측 상단 동그란 아이콘을 클릭하면 프로필 페이지로 이동할 수 있습니다. URL은 다음과 같이 https://github.com/계정 이름 형식으로 되어 있습니다. 또..
[GIT]#10 충돌 해결하기, 브랜치 재배치하기
·
GIT
브랜치를 병합하는 과정에서 충돌이 발생할 수 있습니다. 충돌이란 병합하려는 두 브랜치가 서로 같은 내용을 다르게 수정한 상황을 의미합니다. 충돌이 발생하면 브랜치가 한 번에 병합되지 않습니다. 충돌이 발생하면 최종적으로 어떤 브랜치의 내용을 반영할지 사용자가 직접 선택해야 합니다. 충돌 발생과 해결을 실습해 보겠습니다. 브랜치 충돌시키기 임의의 로컬 저장소를 만들고 master 브랜치에 'A'가 저장된 a.txt 파일을 만들고 first를 커밋 메시지로 하고 커밋합니다. foo 라는 브랜치를 생성합니다. foo 브랜치로 체크아웃하고 a.txt 파일에 'A'를 'foo'로 변경하고 커밋합니다. 커밋 메시지는 foo로 적습니다. master 브랜치로 체크아웃하고 a.txt 파일에 적힌 'A'를 'master..
[GIT]#9 브랜치 병합하기
·
GIT
앞선 게시물에서 브랜치를 통해서 버전을 여러 흐름으로 나눠서 관리하는 방법에 대해서 공부해 보았습니다. 이번에는 나뉜 브랜치를 합치는 방법에 대해서 공부해 보겠습니다. 브랜치를 하나로 통합하는 것을 병합이라고 합니다. 바로 브랜치 병합을 실습해 보겠습니다. 예제는 앞선 브랜치 나누기에서 사용한 자료를 마저 실습합니다. foo 브랜치를 master 브랜치로 병합해 보겠습니다. master 브랜치로 병합하기 위해서 master 브랜치로 체크아웃 합니다. foo 브랜치에서 마우스 우클릭을하고 현재 브랜치로 foo 병합을 클릭합니다. 여기서 말하는 현재 브랜치는 체크아웃 되어 있는 master 브랜치가 됩니다. 결과는 다음과 같이 병합되어서 master 브랜치와 foo 브랜치가 같아졌습니다. 브랜치를 병합하고 ..
[GIT]#8 브랜치 나누기
·
GIT
깃이 제공하는 최초의 브랜치를 master 브랜치라고 합니다. 지금까지 만든 커밋들 모두 master 브랜치에 속합니다. 만약 master 브랜치에 커밋 3개를 만든다고 가정하고 master의 최신 커밋인 3번째 커밋에서 foo라는 브랜치를 만들고 foo 브랜치에 두 개의 커밋을 추가합니다. 이 두 개의 커밋을 foo 4번, foo 5번이라고 지칭합니다. master 브랜치의 입장에서는 커밋이 3개밖에 없습니다. 반면 foo 브랜치 입장에서는 5개의 커밋이 있습니다. foo 브랜치는 master 브랜치의 세 번째 커밋에서 뻗어나왔기 때문에 master 브랜치의 커밋 3개를 모두 포함합니다. 만약 master 브랜치에 한 개의 커밋을 더 쌓아올립니다. master 4번 커밋이라고 지칭합니다. 이 커밋에서 ..
[GIT]#7 버전을 나누어 관리하는 이유
·
GIT
브랜치는 나뭇가지를 의미합니다. 나뭇가지와 같이 버전을 여러 흐름으로 나누어서 관리하는 방법을 브랜치라고 합니다. 예를 들어서 A와 B가 협업해서 온라인 쇼핑몰을 만든다고 가정하였을 때, A와 B는 서로 다른 기능을 구현합니다. 이 과정에서 여러 파일을 추가하고 수정하고 삭제합니다. A와 B가 모두 작업을 완료했다면 둘의 작업을 하나로 합쳐야 합니다. 이 때, A와 B는 각자 추가하고 수정하고 삭제한 코드를 대조해야 합니다. 같은 코드를 서로 다르게 수정하였을 수도 있기 때문입니다. 만약 수작업으로 합칠 때 실수도할 수 있습니다. 다른 예시로는 프로그램을 제작하고 여러 회사에 납품하는 C회사가 있습니다. C회사의 프로그램을 사용하는 회사들에게서 여러가지 요구사항을 듣고 그에 맞게 코드를 수정해야 합니다...