hyperskill - Working with remote repository 영어 원문
Introduction - 소개
당신과 당신의 환상적인 팀이 매우 크고 복잡한 프로젝트를 개발한다고 가정 해 봅시다.
당신은 프로젝트를 파트들로 나눠 모두가 파트 중 하나에 집중하도록 결정했습니다.
그리고 그 끝에, 당신은 강제로 합치기로 계획했습니다.
이를 수행하기 위한 가장 좋은 방법은 무엇일까요?
가장 단순한 접근법은 모두가 그들의 버전을 업로드할 remote repository를 세팅 해 놓는 것 입니다.
이 방식으로, 당신은 새로운 코드 버전들에 의해 혼동되지 않으며, 중요한 기능들을 잃지 않을 것 입니다.
다시 말해서, 여러 사람이 프로젝트의 일부분을 완성했을 때, 새로운 데이터가 remote repository에 업로드 된다는 것입니다.
remote repository (원격 저장소) : Git을 저장해 놓는 Github와 같은 곳에 원격으로 코드를 저장해 놓는 장소
당신이 데이터를 업데이트 한 후, 다른 팀 멤버가 다운로드 할 것이고, 계속해서 작업을 이어 갈 겁니다.
유용한 명령어들이 있는데, git clone
, git push
, git pull
가 있습니다.
이 명령어들은 remote repository에 데이터를 업로드 하거나, 다운로드 합니다.
이 명령어들이 어떻게 작동되는지 살펴 봅시다.
Git clone - Git clone 명령어 ( Git 복제 )
당신은 remote repository에서 생성한 후 작업을 시작 할 수 있습니다. 예를 들어, GitHub가 있습니다.
이를 위해서, 당신의 컴퓨터에 repository를 복제해야 합니다.
git clone
명령어를 통해 이를 수행 할 수 있습니다 :
$ git clone https://github.com/dream_team/project.git
첫 번째로, git clone
명령어를 치고, 서버에 있는 remote repository의 주소를 더해야 합니다.
이 경우, dream_team
repo 가 Github에 있으며, 이 곳에 새로운 project.git
이 있습니다.
이 방식으로, 모든 컨텐츠가 들어있는 전체 repository를 가질 수 있습니다.
하지만 첫 번째이기 때문에, repo가 자연스럽게 비어 있습니다.
멋집니다. 지금 당신은 작업할 공간을 가졌으며, 코딩에 착수 할 수 있습니다!
그리고 나서, 서버에서 새로운 데이터를 넣을 때가 있을 겁니다.
이를 위해서, git push
명령어가 필요합니다.
Git push - Git push 명령어
git push
를 사용 할 때, 서버에 있는 remote repository에 commit과 branch들을 보냅니다.
이 말은, 매 시간 당신이 코드에 변화를 일으키고 그들을 commit하며,
서버에 데이터를 업로드 하거나, 업데이트 할 수 있다는 것 입니다.
이 방식으로, 당신의 동료들은 언제나 최신 버전의 코드를 볼 수 있습니다.
그리고 또한, 당신의 컴퓨터에서 데이터를 잃었을 경우, 백업을 한다는 것에서 매우 중요합니다.
명령어의 구문은 이와 같습니다 : git push origin <branch_name>
remote server (origin) - 원격 서버에 데이터를 push 하며, 구체적인 분기 - branch에 push 한다는 의미입니다.
밑의 예제에서는, main
브랜치에 push 합니다 :
$ git push origin main
당신이 원한다면, 또 다른 branch에 push 할 수 있습니다.
당신이 push 하기로 한 branch가 없다면, 이는 생성 됩니다.
만약 이전에 이미 push 했다면, 새로운 commit들은 간단히 해당 장소로 보내집니다.
그리고 이러한 경우, 명령어의 짧은 버전을 사용 할 수 있습니다 : git push
그리고 당신이 만들어 낸 변화를 서버에 push 하기 전에, 먼저 commit 해야 한다는 것을 잊지 마세요.
좋아요, 지금 당신은 서버에 이러한 변화들을 push 했습니다.
하지만, 반대의 상황으로 당신이 서버로부터 이 변화들을 다운로드 해야 한다면?
당신은 아마 이를 생각 할 겁니다 :
git clone
을 한 번 더 사용해서 repository를 복제 할 겁니다.
하지만, 이는 commit 된 모든 변화들을 복사 할 겁니다.
만약 당신이 더 최신의, 가장 마지막 변화에만 관심이 있다면요?
그렇다면 git pull
명령어를 사용해야 합니다.
Git pull - Git pull 명령어
git pull
은 서버에서 데이터를 다운로드 하며, 가장 최신의 것만 다운로드합니다.
이 방법으로, 당신은 commit들에 대해 혼동 하지 않으며,
가장 신선하며, 이들 중 가장 최신의 것만 복사했다는 것이 확실시 됩니다.
따라서, 그냥 이를 실행하세요 : git pull origin <branch_name>
즉, 서버에 있는 remote repository (원격 서버)의 브랜치에서 가장 최신의 변화를 다운로드 했습니다.
예제에서 우리는 main
브랜치로부터 데이터를 다운로드 했습니다.
$ git pull origin main
당신이 필요한 모든 브랜치들을 선택할 수 있으며, 짧은 버전의 명령어를 사용 할 수 있습니다.
만약 당신이 다운로드 몇 가지의 remote branch에 이미 local branch가 속해 있다면, git pull
을 사용하세요.
좋습니다, 지금 가장 모든 최신 변화를 가지고 있으며,
당신만의 코드를 만들고 remote repository에 다시 push 할 수 있습니다.
프로젝트가 끝날 때 까지, 이는 순환됩니다.
하지만, 끊임없는 변화가 많은 커다란 프로젝트에서는 몇몇 문제가 일어 날 겁니다.
이 중 가장 빈번하게 일어난 것 중 하나를 밑에서 보고, 왜 나타나는지, 어떻게 해결하는지 논의 해 봅시다.
Git push rejected - Git push 거절당했을 때
이 문제는 당신 혹은 당신의 팀이 기본적인 git에서 작업할 때 곧장, 혹은 그 이후에 일어납니다.
이 문제는 이렇게 일어납니다 :
당신이 새로운 commit을 만들고, 이를 push하려고 합니다.
그리고 git은 당신에게 응답으로 git push rejected error
를 던집니다.
만약 누군가 변화를 만들었고, 당신이 pull하지 않았다면, 이런 문제가 일어납니다.
Git은 우리가 원하는 만큼 아주 많이 commit 할 수 있지만, local 에서만 가능합니다.
서버에 당신의 commit들을 보내기 전에, remote repository로부터 새로운 commit들을 pull 해야 합니다.
문제를 해결하기 위해 git pull
를 실행하면, 문제는 해결됩니다!
Conclusion - 결론
지금 당신은 서버의 remote repository를 clone 하기 위해 git clone
명령어를 사용하는 것을 알며,
서버에 변화를 업로드 하기 위해 git push
명령어를 사용하는 법을 알며,
가장 최신 업데이트를 다운로드 하기 위해 git pull
명령어를 사용하는 법에 대해 알고 있습니다.
words to remember
concentrate : 집중하다, 집중시키다, 응집하다, 응축하다
In other words : 다시 말해서 (첫 번째로 나왔을 경우)
get down to : 차분히 ~ 에 착수하다
concrete : 구체적인, 굳어진, 현실의 , 구체성, 결합체, 콘크리트
constant : 끊임없는, 상수, 충실한, 불변의, 끊임없이 계속하는
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Git' 카테고리의 다른 글
Git branches - Git 브랜치 (0) | 2024.05.29 |
---|---|
Local work - 로컬 저장소에서 Git 작업하기 (0) | 2024.05.28 |
Help files - 도움말 페이지 (0) | 2024.05.25 |
Fork and pull request - Fork와 pull request (PR) (0) | 2024.05.24 |
Local repository - 로컬 레포지토리 기초 (0) | 2024.05.24 |