itsource

Git: 추가 vs 푸시 vs 커밋

mycopycode 2023. 9. 4. 19:45
반응형

Git: 추가 vs 푸시 vs 커밋

깃의 차이점은 무엇입니까?add,push그리고.commit?

SVN에서는 "업데이트"가 "추가"하고 커밋은 "푸시"하며 "추가"합니다.

git 내에는 모든 다른 기능이 있습니다.당신의 경험에서 어떤 설명을 기대하고 있습니다.

  1. git add나중에 커밋할 대기열에 수정된 파일을 추가합니다.파일이 커밋되지 않았습니다.

  2. git commit추가된 파일을 커밋하고 로그...를 사용하여 새 개정판을 만듭니다.파일을 추가하지 않으면 git은 아무것도 커밋하지 않습니다.두 작업을 결합할 수 있습니다.git commit -a

  3. git push변경 내용을 원격 리포지토리로 푸시합니다.

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

enter image description here

git add된 커밋 된 것이기 있지 .git commit -a하지만 당신은 정신적으로 추가할 수 있습니다.git add변경 블록으로 이동하여 흐름을 이해합니다.

push는 다음과같별명령니다입도의이 에 별도의 입니다.git의 철학.git는 분산 버전 시스템이며 로컬 작업 디렉터리는 저장소입니다!커밋한 모든 변경사항이 즉시 반영되고 기록됩니다.push작업 중인 작업이 완료된 경우 원격 레포(다른 사용자와 공유할 수 있음)를 업데이트하는 데만 사용됩니다.이것은 변경사항을 로컬로 작업하고 저장하며(네트워크 오버헤드 없이) 모든 커밋이 아닌 원하는 경우에만 업데이트할 수 있는 깔끔한 방법입니다.더 많이 입니다.비용이 얼마나 들까요?) 이렇게 하면 저장소를 방해하지 않고 더 많은 저장 포인트를 얻을 수 있습니다.

git add 내용을 선택합니다.

git commit 사항을 LOCAL로 합니다.

git push 변경 사항

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

Git를 이해하기 위해서는 문서를 대충 훑어보는 것보다 더 많은 노력을 투자해야 하지만, 그것은 확실히 가치가 있습니다.Git 명령어를 서브버전에 직접 매핑하려고 하지 마십시오. 대부분 직접 대응하는 명령어가 없기 때문입니다.

저는 이 이미지가 매우 의미 있다고 생각합니다.

enter image description here

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

저는 '추가'가 실제로 무엇을 하는지 혼란스러웠습니다.저는 방금 Git Pro라는 책에서 매우 계몽적인 단락을 읽었는데, 여기에 추가하고 싶습니다. 왜냐하면 그것은 상황을 명확하게 하기 때문입니다.

Git add 명령을 실행하면 Git이 파일을 그대로 준비하는 것으로 나타났습니다.지금 커밋하면 git add 명령을 마지막으로 실행했을 때와 같은 benchmarks.rb 버전은 git commit을 실행할 때 작업 디렉토리에 표시되는 파일 버전이 아니라 커밋에 들어가는 방식입니다.git add를 실행한 후 파일을 수정하면 git add를 다시 실행하여 파일의 최신 버전을 준비해야 합니다.

발췌:샤콘, 스콧."프로 깃"스프링거, 2009-08-19T00:00:00+00:00. 아이북스.이 자료는 저작권의 보호를 받을 수 있습니다.

add는 git에게 파일 추적을 시작하라고 말합니다.

커밋 현재 변경사항을 로컬 리포지토리에 커밋합니다.

push는 로컬 repo를 업스트림으로 푸시합니다.

많은 GIT 비밀에 대한 매우 좋은 pdf.

추가는 svn의 추가와 같습니다(그러나 때때로 파일이 해결되었음을 표시하는 데 사용됨).

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

추가 기능은 우리가 커밋할 파일을 git에 알려주는 데 사용되며, 파일을 준비 영역에 배치합니다.

커밋잇은 로컬 컴퓨터에 파일을 저장하는 데 사용되므로 파일을 변경하거나 삭제하더라도 커밋된 파일을 복구할 수 있습니다.

푸시 - 로컬 컴퓨터에서 파일을 커밋하더라도 로컬 컴퓨터가 손실되거나 손상되는 등 파일을 안전하게 유지하거나 파일을 공유하기 위해 파일이 손실될 가능성이 높습니다. 일반적으로 Github과 같은 원격 저장소에 파일을 보관하고 싶습니다.원격 리포지토리를 절약하기 위해 푸시를 사용합니다.

예제 index.html git add index.html 파일 스테이징

git commit -m 'commit의 이름'을 스테이징한 파일 커밋

Githubgit 푸시 오리진 마스터에 파일 푸시 중

add그리고.commit서로 연관되어 있습니다.

add로컬 저장소를 계속 변경할 수 있으며 이러한 변경 사항을 원격 저장소에 공유하고자 할 수 있습니다.commit에서는 이러한 변경 사항을 기록할 수 있습니다.

push명령은 로컬 리포지토리에서 원격 리포지토리로 커밋을 전송하는 도구로 간주할 수 있습니다.

언급URL : https://stackoverflow.com/questions/6143285/git-add-vs-push-vs-commit

반응형