Tôi có một siêu dự án git tham chiếu một số mô hình con và tôi đang cố gắng khóa một luồng công việc để các thành viên dự án còn lại của tôi làm việc trong đó.
Đối với câu hỏi này, giả sử siêu dự án của tôi được gọi supery
và mô hình con được gọi subby
. (Sau đó là đơn giản hóa những gì tôi đang cố gắng thực hiện ... Tôi thực sự không sử dụng các nhánh cho các phiên bản, nhưng tôi nghĩ rằng nó sẽ dễ dàng nhất để đặt ra như một câu hỏi.)
Chi nhánh chính của tôi supery
có thẻ v1.0
của dự án git được subby
tham chiếu như là một mô hình con. Nhánh supery
được gọi one.one
và thay đổi tham chiếu của mô hình con để trỏ đến thẻ v1.1
của subby
.
Tôi có thể làm việc trong mỗi chi nhánh này mà không gặp trở ngại nào, nhưng nếu tôi cố gắng cập nhật one.one
chi nhánh với các thay đổi từ master
chi nhánh, tôi nhận được một số xung đột và tôi không biết cách giải quyết chúng.
Về cơ bản sau khi chạy một git pull . master
lúc trong subby
nhánh, có vẻ như nó tạo ra các mô hình con bổ sung.
Trước khi kéo / hợp nhất, tôi nhận được phản hồi mong muốn git submodule
từ one.one
chi nhánh:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Nhưng sau khi kéo, nó sẽ thêm các mô đun con bổ sung khi tôi chạy git submodule
:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
Làm cách nào để xóa / bỏ qua các tham chiếu mô hình con không mong muốn và thực hiện các xung đột và thay đổi của tôi? Hoặc có một tham số tôi có thể sử dụng với bản gốc của mình git pull
sẽ bỏ qua các mô hình con của tôi?