IT

Git : 추가 vs 푸시 vs 커밋

lottoking 2020. 8. 13. 06:53
반응형

Git : 추가 vs 푸시 vs 커밋


어떤 마이 사이의 차이는 add, push그리고 commit?

SVN에서 약간 혼란스러워합니다. "업데이트"는 항목을 '추가'하고 커밋은 "푸시"를 수행하고 '추가'합니다.

git에는 모든 다른 기능이 있습니다. 귀하의 경험에서 설명을 기대합니다.


  1. git add수정 된 파일을 추가하여 나중에 커밋 합니다. 파일이 커밋되지 않았습니다.
  2. git commit추가 된 파일을 커밋하고 로그가있는 새 개정판을 생성합니다 ... 파일을 추가 커밋하지 않습니다. 두 작업을 함께 결합 할 수 있습니다.git commit -a

  3. git push 변경 사항을 원격 저장소로 푸시합니다.

git 치트 시트 의이 그림 은 작업 흐름에 대한 좋은 아이디어를 제공합니다.

여기에 이미지 설명 입력

git add된 커밋 방법 제안이 결합 된 것이기 때문에 그림에 나타나지 git commit -a않지만 git add,을 이해하기 흐름 위해 정신적으로 변경 블록 에을 추가 할 수 있습니다 .

마지막으로 push별도의 명령이있는 이유는 git의 철학 때문입니다 . git분산 버전 관리 시스템이고 로컬 작업 디렉토리 저장소 입니다! 커밋 한 모든 변경 사항은 즉시 반영되고 기록됩니다. push작업중 인 모든 작업을 마쳤을 때만 원격 저장소 (다른 사람과 공유 할 수 있음)를 업데이트하는 데 사용됩니다. 이 네트워크 오버 헤드없이 로컬로 작업하고 변경 사항을 저장하고 모든 커밋이 아닌 원할 때 업데이트하는 깔끔한 방법입니다. 이는 간접적으로 더 쉬운 커밋 / 브랜치 등 (왜 안 되 겠어요? 비용이 얼마나 듭니까?)를 초래하여 저장소를 엉망으로 만들지 않고 더 많은 저장 포인트를 가져옵니다.


git add 변경 사항을 선택

git commit 로컬에서 변경 사항 기록

git push 공유 변경


  • git add 커밋 할 준비가 된 개체의 스테이징 영역 인 Git 고급에 파일을 추가합니다.
  • git commit색인의 파일을 저장소에 커밋하고 git commit -a수정 된 모든 추적 파일을 색인에 먼저 추가하는 바로 가기입니다.
  • git push 보류중인 모든 변경 사항을 분기가 매핑 된 원격 저장소 (예 : GitHub)로 보냅니다.

Git을 이해하려는 문서를 훑어 보는 것보다 더 많은 노력을 투자해야하지만 그만한 가치가 있습니다. Git 명령을 Subversion에 직접 만들려고합니다. 대부분의 명령에는 대응이 없습니다.


나는 '추가'가 실제로 발생하는 일에 혼란 스러웠다. 여기에 추가하고 싶은 책 Git Pro에서 매우 계몽적인 단락을 읽었습니다.

“Git은 git add 명령을 때와 똑같이 파일을 스테이징합니다. 지금 커밋하면 git add 명령을 마지막으로 실행했을 때와 같은 benchmarks.rb의 버전은 git commit을 마지막으로 실행했을 때 표시되는 파일 버전이 아니라 커밋으로 이동하는 방식입니다. git add를 실행 한 후 파일을 수정하는 경우 git add를 다시 실행하여 파일의 최신 버전을 준비해야합니다.”

발췌 : Chacon, Scott. "Pro Git." Springer, 2009-08-19T00 : 00 : 00 + 00:00. iBooks. 이 자료는 저작권으로 보호 될 수 있습니다.


add는 git에게 파일 추적을 시작하도록 지시합니다.

commit은 로컬 저장소에서 현재 변경 사항을 커밋합니다.

푸시는 로컬 저장소를 업스트림으로 푸시합니다.


많은 GIT 비밀에 대한 아주 좋은 PDF .

Add 는 svn의 add와 동일합니다 (하지만 표시되는 데 사용 된 파일이 해결됨).

Commit 은 svn의 것과 동일하지만 로컬 저장소에 변경 사항을 커밋합니다.


이 이미지는 매우 의미가 있습니다.

여기에 이미지 설명 입력

( 출처 : Oliver Steele -My Git Workflow (2008) )

참고 URL : https://stackoverflow.com/questions/6143285/git-add-vs-push-vs-commit

반응형