2013-05-26 26 views
5

Tôi đang sử dụng repo git sử dụng the git-flow branching model. Tôi đã đẩy nó vào một kho trung tâm. Làm thế nào để một nhà phát triển mới tham gia dự án sao chép nó?Làm thế nào để sao chép kho lưu trữ git-style git?

Nhân bản kho lưu trữ chỉ cung cấp chi nhánh master. Làm cách nào để nhà phát triển mới có được chi nhánh develop, cũng như một số chi nhánh của sự lựa chọn của anh ấy?

+5

_Cloning kho lưu trữ chỉ cung cấp cho nhánh master._ - đây là sai, bản sao là một bản sao hoàn chỉnh. 'git branch -a' sẽ hiển thị tất cả các nhánh. – 1615903

+0

Vì lệnh 'git branch' chỉ hiển thị nhánh' master', tôi giả định nó chỉ nhân bản nhánh chủ. Lỗi của tôi. –

Trả lời

7

Như user1615903 already pointed out, một đơn giản

git clone <remote repo url> 

sẽ đã cung cấp cho bạn tất cả các chi nhánh từ repo từ xa, bao gồm masterdevelop. Bạn có thể xem tất cả các nhánh từ xa trong bản sao cục bộ của mình bằng cách sử dụng git branch -r hoặc git branch -a.

Từ Git clone doc:

nhái một kho lưu trữ vào một thư mục mới được tạo ra, tạo ra các chi nhánh từ xa theo dõi cho từng ngành trong kho nhân bản (có thể nhìn thấy sử dụng git branch -r), và tạo ra và kiểm tra ra một nhánh ban đầu được phân nhánh từ nhánh hiện đang hoạt động của kho lưu trữ nhân bản.

Nếu bạn muốn copy nội bộ những chi nhánh mà bạn có thể làm việc trên, bạn có thể tạo ra chúng với

git branch <local branch name> <remote branch> 

hoặc tạo ra các chi nhánh và kiểm tra xem nó ra với một lệnh như thế này

git checkout -b <local branch name> <remote branch> 
+1

Hoặc nếu chỉ có một repo, 'git checkout ' sẽ thực hiện công việc. Xem [tài liệu] (https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html): _Nếu không tìm thấy nhưng có tồn tại một nhánh theo dõi trong chính xác một điều khiển từ xa (cuộc gọi nó ) với tên phù hợp, xử lý tương đương với: _ '$ git checkout -b --track /' – 1615903

+0

Nhưng, không quan trọng bạn tạo chi nhánh (địa phương là bản sao từ xa) từ? – Saran

+0

@Saran Tôi không chắc chắn ý của bạn là gì. –

0

git clone tạo và kiểm tra chi nhánh ban đầu được chia nhánh từ nhánh hiện đang hoạt động của kho lưu trữ nhân bản, theo mặc định là master. Vì vậy, thay đổi chi nhánh đang hoạt động kho trung tâm của bạn để develop:

cd /path/to/central/repo 
git symbolic-ref HEAD refs/heads/develop 

Bây giờ khi các nhà phát triển clone, chi nhánh đầu tiên của họ sẽ được develop thay vì master.