Bisakah saya mengatur repositori ke dalam folder di Github?

158

Saya baru git dan apa yang saya lakukan sekarang adalah mengunggah semua proyek saya baru-baru ini sebagai repositori ke github. Ada banyak proyek berbeda seperti desain web, tema wordpress, dan berbagai jenis aplikasi. Dan beberapa di antaranya juga milik proyek yang lebih besar karena mereka menguji beberapa hal sebagai aplikasi yang berbeda.

Masalahnya adalah saya memiliki jumlah repositori yang membingungkan secara online sekarang. Bagaimana saya bisa mengelompokkan repositori github terkait dalam struktur folder? Apakah ada fitur yang menyediakan kemampuan untuk memesan dan menyusun atau bahkan menandai repositori di github?

danijar
sumber
1
@ user478212 Pertanyaannya adalah tentang mengatur repositori, bukan file dalam repositori tunggal.
danijar
"Folder" terdekat adalah "proyek" hari ini (Februari 2019): lihat jawaban saya yang diperbarui di bawah ini
VonC
"Projects" tidak secara langsung mensimulasikan folder. Cara yang lebih langsung untuk mensimulasikan folder bisa menggunakan penandaan deskripsi, seperti dijelaskan dalam jawaban saya di bawah ini.
peter554

Jawaban:

68

Di GitHub sendiri, Anda tidak dapat mengelompokkan repo Anda berdasarkan "folder", kecuali jika Anda membuat organisasi .
Lihat SublimeText , misalnya, sebagai grup dari semua repo paket sublimeText.

Tetapi itu tidak akan mendukung organisasi folder bersarang. Untuk saat ini (Juni 2017), itu hanya mendukung struktur organisasi tim bersarang .

Pembaruan Februari 2019: Anda sekarang memiliki konsep proyek :
Lihat " Proyek yang dimiliki pengguna — ruang kerja pribadi Anda "

Anda juga dapat menautkan hingga 5 repositori ke papan proyek Anda. Menautkan repositori akan membatasi cakupan pencarian ke repositori yang ditautkan, sehingga Anda dapat dengan cepat mempersempit setiap masalah baru yang belum Anda tambahkan ke papan proyek

https://i0.wp.com/user-images.githubusercontent.com/3477155/52346373-734e2580-29ed-11e9-82ad-9e5f1ab8aa99.gif?resize=1024%2C512&ssl=1

GitHub juga mendukung tag sekarang (dalam bentuk topik ).


Jawaban asli 2012:

Solusi lain bagi Anda untuk mendefinisikan repositori yang merujuk repo lain, dinyatakan sebagai submodul .

Dengan begitu, ketika Anda mengkloning salah satu repo (yang mereferensikan repo lain), yang disebut "induk repos", mereka akan dikloning di direktori mereka sendiri, dengan sub-direktori per submodul.

Ini tidak akan terlihat secara visual pada akun GitHub Anda sendiri (karena masih akan berisi daftar repo besar, bahkan lebih besar dengan repo induk), tetapi dengan kloning satu repo induk, Anda akan mendapatkan kembali semua submodul terkait di dalamnya.


The masalah 302 disebutkan di komentar oleh AnneTheAgile pada 2014 hanya referensi sekarang (2018 November)tbnorth/github_repo_tags

Program python kecil dalam repositori ini menggunakan API GitHub untuk mendapatkan daftar repo Anda. dan tambahkan nama, deskripsi, dan URL mereka, ke repo baru., secara default disebut repo_tags. Awalnya setiap "masalah" ditandai tidak terklasifikasi, tetapi Anda dapat menandai sesuka Anda, menggunakan pemberian tag masalah biasa.

Saat dijalankan kembali, repo_tags.pyhanya menciptakan masalah untuk repo. yang belum dicakup oleh masalah.

VONC
sumber
4
ok jadi saya harus menggunakan banyak organisasi ... apakah ada alasan mengapa Anda tidak dapat menyusun repetisi Anda berdasarkan folder?
danijar
4
@sharethis ini bukan alasan yang saya ketahui, kecuali ini belum merupakan fitur yang diusulkan oleh GitHub.
VonC
5
Catatan daftar keinginan; Tag juga akan ok untuk saya. github.com/isaacs/github/issues/302
AnneTheAgile
4
wow, luar biasa bahwa layanan yang begitu besar, berkembang dengan baik, populer tidak mendukung fitur dasar yang telah ada selamanya.
Michael
1
@ PeterByfield Itu adalah satu-satunya solusi resmi, jadi saya akan tetap dengan itu untuk saat ini.
VonC
9

Saya menggunakan Organisasi untuk mengatur repo. Ini memungkinkan penggambaran yang bersih dan pengaturan yang jelas, matang untuk dibagikan jika diperlukan. Sebagai contoh:

Organisasi Saya

  • Jmr-iOS (repos iOS)
  • Jmr-Work (Work repos)
  • User Acct (Pers repos)

Semua repo organisasi bersifat publik, kecuali jika Anda memutakhirkan ke akun Enterprise Cloud ($ 25 / bln)

J-Dizzle
sumber
1
Semua repo organisasi bersifat publik, bahkan jika Anda meningkatkan ke akun pengembang. Jadi, jika Anda perlu meningkatkan rencana organisasi Anda ke perusahaan atau tim (harga saat ini mulai dari 25 euro per bulan dan memungkinkan 5 pengembang, atau Anda dapat menggunakan perusahaan dari 21 dolar untuk setiap pengguna, sebulan)
Curious Mind
tangkapan yang bagus! Saya telah memperbarui untuk mencerminkan skema saat ini, saya menggunakan ini sekarang
J-Dizzle
4

Ini bukan jawaban yang terlalu banyak.

Satu efek samping baru-baru ini dari penataan organisasi pemanfaatan telah terungkap karena pengumuman repo pribadi gratis berikut untuk pengguna: https://blog.github.com/2019-01-07-new-year-new-github/

Repo pribadi organisasi masih belum gratis. Jadi menggunakan organisasi untuk memisahkan repo akan mengakibatkan ketidakmampuan organisasi Anda untuk memanfaatkan repo pribadi gratis, jika itu sesuatu yang Anda butuhkan.

Michael Gregoire
sumber
2

Sebagai permulaan, Anda dapat menandai repo sekarang di GitHub, dalam bentuk topik. Yay!

Tapi saya pikir itu tidak memecahkan masalah yang lebih besar. Untuk ini, saya telah mencoba sistem folder tingkat atas (di mana setiap proyek adalah folder dalam satu repo). Saya juga telah mencoba satu cabang per sistem proyek (di mana setiap proyek di cabang baru). Yang terakhir ini memungkinkan Anda untuk menarik dan mendorong setiap proyek secara terpisah juga! Tapi, tidak ada yang ideal.

Anda juga dapat melihat ke sistem kontrol versi lain seperti subversi dan lincah . Mercurial juga dapat di-host di Bitbucket jika Anda perlu, dan Facebook bahkan mencari dukungan untuk " repositori multi-proyek ".

Saya pribadi menyukai sistem https://hg.openjdk.java.net/ (atau http://hg.netbeans.org/ ), di mana Anda memiliki pengaturan folder dan setiap proyek di-host di titik akhir. Cara terbaik untuk mencapai ini adalah dengan membuat situs web (yang dapat Anda lakukan di GitHub) dengan struktur proyek Anda (seperti https://mvnrepository.com/ atau https://www.npmjs.com/ ).

gagarwa
sumber
2

Salah satu cara yang mungkin untuk mensimulasikan folder adalah dengan menambahkan tanda yang dipisah koma ke akhir deskripsi repo Anda. Anda kemudian dapat mencari repos dengan tag ini, karena filter GitHub 'Temukan repositori ...' terlihat dalam deskripsi repo! Sebuah contoh:

MyRepo: Melakukan beberapa hal keren [visi komputer, pembelajaran mesin, python]

peter554
sumber