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


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.