2013-05-30 22 views
14

Tôi đang sử dụng tính năng Trang của GitHub. Điều này hoạt động bằng cách đặt HTML được xuất bản trong một chi nhánh có tên là gh-pages. Tôi có hai thư mục làm việc riêng biệt, một cho chính dự án và một cho các tài liệu HTML.Git có thể bỏ qua vĩnh viễn một nhánh từ xa không?

Trước đây, tôi muốn hoàn toàn bỏ qua chi nhánh gh-pages, vì đó là một dòng công việc không liên quan và tôi không muốn nó làm lộn xộn các hình ảnh cam kết khác nhau của tôi.

Đó là, những gì tôi có là:

$ git remote show origin 
* remote origin 
    Fetch URL: [email protected]:reidpr/quac.git 
    Push URL: [email protected]:reidpr/quac.git 
    HEAD branch: master 
    Remote branches: 
    bar    tracked 
    foo    tracked 
    gh-pages   tracked 
    master   tracked 
    Local branches configured for 'git pull': 
    master merges with remote master 
    Local refs configured for 'git push': 
    master pushes to master (up to date) 

và những gì tôi muốn là một cái gì đó như:

$ git remote show origin 
    [...] 
    Remote branches: 
    bar    tracked 
    foo    tracked 
    gh-pages   ignored 
    master   tracked 
    [...] 

Lưu ý có một số chi nhánh mà tôi làm muốn theo dõi, và chỉ cái mà tôi không có. Tôi muốn chỉ định cái sau, chứ không phải cái cũ.

Tôi có thể xóa tham chiếu cục bộ thành origin/gh-pages nhưng sau đó lại quay lại lần sau git fetch.

Trả lời

5

Bạn có thể thay đổi .gitconfig, vì vậy nó nói git để lấy chỉ những gì bạn vừa muốn:

fetch = +refs/heads/mybranch:refs/remotes/origin/mybranch 

Ngoài ra, bạn có thể tạo một bí danh cho lấy mà fetches những gì bạn muốn:

git fetch origin +refs/heads/mybranch:refs/remotes/origin/mybranch 

việc tạo ra một bí danh là đơn giản như thêm bí danh mới trong .gitconfig:

[alias] 
    myfetch= git fetch origin +refs/heads/mybranch:refs/remotes/origin/mybranch 

UPDATE:

Bạn có thể chỉ định nhiều chi nhánh của khóa học:

git fetch origin +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop 
+4

Có điều gì đó sẽ cho phép tôi tìm nạp mọi thứ * ngoại trừ * những gì tôi không muốn? Trong ví dụ trên chỉ có một nhánh từ xa mà tôi muốn, nhưng trong thực tế có một vài nhánh, và nó chỉ là một cái mà tôi không muốn. – Reid

+1

@Reid Unfortunatelly, tôi không biết về sự tha thứ direect của một chi nhánh cụ thể. Tôi đã ở kleast cung cấp một bản cập nhật trong câu trả lời, trong đó cho bạn thấy làm thế nào để xác định thêm chi nhánh mà muốn được lấy. –

+3

Một tùy chọn có thể là sử dụng tập lệnh được nối với sau khi nhận để xóa chi nhánh vi phạm. Chưa hoàn toàn nghĩ rằng thông qua một câu trả lời mặc dù. – jb510

4

Tôi chỉ cần nhấn cùng một vấn đề. Tôi đã quan tâm đến một chi nhánh từ 'bob', nhưng anh ta có nhiều chi nhánh làm lộn xộn sản lượng git branch -a của tôi.

Tôi đã làm điều này:

rm .git/refs/remotes/bob/{next,master,maint} 

và các ngành đã biến mất. Một git fetch có thể khôi phục chúng mặc dù, nhưng tôi không có ý định lấy từ bob thường xuyên.

Các vấn đề liên quan