Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

힘내 푸시

git push 명령은 로컬 버전의 저장소를 원격 저장소에 업로드합니다. 푸시는 변경 사항을 원격 리포지토리에 업로드하는 메커니즘입니다. 변경 사항을 푸시하면 프로젝트의 모든 공동 작업자가 변경 사항을 다운로드할 수 있습니다.

코드를 원격 저장소에 푸시하는 것은 Git 저장소에 대한 변경 사항을 "저장"하는 마지막 단계입니다.

푸시 프로세스는 로컬 리포지토리(컴퓨터)에서 로컬 코드가 연결된 원격 리포지토리로 코드를 전송합니다. 이를 통해 코드베이스에 대한 변경 사항을 프로젝트의 기본 리포지토리에 저장할 수 있습니다.

이 튜토리얼에서는 예제와 함께 푸시 코드의 기본 사항과 git push 명령을 사용하는 방법에 대해 설명합니다. 이 튜토리얼을 읽으면 git push 명령을 사용하여 코드를 푸시하는 전문가가 될 것입니다.

푸시 코드

Git에서 변경 사항을 "저장"하는 것은 파일을 저장하는 것만큼 간단하지 않습니다. Git 리포지토리에 파일을 저장하면 변경 사항이 컴퓨터에 저장됩니다. 그러나 변경 사항은 Git 리포지토리에서 추적되지 않습니다. 변경 사항을 추적해야 한다고 git에 알려야 합니다.

변경 사항을 추적하려면 먼저 스테이징 영역에 코드를 추가하는 git add 명령을 사용해야 합니다. 그런 다음 git commit 명령을 사용하여 커밋에 대한 변경 사항을 저장할 수 있습니다.

코드를 저장소에 커밋하면 변경 사항에 대한 기록이 추적됩니다. 커밋을 원격 저장소에 표시하려면 커밋을 생성한 후 코드를 푸시해야 합니다.

코드를 푸시하면 리포지토리의 로컬 버전에 대해 수행한 커밋을 원격 리포지토리로 보낼 수 있습니다. 예를 들어 팀 프로젝트에서 작업하는 경우 먼저 로컬 컴퓨터에서 커밋을 만듭니다. 모든 사람이 코드를 볼 준비가 되면 모든 공동 작업자가 코드를 볼 수 있도록 원격 저장소로 푸시합니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

git push 명령을 사용하는 방법

git push 명령은 리포지토리에 대한 로컬 변경 사항을 원격 리포지토리에 업로드합니다. 업로드된 변경 사항은 모든 프로젝트 공동 작업자가 보고 다운로드할 수 있도록 액세스할 수 있습니다.

어떤 의미에서 git push는 git fetch의 반대입니다. git fetch 명령은 원격 저장소에 대한 변경 사항을 검색하는 데 사용됩니다. fetch 명령은 저장소의 로컬 복사본에 이러한 변경 사항을 적용합니다.

git push 명령의 구문은 다음과 같습니다.

git push <remote name> <branch name>

"원격 이름" 매개변수는 코드를 푸시해야 하는 저장소를 나타냅니다. 이미 리포지토리를 구성한 경우 "origin"으로 설정됩니다. 다른 저장소에 커밋하려면 "원격 이름" 매개변수를 사용하여 지정할 수 있습니다.

"branch" 이름 매개변수는 변경 사항을 푸시하려는 원격 저장소의 분기를 나타냅니다.

로컬 리포지토리에서 원격 리포지토리의 "마스터" 분기로 변경 사항을 푸시하려고 한다고 가정합니다. 다음 명령을 사용하여 수행할 수 있습니다.

git push origin master

명령은 다음을 반환합니다.

Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 363 bytes | 363.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/jamesgallagher432/demo-repository.git
   3b16026..b53b22d  master -> master

이 예에서 원격 리포지토리는 GitHub에 저장됩니다. 로컬 리포지토리에 대한 변경 사항은 프로젝트와 연결된 원격 GitHub 리포지토리로 푸시됩니다.

변경 사항을 푸시했으므로 로컬 시스템의 코드는 원격 저장소의 코드와 동일합니다. 우리 팀 구성원이 변경 사항을 볼 수 있도록 원격 저장소에서 코드를 사용할 수 있습니다.

또는 "v1.9" 분기에 코드를 푸시하려면 "master" 대신 "v1.9" 분기 이름을 지정할 수 있습니다.

Git 푸시 포스

git push 명령줄 작업을 사용할 때 변경 사항을 원격 저장소에 강제로 푸시할 수 있습니다.

Git은 리포지토리의 원격 기록과 로컬 기록 간에 충돌이 있을 때 코드를 리포지토리로 푸시하는 것을 방지합니다. 원격 저장소에 로컬 시스템에 반영되지 않은 커밋이 10개 있는 경우 코드를 푸시할 수 없습니다.

–force 플래그를 사용하면 리포지토리에 대한 변경 사항을 "강제 푸시"할 수 있습니다. force 플래그는 저장소에서 마지막으로 코드를 가져온 이후에 발생할 수 있는 모든 변경 사항을 삭제합니다.

푸시에서 수정한 오류를 발견한 경우에만 –force 플래그를 사용해야 합니다. 그렇지 않으면 이 명령을 사용하지 않아야 합니다. 이렇게 하면 Git 리포지토리를 의도하지 않게 변경하지 않도록 할 수 있습니다.

–force 플래그의 구문은 다음과 같습니다.

git push <remote name> <branch name> --force

이 명령은 코드를 강제로 푸시합니다. 발생할 수 있는 모든 오류는 무시됩니다.

Git Push to Origin 마스터 예제

Git 푸시 명령을 사용하려는 일반적인 시나리오를 살펴보겠습니다.

원격 리포지토리로 푸시하려는 로컬 코드를 약간 변경했다고 가정합니다. 변경 사항이 저장되는 git commit을 사용하여 이미 커밋을 생성했습니다. 코드를 푸시하려면 몇 가지 단계를 따라야 합니다.

먼저 마스터 브랜치로 이동하여 최신 상태인지 확인해야 합니다. 로컬 마스터 브랜치는 우리가 변경한 브랜치입니다. 마스터 분기로 이동할 수 있습니다.

git checkout master
git fetch origin master

git checkout 명령을 사용하면 "마스터" 분기로 이동할 수 있습니다. git fetch를 사용하면 원격 저장소의 최신 버전을 검색할 수 있습니다.

원본 리포지토리의 마스터 브랜치에 대한 변경 사항으로 커밋을 생성할 수 있습니다.

git add README.md
git commit -m "feat: Make changes to README"

준비 영역에 README.md 파일을 추가했습니다. 그런 다음 커밋을 만들었습니다. 커밋 메시지는 "feat:README 변경"입니다. 이 커밋은 현재 로컬 브랜치에 저장되어 있습니다.

그런 다음 git push를 실행하여 코드를 푸시할 수 있습니다.

git push origin master

이 명령을 실행하면 로컬 저장소의 코드가 원격 저장소로 푸시됩니다. 코드를 푸시하기 전에 코드가 최신 버전인지 확인했기 때문에 git push 명령에서 반환된 오류가 없어야 합니다.



결론

git push 명령은 로컬 Git 리포지토리에서 원격 리포지토리로 변경 사항을 "푸시"하는 데 사용됩니다. 코드베이스에서 작업하는 모든 사람은 푸시되면 귀하가 기여한 내용을 볼 수 있습니다.

이 자습서에서는 코드 푸시의 기본 사항과 git push 명령을 사용하는 방법에 대해 설명했습니다. 이제 Git 마스터와 같은 원격 Git 저장소에 코드를 푸시할 준비가 되었습니다!