커밋, 커밋 및 푸시, 커밋 및 동기화의 차이점


149

Visual Studio 2013을 사용하고 있으며 C # 코드를 커밋 할 때 3 가지 옵션이 있습니다. 로컬 리포지토리와 GitHub 리포지토리에서 발생하는 문제와 관련하여 각 옵션의 차이점에 대한 설명이 필요합니다.

  • 옵션 1은 커밋이라고 말합니다.
  • 옵션 2는 커밋과 푸시를 말합니다
  • 옵션 3은 커밋 및 동기화라고 말합니다.

마지막 2 옵션의 차이점을 이해하지 못합니다. Commit and Push와 반대로 Commit and Sync를 언제 사용해야합니까?

답변:


216
  1. 커밋은 단순히 로컬 컴퓨터에서 변경 한 내용을 기록합니다. 원격 저장소에서 변경 사항을 표시하지 않습니다.
  2. 커밋 및 푸시는 위의 작업을 수행하여 원격 저장소로 푸시합니다. 즉, 변경 한 내용이 모두 원격 저장소에도 저장됩니다.
  3. 커밋 및 동기화는 세 가지 작업을 수행합니다. 먼저 커밋합니다. 둘째, 풀을 수행합니다 (원격 리포지토리에서 업데이트 된 정보를 가져옵니다). 마지막으로 추진할 것이다.

여기 에서 Microsoft로부터 더 많은 것을 보십시오


나는 "Commit and Sync"를 얻지 못한다. 먼저 커밋 할 것이다. 둘째, 풀을 수행합니다. 마지막으로 푸시합니다. 코드 변경 사항이 이미 원격 리포지토리에 커밋 된 경우 여기에 푸시가 필요한 이유 (푸시 변경 사항 없음)
Bhuwan Pandey 2016 년

6
@BhuwanPandey "커밋"수행에는 "푸시"가 포함되지 않습니다. 그들은 별개입니다. "푸시"만 커밋을 원격 저장소에 업데이트합니다. 그것을 보려면 다른 답변의 이미지를 참조하십시오. 다음은 원격 저장소에 로컬 저장소에서 이동하여, 로컬 저장소에 인덱스에서하면서 "푸시"완료 간다 "커밋"
camiblanch

여러 사용자가 동시에 응용 프로그램을 작업 할 때 동기화 작업으로 인해 충돌이 발생할 수 있습니까?
Murali Dhar Darshan

Visual Studio 2017을 사용하고 있으며 커밋 및 동기화 명령으로 변경 내용이 완전히 적용되지는 않습니다. 동기화를 수행하면 Visual Studio의 기록 탭에 변경 사항이 표시되지만 Github 사이트에는 변경 사항이 표시되지 않습니다. Commig and Sync 후에 Push 명령을 수행 한 다음 변경 내용이 Github 사이트에 나타납니다.
Fabiano

Commit이 원격 저장소로 파일을 전송한다는 생각에서 혼란이 생겼다고 생각합니다. 실제로 커밋은 로컬 리포지토리를 사용하여 편집 한 내용을 기록합니다. 푸시가 없으면 서버에 절대로 충돌하지 않습니다.
Alan Baljeu

72

camieblanch의 답변에 추가하십시오. tanascius ( here ) 에서이 유용한 사진 / 게시물을 찾았습니다 . "Oliver Steele의 멋진 그림은 git 모델과 명령을 설명합니다." 여기에 이미지 설명을 입력하십시오


1
그러나이 사진에서 동기화는 어디에 있습니까?
Alan Baljeu

2
사진에는 ​​존재하지 않습니다. "camiblanch"의 답변을 다시 참조하면 로컬 리포지토리에 커밋하고 원격 리포지를 로컬 리포지토리와 동기화 (병합)하여 병합 된 로컬 리포지를 원격 리포지토리로 푸시합니다.
A.sharif

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.