git thêm chi nhánh từ xa


139

Tôi muốn thêm một điều khiển, và một nhánh của điều khiển đó.

Tôi đã làm git remote add <newname> <url>, sau đó tôi đã làm git fetch --allnhưng git branch -akhông hiển thị bất kỳ chi nhánh của điều khiển từ xa. .Git / config của tôi đang hiển thị điều khiển từ xa.

Bất cứ ai có thể xin vui lòng giúp tôi ra?


2
Điều gì xảy ra khi bạn git fetch remote branch:branch && git co branch?
Samy Dindane

Câu trả lời:


280

Tôi không chắc chắn nếu bạn đang cố gắng tạo một chi nhánh từ xa từ một chi nhánh địa phương hoặc ngược lại, vì vậy tôi đã phác thảo cả hai kịch bản cũng như cung cấp thông tin về việc hợp nhất các chi nhánh từ xa và địa phương.

Tạo một điều khiển từ xa gọi là "github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Liệt kê tất cả các chi nhánh từ xa:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Tạo một nhánh cục bộ mới (thử nghiệm) từ nhánh từ xa của github (pu):

git branch test github/pu
git checkout test

Hợp nhất các thay đổi từ nhánh từ xa của github (pu) với nhánh cục bộ (thử nghiệm):

git fetch github
git checkout test
git merge github/pu

Cập nhật chi nhánh từ xa của github (pu) từ một chi nhánh địa phương (kiểm tra):

git push github test:pu

Tạo một nhánh mới trên một điều khiển từ xa sử dụng cú pháp tương tự như cập nhật một nhánh từ xa. Ví dụ: tạo nhánh từ xa mới (beta) trên github từ nhánh cục bộ (thử nghiệm):

git push github test:beta

Xóa chi nhánh từ xa (pu) khỏi github:

git push github :pu

Có cách nào để tạo nhánh cục bộ mà không chỉ định tên, sao cho nó tự động lấy cùng tên với nhánh từ xa?
Dubslow

@Dublow git checkout --track github/pu, xem tại đây
Hinrich

25

Bạn có thể kiểm tra xem bạn đã cài đặt từ xa đúng chưa và có quyền thích hợp với

git ls-remote origin

nếu bạn gọi từ xa là "nguồn gốc". Nếu bạn gặp lỗi, có thể bạn không thiết lập bảo mật của mình một cách chính xác, chẳng hạn như tải khóa công khai của bạn lên github chẳng hạn. Nếu mọi thứ được thiết lập chính xác, bạn sẽ nhận được một danh sách các tài liệu tham khảo từ xa. Hiện nay

git fetch origin

sẽ làm việc để chặn mọi vấn đề khác như cáp mạng không được cắm.

Khi bạn đã hoàn thành, bạn có thể nhận được bất kỳ nhánh nào bạn muốn mà lệnh trên được liệt kê với

git checkout some-branch

điều này sẽ tạo ra một nhánh cục bộ cùng tên với nhánh từ xa và kiểm tra nó.


6

Tôi đã thử nghiệm những gì @Samy Dindane gợi ý trong nhận xét về OP.

Tôi tin rằng nó hoạt động, thử

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Đây là một ví dụ cho một kho lưu trữ từ xa hư cấu có tên là foomột nhánh có tên barnơi tôi tạo một nhánh cục bộ bartheo dõi từ xa:

git fetch foo bar:bar
git checkout bar

5

Đây là quá trình hoàn chỉnh để tạo một repo cục bộ và đẩy các thay đổi sang nhánh từ xa mới

  1. Tạo kho lưu trữ cục bộ: -

    Ban đầu người dùng có thể đã tạo kho git cục bộ.

    $ git init : - Điều này sẽ làm cho thư mục cục bộ là kho lưu trữ Git,

  2. Liên kết chi nhánh từ xa : -

    Bây giờ thách thức là liên kết kho git cục bộ với nhánh chủ từ xa .

    $ git remote add RepoName RepoURL

    cách sử dụng: git remote add []

  3. Kiểm tra từ xa

    $ git remote show ---> Hiển thị tên từ xa

    $ git remote -v ---> Hiển thị các nhánh từ xa

  4. Bây giờ đẩy đến điều khiển từ xa

    $git add . ----> Thêm tất cả các tệp và thư mục dưới dạng git dàn dựng '

    $git commit -m "Your Commit Message" - - -> Cam kết tin nhắn

    $git push - - - -> Đẩy các thay đổi lên thượng nguồn


Đây chỉ là hướng dẫn cho trường hợp chung sử dụng git. Tôi không thấy bất cứ điều gì trong câu trả lời này cụ thể cho câu hỏi đang được hỏi.
Hack-R

2

Nếu nhánh từ xa đã tồn tại thì bạn có thể (có thể) thoát khỏi ..

git checkout branch_name

và git sẽ tự động thiết lập để theo dõi chi nhánh từ xa có cùng tên về nguồn gố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.