2012-03-12 18 views
8

GitHub API docs nói:API GitHub v3: Cách tạo cam kết ban đầu cho kho lưu trữ mới sáng bóng của tôi?

Git DB API functions will return a 409 if the git repo for a Repository is empty or unavailable.

My POST trên $repo/git/trees lợi nhuận 409 thực sự.

Làm cách nào để tạo cam kết ban đầu trong kho lưu trữ? Tôi có phải buộc người dùng phải thực hiện một số thủ công vô ích theo cách thủ công, chỉ vì mục đích tạo ra cam kết gốc không?

+0

Bạn có thể tự chạy 'git commit'. – SLaks

+0

@SLaks Tôi không thể - Tôi muốn làm điều đó từ webapp của tôi, thông qua API của github. – Almad

+0

Mọi tin tức về điều này? Im có cùng một vấn đề. –

Trả lời

6

tôi gửi qua email hỗ trợ github với cùng một vấn đề và đây là phản ứng của họ:

From: Rick (GitHub Staff) 
Subject: Creating an initial commit using the v3 API 

Currently, you can't add the initial commit through the API. Thanks for the 
feedback. I've added your suggestion to the Feature Request List™ for the team 
to see. 

Là một workaround, tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể tạo ra dĩa chứ không phải là các hợp đồng mua mới.

+0

Đây không phải là lựa chọn cho tôi, nhưng cảm ơn bạn đã xác nhận. – Almad

+0

@ daniel-x-moore tôi muốn làm như vậy, tạo một kho lưu trữ mới và đẩy các tệp vào nó (trong java bằng cách sử dụng api v3), vì vậy tôi không thể thêm cam kết ban đầu thông qua API? – cypronmaya

+0

@cypronmaya Bạn hiện không thể thêm cam kết ban đầu thông qua API, nhưng bạn có thể thêm nó thông qua dòng lệnh bằng cách kích hoạt thủ công. –

6

Cập nhật ngày 28 tháng 9 năm 2012

Theo this blogpost công bố trên github blog, bây giờ nó có thể tự động khởi tạo một kho lưu trữ sau khi tạo.

Hôm nay, chúng tôi đã làm cho việc thêm cam kết vào kho lưu trữ qua API GitHub dễ dàng hơn. Cho đến bây giờ, bạn có thể tạo một kho lưu trữ, nhưng bạn sẽ cần để khởi tạo nó cục bộ thông qua ứng dụng Git của bạn trước khi thêm bất kỳ cam kết nào qua API.

Bây giờ bạn có thể tùy chọn init một kho lưu trữ khi nó được tạo ra bằng cách gửi đúng đối với các tham số auto_init:

curl -i -u pengwynn \ 
     -d '{"name": "create-repo-test", "auto_init": true}' \ 
     https://api.github.com/user/repos 

Các kho kết quả sẽ có một cuống README và cam kết ban đầu.

+0

Tiến độ được hoan nghênh, nhưng không giải quyết được trường hợp sử dụng ban đầu. Ở đó, kho lưu trữ luôn được tạo, nhưng phải được điền với cam kết ban đầu. – Almad

+0

@Almad Tôi nghĩ rằng điều này trả lời câu hỏi ban đầu của bạn, đó là về việc tạo một cam kết mới cho một kho lưu trữ mới. Nói một cách đơn giản, bạn cần thực hiện cam kết này tại thời điểm tạo kho lưu trữ mới. Trước đây không có cách nào để đẩy commit ban đầu thông qua API. –

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