Ý nghĩa của 'origin' trong 'git push origin master' là gì


94

Khi tôi chạy:

git push origin master

... nghĩa của origintừ này là gì?


7
Xem trong hướng dẫn Git - "Khi bạn đang làm việc trong một nhóm nhỏ gắn bó chặt chẽ với nhau, việc tương tác lặp đi lặp lại với cùng một kho lưu trữ không có gì lạ. Bằng cách xác định tốc độ nhanh về kho lưu trữ từ xa, bạn có thể làm cho nó dễ dàng hơn". Nếu bạn không làm điều đó, origin được sử dụng theo mặc định.
sakisk

Câu trả lời:


74

originlà tên mặc định của kho lưu trữ git từ xa mà bạn đã sao chép từ đó. Hãy xem .git/refs/remotes/origin/*.git/configtrong các nguồn của bạn để xem git biết về nó như thế nào.


7
Tôi sẽ nói rằng "đã sao chép kho lưu trữ của bạn từ" chứ không phải "kiểm tra các nguồn của bạn từ" - sau này là cụm từ lưu giữ từ VCS tập trung và có thể gây hiểu lầm một chút cho người mới bắt đầu sử dụng DVCS.
Cascabel

1
Còn lệnh git remote add origin thì sao? Tại sao bạn sẽ thêm một nguồn gốc? stackoverflow.com/a/8248542/719689
AlxVallejo

5
git remote add origincó nghĩa là thêm một kho lưu trữ từ xa có tên là origin , không có bất kỳ ý nghĩa kỹ thuật đặc biệt nào, nó chỉ là một tên mặc định được sử dụng rộng rãi cho một kho lưu trữ từ xa ban đầu. Bạn có thể sử dụng foobar thay vì origin nếu muốn.
skuro

1
@AlxVallejo thường được sử dụng khi bạn không sao chép từ kho lưu trữ đó, mà đúng hơn là bạn đã tạo kho lưu trữ cục bộ và tạo nguồn gốc ở nơi khác làm kho lưu trữ từ xa.
Matt,

4
@KasunSiyambalapitiya đó là tên chi nhánh. Với việc git push origin masterbạn yêu cầu git đẩy tất cả các cam kết trong nhánh cục bộ hiện đã được kiểm tra (tức là từ hệ thống tệp của bạn) đến repo từ xa được xác định bằng tên origintrên nhánh từ xa của nó có tên master.
skuro

85

git có một khái niệm về "điều khiển từ xa" - chúng giống như những biệt hiệu dễ hiểu cho một kho lưu trữ, vì vậy bạn không cần phải sử dụng URL đầy đủ của nó mỗi khi bạn muốn tham chiếu đến một kho lưu trữ khác.

originchỉ là một điều khiển từ xa giống như bất kỳ điều khiển nào khác, nhưng bạn thấy nó rất thường xuyên vì khi bạn sao chép một kho lưu trữ lần đầu tiên, git clonetheo mặc định sẽ thiết lập một điều khiển từ xa được gọi originđể tham chiếu đến URL mà bạn đã sao chép từ đó.

Nếu bạn làm điều git remote -vđó sẽ hiển thị cho bạn tất cả các điều khiển từ xa mà bạn đã thiết lập trong kho lưu trữ cục bộ của mình và các URL mà chúng tham chiếu đến. (Bạn sẽ thấy rằng nó phức tạp hơn một chút so với tôi đã nói ở trên, trong đó điều khiển từ xa có thể tham chiếu đến một URL khác để đẩy và tìm nạp, nhưng bạn có thể không cần phải lo lắng về điều đó. :))


Còn lệnh git remote add origin thì sao? Tại sao bạn sẽ thêm một nguồn gốc? stackoverflow.com/a/8248542/719689
AlxVallejo

2
@AlxVallejo: Bạn có thể tự thêm originđiều khiển từ xa nếu bạn tự khởi tạo kho lưu trữ, thay vì thực hiện thông qua git clone.
Mark Longair

@MarkLongair những gì chúng tôi sử dụng masterở phần cuối của mã
Kasun Siyambalapitiya

35

Nguồn gốc là nơi bạn lấy mã từ nguồn gốc .


2
Đối với tôi, đó không phải là một trò đùa mà là một quy tắc cơ bản để nhớ nguồn gốc nghĩa là gì. Và một người tôi thích, nhân tiện +1
MiGU 16/09/16

Trong khi tôi thích trò đùa của bố bạn, nó không nhất thiết là sự thật. Tôi có thể tạo một repo mới cục bộ và cam kết với nó mà không cần bất kỳ kiến ​​thức nào về điều khiển từ xa. Sau đó, tôi có thể tạo một nguồn gốc được đặt tên từ xa và đẩy đến nó tất cả các cam kết mà tôi đã thực hiện cục bộ. Nguồn gốc không nhất thiết phải là nguồn gốc của kho lưu trữ.
Rob Bell,

3

Điều này sẽ có ích

https://www.git-tower.com/learn/git/glossary/origin

n Git, "origin" là tên viết tắt của kho lưu trữ từ xa mà một dự án ban đầu được sao chép từ đó. Chính xác hơn, nó được sử dụng thay vì URL của kho lưu trữ ban đầu - và do đó làm cho việc tham chiếu dễ dàng hơn nhiều.

Lưu ý rằng nguồn gốc không có nghĩa là một cái tên "ma thuật", mà chỉ là một quy ước tiêu chuẩn. Mặc dù việc giữ nguyên quy ước này là hợp lý, bạn hoàn toàn có thể đổi tên nó mà không làm mất bất kỳ chức năng nào.

Trong ví dụ sau, tham số URL của lệnh "clone" trở thành "nguồn gốc" cho kho lưu trữ cục bộ được sao chép:

git clone https://github.com/gittower/git-crash-course.git


2

origin được tạo từ xa bởi chính git khi bạn sao chép repo đầu tiên để trỏ URL mà từ đó bạn đã tạo bản sao. ví dụ: origin git@github.com: / PROJECT_U


0

"Nguồn gốc" là tên của kho lưu trữ từ xa nơi bạn muốn xuất bản cam kết của mình. Theo quy ước, kho lưu trữ từ xa mặc định được gọi là "origin", nhưng bạn có thể làm việc với một số điều khiển từ xa (với các tên khác nhau) cùng một lúc.

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.