Sự khác biệt giữa Cam kết, Cam kết và Đẩy, Cam kết và Đồng bộ hóa


149

Tôi đang sử dụng visual studio 2013 và tôi phải đối mặt với 3 tùy chọn khi tôi cam kết mã C # của mình. Tôi cần một lời giải thích về sự khác biệt giữa mỗi tùy chọn liên quan đến những gì xảy ra với repo cục bộ của tôi so với repo GitHub.

  • Tùy chọn 1 cho biết Cam kết
  • Tùy chọn 2 cho biết Cam kết và Đẩy
  • Tùy chọn 3 cho biết Cam kết và Đồng bộ hóa

Tôi hoàn toàn không hiểu sự khác biệt giữa 2 lựa chọn cuối cùng. Khi nào tôi nên sử dụng Cam kết và Đồng bộ hóa trái ngược với Cam kết và Đẩy?

Câu trả lời:


216
  1. Cam kết đơn giản sẽ ghi lại những thay đổi mà bạn đã thực hiện trên máy cục bộ của mình. Nó sẽ không đánh dấu sự thay đổi trong kho lưu trữ từ xa.
  2. Cam kết và Đẩy sẽ làm như trên và đẩy nó vào kho lưu trữ từ xa. Điều này có nghĩa là mọi thay đổi bạn đã thực hiện cũng sẽ được lưu vào kho lưu trữ từ xa.
  3. Cam kết và Đồng bộ hóa làm ba điều. Đầu tiên, nó sẽ cam kết. Thứ hai, nó sẽ thực hiện một thao tác kéo (lấy thông tin cập nhật từ repo từ xa). Cuối cùng, nó sẽ đẩy.

Xem thêm từ Microsoft tại đây


Tôi thực sự không nhận được "Cam kết và đồng bộ hóa" Đầu tiên, nó sẽ cam kết. Thứ hai, nó sẽ thực hiện một cú kéo Cuối cùng, nó sẽ đẩy. Tại sao cần phải đẩy ở đây khi thay đổi mã đã được cam kết với kho lưu trữ từ xa (Không có thay đổi để đẩy).
Bhuwan Pandey

6
@BhuwanPandey Thực hiện "cam kết" không bao gồm "đẩy". Họ là riêng biệt. Chỉ một "cú đẩy" sẽ cập nhật cam kết của bạn vào kho lưu trữ từ xa. Xem hình ảnh trong câu trả lời khác để thấy rằng. "Cam kết" đi từ chỉ mục đến kho lưu trữ cục bộ, trong khi "đẩy" kết thúc bằng cách đi từ kho lưu trữ cục bộ đến kho lưu trữ từ xa
camiblanch

Hoạt động đồng bộ hóa có thể gây ra xung đột khi nhiều người dùng làm việc cùng lúc vào ứng dụng không?
Murali Dhar Darshan

Tôi đang sử dụng Visual Studio 2017 và lệnh Commit và Sync không hoàn toàn thúc đẩy các thay đổi của bạn. Tôi đang nói rằng vì bằng cách thực hiện Đồng bộ hóa, các thay đổi của tôi được hiển thị trong tab lịch sử trong Visual Studio, nhưng tại trang Github, nó không xuất hiện. Tôi đã phải thực hiện lệnh Push sau Commig và Sync, và sau đó những thay đổi của tôi xuất hiện trong trang Github.
Fabiano

Tôi nghĩ rằng sự nhầm lẫn xuất phát từ suy nghĩ Commit gửi các tệp đến kho lưu trữ từ xa. Trong thực tế, Commit chỉ ghi lại các chỉnh sửa của bạn với kho lưu trữ cục bộ. Không có Push nó không bao giờ đánh vào máy chủ.
Alan Baljeu

72

Để thêm vào câu trả lời của camieblanch. Tôi tìm thấy hình ảnh / bài viết hữu ích này từ tanascius ( ở đây ). "Đây là một bức ảnh đẹp từ Oliver Steele, giải thích mô hình git và các lệnh:" nhập mô tả hình ảnh ở đây


1
Nhưng Sync ở đâu trong bức tranh này?
Alan Baljeu

2
Nó không tồn tại trong ảnh. Nếu bạn quay lại câu trả lời của "camiblanch". Đó là cam kết với repo cục bộ của bạn, kéo để đồng bộ hóa (hợp nhất) repo từ xa với repo cục bộ của bạn và sau đó nó đẩy repo cục bộ đã hợp nhất vào repo từ xa.
A.sharif

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.