2015-02-23 23 views
6

Github'da PyGithub ile yeni bir depo nasıl oluşturabilirim? Özellikle create_repo yönteminin nasıl kullanıldığını bilmek ister misiniz? Bir AuthenticatedUser nasıl oluştururum?PyGithub ile yeni bir depo oluşturma

+0

Yerel olarak yeni bir git deposu oluşturmaya çalışıyor musunuz? Ya da github üzerinde yeni bir depo? PyGithub, ikincisini yapar, pygit gibi bir şey eskiyi yapar. Her ikisi de çevrimiçi olarak iyi belgelenmiş gibi görünüyor. – larsks

+0

Github'da bir depo oluşturmaya çalışıyorum. – ustroetz

+0

@larsks GitHub'da PyGithub deposuyla nasıl oluşturulacağına dair bir örnek verebilir misiniz? – ustroetz

cevap

5

Sorumun çözümü takip ediyor

g = Github(token) 
user = g.get_user() 
repo = user.create_repo(full_name) 
2

Bir depo oluşturmak için GitPython'u kullanabilirsiniz. Here is a tutorial bir temsilci nasıl başlatılacağı hakkında. Bu kadar basit olarak:

import git 

repo_dir = os.path.join(rw_dir, 'my-new-repo') 
file_name = os.path.join(repo_dir, 'new-file') 

r = git.Repo.init(repo_dir) 
Ayrıca havuzu oluşturmaktır Dulwich kullanabilirsiniz

:

from dulwich.repo import Repo 
x = Repo.init("/path/to/new/repo") 

Yapýlmasýný, sen depoları erişmek için PyGithub kullanmak (veya sağlanan API'ler sopa anlamına sahip olduktan sonra yukarıda):

from github import Github 

g = Github("user", "password") 
for repo in g.get_user().get_repos(): 
    print repo.name 
+0

Teşekkürler! Eğer doğru anladıysam, önce yerel olarak bir depo oluşturmalı ve onu Github'a itmeliyim. Github'da doğrudan PyGithub ile bir depo oluşturmanın yolu yok mu? – ustroetz

+2

[PyGithub.Blocking.Organization.Organization.create_repo] (http://jacquev6.net/PyGithub/v1/github_objects/Organization.html#github.Organization.Organization.create_repo) 'nun [POST/orgs] çağıran bir yolu vardır. /:org/repos](https://developer.github.com/v3/repos/#create). Bunu ihmal ettim çünkü sizin için bağlantı kurabileceğim eğitici yok. – runDOSrun

3

Bir AuthenticatedUser nesnesinin nasıl oluşturulacağını bulmaya çalışırken bu soruya rastladım. Herhangi bir argümanı get_user'ye ilettiğinizde bir NamedUser aldığınıza ve eğer argüman vermezseniz, Github nesnesini oluştururken kullandığınız kredilere karşılık gelen AuthenticatedUser değerini alırsınız.

from github import Github 
g = Github("my GitHub API token") 

user = g.get_user('myname') 
print user 
authed = g.get_user() 
print authed 

bir AuthenticatedUser nesnesi sahip olduktan sonra bağlı dokümanlar açıklandığı gibi

<github.NamedUser.NamedUser object at 0x7f95d5eeed10> 
<github.AuthenticatedUser.AuthenticatedUser object at 0x7f95d5684410> 

, sen createrepo arayabilir verir: Aşağıdaki en az bir örnek olarak

.

+0

Bu daha iyi bir cevaptır çünkü farklı çağrıların nasıl geri döndüğünü açıklar, bu kabul edilen cevap @ustroetz olmalıdır – Daniel