Câu trả lời:
Bạn có thể nhận danh sách các URL từ xa được cấu hình bằng lệnh git remote -v
.
Điều này sẽ cung cấp cho bạn một cái gì đó như sau:
base /home/***/htdocs/base (fetch)
base /home/***/htdocs/base (push)
origin git@bitbucket.org:*** (fetch)
origin git@bitbucket.org:*** (push)
-v
cho "verbose" thực sự là tùy chọn phổ biến hơn. Nó cũng được hỗ trợ bởi git branch
. Sự khác biệt cơ bản là các tùy chọn ngắn so với dài (về cơ bản so với dấu gạch đôi, về cơ bản) Điều đó nói rằng, danh sách hỗ trợ với remote
tiểu ban sẽ có ý nghĩa. Nếu bạn thực sự muốn nó, tôi muốn gửi yêu cầu tính năng.
FWIW, tôi đã có chính xác câu hỏi tương tự, nhưng tôi không thể tìm thấy câu trả lời ở đây. Nó có thể không phải là di động, nhưng ít nhất là đối với gitolite, tôi có thể chạy những thứ sau đây để có được thứ tôi muốn:
$ ssh git@git.xxx.com info
hello akim, this is gitolite 2.3-1 (Debian) running on git 1.7.10.4
the gitolite config gives you the following access:
R W android
R W bistro
R W checkpn
...
Các câu trả lời cho đến nay cho bạn biết làm thế nào để tìm các chi nhánh hiện có:
git branch -r
Hoặc kho lưu trữ cho cùng một dự án [xem ghi chú bên dưới] :
git remote -v
Có một trường hợp khác. Bạn có thể muốn biết về các kho dự án khác được lưu trữ trên cùng một máy chủ.
Để khám phá thông tin đó, tôi sử dụng SSH hoặc PuTTY để đăng nhập vào máy chủ và ls
để tìm các thư mục chứa các kho lưu trữ khác. Ví dụ: nếu tôi nhân bản một kho lưu trữ bằng cách gõ:
git clone ssh://git.mycompany.com/git/ABCProject
và muốn biết những gì khác có sẵn, tôi đăng nhập vào git.mycompany.com thông qua SSH hoặc PuTTY và gõ:
ls /git
giả sử ls
nói:
ABCProject DEFProject
Tôi có thể sử dụng lệnh
git clone ssh://git.mycompany.com/git/DEFProject
để có quyền truy cập vào các dự án khác.
LƯU Ý: Thường
git remote
chỉ đơn giản là cho tôi biết vềorigin
- kho lưu trữ mà tôi đã nhân bản dự án.git remote
sẽ hữu ích nếu bạn cộng tác với hai hoặc nhiều người làm việc trong cùng một dự án và truy cập trực tiếp vào kho của nhau thay vì chuyển mọi thứ qua nguồn gốc.
Một cách đơn giản để xem các chi nhánh từ xa là:
git branch -r
Để xem chi nhánh địa phương:
git branch -l
git ls-remote
sẽ hiển thị cho bạn tất cả các điều khiển từ xa có sẵn để tìm nạp từ máy chủ ngược dòng ( git-scm.com/docs/git-ls-remote ). Tôi tin rằng tất cả các câu trả lời trên trang này chỉ cho bạn biết cách liệt kê các điều khiển từ xa và theo dõi các nhánh mà bạn đã tìm nạp, đó là Catch-22. Bạn không thể tìm nạp một điều khiển từ xa cho đến khi bạn biết cách tham chiếu nó trên máy chủ ngược dòng.
Không có phương pháp nào trong số đó hoạt động theo cách người hỏi đang yêu cầu và điều mà tôi thường có nhu cầu là tốt. ví dụ:
$ git remote
fatal: Not a git repository (or any of the parent directories): .git
$ git remote user@bserver
fatal: Not a git repository (or any of the parent directories): .git
$ git remote user@server:/home/user
fatal: Not a git repository (or any of the parent directories): .git
$ git ls-remote
fatal: No remote configured to list refs from.
$ git ls-remote user@server:/home/user
fatal: '/home/user' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Toàn bộ vấn đề của việc này là bạn không có bất kỳ thông tin nào ngoại trừ người dùng và máy chủ từ xa và muốn tìm hiểu những gì bạn có quyền truy cập.
Phần lớn các câu trả lời cho rằng bạn đang truy vấn từ trong một tập làm việc git. Người hỏi đang cho rằng bạn không phải.
Như một ví dụ thực tế, giả sử đã có một kho lưu trữ foo.git trên máy chủ. Ai đó trong trí tuệ của họ quyết định họ cần thay đổi nó thành foo2.git. Sẽ thật tuyệt khi làm một danh sách thư mục git trên máy chủ. Và vâng, tôi thấy những vấn đề cho git. Nó vẫn sẽ là tốt đẹp để có mặc dù.
git remote -v
bởi vì -v là dành cho dài dòng.git remote
đưa ra một danh sách đơn giản các điều khiển từ xa (cơ sở, nguồn gốc trong trường hợp này). Tùy chọn -v bao gồm url cho cả hoạt động tìm nạp và đẩy của mỗi điều khiển từ xa.