내가 진행하는 Git 튜토리얼에서, git commit
변경 사항을 저장하는 데 사용된다.
git push
그때 무엇을 사용합니까?
내가 진행하는 Git 튜토리얼에서, git commit
변경 사항을 저장하는 데 사용된다.
git push
그때 무엇을 사용합니까?
답변:
기본적으로 git commit
" 저장소에 변경 사항을 기록 하고 git push
" " 관련 오브젝트와 함께 원격 참조를 업데이트합니다 ". 따라서 첫 번째는 로컬 저장소와 관련하여 사용되며 후자는 원격 저장소와 상호 작용하는 데 사용됩니다.
다음은 Oliver Steele 의 멋진 그림으로 git 모델과 명령을 설명합니다.
에 대한 자세한 읽기 git push
와 git pull
에 GitReady.com (내가 처음에 언급 된 기사)
git push
입니다. 실제로, 대상은 모든 git 저장소 git push
가 될 수 있습니다 . 다른 디렉토리 ( 또는 예를 들어) 의 자체 로컬 하드 드라이브 또는 자체 호스트가 제공 하는 git 저장소에있을 수 있습니다. git remote add clone ~/proj/clone.git; git push clone master
git push ~/proj/clone.git master
기본적으로 git commit은 변경 사항을 로컬 리포지토리에 저장하고 git push는 변경 사항을 원격 위치로 보냅니다.
git push
실제 업데이트 된 파일 또는 특별한 "diff"파일을 업로드 합니까 ?
커밋 : 스냅 샷 | 체인지 셋 | History_record | 버전 | 저장소의 '다른 이름으로 저장' . Git 저장소 = 커밋의 시리즈 (트리) .
로컬 저장소 : 컴퓨터의 저장소
원격 저장소 : 서버의 저장소 ( Github )
git commit
: 새 커밋 (마지막 커밋 + 단계별 수정)을 로컬 리포지토리에 추가합니다. (모든 커밋은에 저장됩니다 /.git
)
git push
, git pull
: 로컬 저장소를 연관된 원격 저장소 와 동기화하십시오 . push
-에서 변경 사항을 적용 지역 에 원격 , pull
-에서 변경 사항을 적용 원격 으로 지역 .
3 가지주의 사항 :
1) 작업 디렉토리 ----- 코드 파일이 존재하는 폴더
2) 로컬 리포지토리 ------ 시스템 내부에 있습니다. COMMIT 명령을 처음 만들면이 로컬 리포지토리가 생성됩니다. 작업 디렉토리와 동일한 위치에
Checkit (.git) 파일이 작성됩니다.
그 후에 커밋 할 때 Working Directory 파일의 변경 사항을 로컬 리포지토리 (.git)에 저장합니다.
3) 원격 리포지토리 ----- 이것은 전세계 어느 곳에 위치한 서버와 같이 시스템 외부에 있습니다. github처럼. PUSH 명령을 만들면 로컬 리포지토리의 코드가이 원격 리포지토리에 저장됩니다.
git 명령의 사용법 add
과 commit
Github의 리포지토리에서 로그 파일이 유지 관리된다고 생각하면 더 쉽습니다 . 나를위한 일반적인 프로젝트의 로그 파일은 다음과 같습니다.
---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2
Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------
---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on
나는 보통 하루를 git pull
요청 으로 시작하고 요청으로 끝 git push
냅니다. 그래서 하루 기록의 모든 것은 그들 사이에서 일어나는 일에 해당합니다. 매일 몇 가지 파일을 변경해야하는 하나 이상의 논리적 작업 이 완료되었습니다. 해당 작업 중에 편집 된 파일이 색인에 나열됩니다.
이러한 각 하위 작업 (작업 A 및 작업 B)은 개별 커밋입니다. 이 git add
명령은 파일을 'Index of Files Changed'목록에 추가합니다. 이 프로세스를 준비라고하며 실제로 변경된 파일과 수행 된 변경을 기록합니다. 이 git commit
명령은 추후 참조에 사용될 수있는 사용자 정의 메시지와 함께 변경 사항 및 해당 색인 목록을 기록 / 종료합니다.
여전히 저장소의 로컬 사본 만 변경하고 Github의 로컬 사본은 변경하지 않습니다. 그런 다음, git push
모든 커밋에 대한 인덱스 파일과 함께 기록 된 모든 변경 사항을 수행 할 때만 Github의 기본 리포지토리에 로그온됩니다.
예를 들어, 가상 로그 파일에서 두 번째 항목을 얻으려면 다음을 수행했을 것입니다.
git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push
간단히 말해서, git add
그리고 git commit
당신이 체계적인 논리적 하위의 변화로 주요 저장소에 대한 변경을 분해 할 수 있습니다. 다른 답변과 의견이 지적했듯이, 물론 더 많은 용도가 있습니다. 그러나 이것은 가장 일반적인 사용법 중 하나이며 Gvn의 기본 원리는 Svn과 같은 다른 인기있는 것과 달리 다단계 개정 제어 시스템입니다.
기본적으로 git commit은 변경 사항을 로컬 리포지토리에 저장하고 git push는 변경 사항을 원격 위치로 보냅니다. git은 분산 버전 제어 시스템이므로 차이점은 commit은 로컬 저장소에 변경 사항을 커밋하지만 push는 변경 사항을 원격 저장소로 푸시한다는 것입니다
소스 구글
http://gitref.org/basic/ 이 링크는 매우 유용합니다