Ātri klonējiet visas organizācijas/lietotāju krātuves vienā direktorijā
gorg
ghorg ļauj ātri klonēt visas organizācijas vai lietotāju repo vienā direktorijā. Tas var būt noderīgi daudzās situācijās, tostarp
- Meklēšana orgs/users kodu bāzē ar ack, sudraba meklētāju, grep utt.
- Bash skriptēšana
- Dublējumu izveide
- Jaunu komandas dalībnieku uzņemšana (visu komandas repo klonēšana)
- Auditu veikšana
Ar noklusējuma konfigurāciju ghorg veic divas darbības.
- Tiks klonēts repo, ja tas nav klonu direktorijā.
- Ja repo lokāli pastāv klonu direktorijā, tas repo veiks git pull un git clean.
Tātad, palaižot ghorg otrreiz tajā pašā organizācijā/lietotājā, visas lokālās izmaiņas klonētajā direktorijā pēc noklusējuma tiks pārrakstītas ar GitHub saturu. Ja vēlaties izmantot šo direktoriju, noteikti pārdēvējiet direktoriju vai iestatiet |_+_| atzīmējiet karogu visos turpmākajos klonos, lai nezaudētu izmaiņas lokāli.
apskatīt bloķēto Twitter kontu
Atbalstītie pakalpojumu sniedzēji
- GitHub
- GitLab
- Bitbucket
- Vadīt
ghorg lietotā terminoloģija ir GitHub, galvenokārt orgs/repos. GitLab un BitBucket izmanto atšķirīgu terminoloģiju. Pateicoties GitLab, ir pieejama ērta diagramma, kas šeit tulko terminoloģiju. Ņemiet vērā, ka atsevišķiem pakalpojumu sniedzējiem dažas funkcijas var atšķirties.
Windows atbalsts
Windows tiek atbalstīts, ja tas ir izveidots ar golang vai kā iepriekš izveidots binārs, tomēr readme un cita dokumentācija nav paredzēta Windows lietotājiem.
Konfigurācija
Konfigurācijas prioritāte vispirms tiek dota komandrindā iestatītajiem karodziņiem, pēc tam tam, kas ir iestatīts jūsu |_+_|. Šis fails nāk no faila sample-conf.yaml . Ja neviena no tām nepastāv, ghorg atgriezīsies pie noklusējuma iestatījumiem — GitHub organizācijas klonēšana, izmantojot jūsu drošības pilnvaru, ja drošības pilnvara netiek atklāta, jums būs jāiesniedz pilnvara |_+_|.
Lai gan tas nav obligāti, ieteicams pievienot |_+_| izpildot instalēšanas sadaļā sniegtos norādījumus.
Jums var būt vairāki konfigurācijas faili, kas ir noderīgi, ja klonējat no vairākiem SCM nodrošinātājiem. Uz alternatīviem konfigurācijas failiem var atsaukties tikai kā komandrindas karodziņš |_+_|.
|_+_|Uzstādīt
Iepriekš izveidoti binārie faili
Skatiet jaunāko versiju, lai lejupielādētu tieši
- Mac (Dārvins)
- Windows
- Linux
Ja nezināt, kuru izvēlēties, visticamāk, jūsu operētājsistēmai būs x86_64 versija
Homebrew
|_+_|nav obligāti, bet ieteicams
|_+_|nepieciešams
Golang
|_+_|nav obligāti, bet ieteicams
|_+_|nepieciešams
SCM nodrošinātāja iestatīšana
Piezīme. Ja rodas problēmas, izlasiet tālāk esošo problēmu novēršanas un zināmo problēmu sadaļu
github iestatīšana
- Izveidojiet personīgo piekļuves marķieri ar visiem |_+_| darbības jomas. Atjaunināt |_+_| savā |_+_| kā klip karodziņu vai pievienojiet savam OSX atslēgu piekariņam . Ja jūsu organizācijai ir Saml SSO, jums būs jāpiešķir arī šīs atļaujas, skatiet šo dokumentu .
- Lai klonētu GitHub Enterprise repo, ir jāiestata |_+_| piem. |_+_|
gitlab iestatīšana
- Izveidojiet personīgo piekļuves marķieri ar |_+_| tvērums (vai |_+_| pašpārvaldītajam GitLab, kas vecāks par 12.10). Šo pilnvaru var pievienot jūsu |_+_|, kā klip karodziņu vai jūsu OSX atslēgu piekariņu .
- Atjauniniet |_+_| konfigurācija jūsu |_+_| vai izmantojot klip karogus
- Atjaunināt |_+_| uz |_+_| jūsu |_+_| vai izmantojot klip karogus
- Skatiet piemērus/gitlab.md, lai uzzinātu, kā palaist
gitlab specifiskas piezīmes
ghorg darbojas atšķirīgi mitinātiem gitlab gadījumiem salīdzinājumā ar gitlab mākoni. Izlasiet tālāk, lai uzzinātu par atšķirībām
mitināti Gitlab gadījumi
Lai klonētu visas grupas vienlaikus, atslēgvārds 'visas grupas'. Ņemiet vērā, ka visām grupām ir nepieciešama GitLab 13.0.1 vai jaunāka versija, un tās tiks klonētas tikai no grupām/repo, uz kurām jūsu lietotājam ir atļaujas.
kur es varu nopirkt Chia crypto|_+_|
Visām GitLab versijām varat klonēt grupas vai apakšgrupas atsevišķi
|_+_|Jums jāiestata |_+_| kas ir jūsu instances URL. Ja jūsu instance izmanto pašparakstītus sertifikātus, varat izmantot |_+_| karogs
gitlab mākonis
Lai klonētu visus repo, varat izmantot augstākā līmeņa grupas nosaukumu, piem. klonēt |_+_| GitLab mākonī https://gitlab.com/fdroid
|_+_|gitea iestatīšana
- Izveidot piekļuves pilnvaru (Iestatījumi -> Lietojumprogrammas -> Ģenerēt marķieri)
- Atjaunināt |_+_| jūsu |_+_| vai izmantojiet karodziņu (--token, -t).
- Atjaunināt |_+_| uz |_+_| jūsu |_+_| vai izmantojot klip karogus
bitbucket iestatīšana
lietotņu paroles
- Lai konfigurētu ar bitbucket, jums būs jāizveido jauna lietotnes parole un jāatjaunina |_+_| vai izmantojiet karodziņus (--token, -t) un (--bitbucket-username).
- Atjauniniet SCM veidu uz |_+_| jūsu |_+_| vai izmantojot klip karogus
PAT/OAuth pilnvara
- Izveidojiet PAT
- Iestatiet marķieri ar |_+_| jūsu |_+_| vai izmantojot |_+_| karogs. Pārliecinieties, vai jums nav |_+_| komplekts.
- Atjauniniet SCM TYPE uz |_+_| jūsu |_+_| vai izmantojot klip karogus
Izmantotais osx noklusējuma github/gitlab marķieris
|_+_|PIEZĪME: klonēšana, izmantojot https, nevis ssh, ir ghorg noklusējuma iestatījums, jo ir jābūt marķierim, lai izgūtu repo sarakstu. Tomēr, ja rodas problēmas ar klonēšanu, izmantojot https un parasti klonējot, izmantojot ssh, mēģiniet pārslēgt |_+_|
Github/gitlab marķierus ieteicams glabāt osxkeychain, ja šī komanda atgriež kaut ko citu, izņemot jūsu marķieri, skatiet tālāk esošo problēmu novēršanas sadaļu. Tomēr jūs vienmēr varat pievienot savu pilnvaru $HOME/.config/ghorg/conf.yaml vai izmantot karogus (--token, -t).
Kā izmantot
Skatiet direktorijas piemērus, lai uzzinātu vairāk ar SCM specifiskiem dokumentiem
|_+_|Ar Docker
Tas ir ieteicams tikai testēšanai resursu ierobežojumu dēļ
- Pēc tam klonējiet repo |_+_|
- Izveidojiet attēlu |_+_|
- Iedarbiniet doku
Klonu direktoriju maiņa
Pēc noklusējuma ghorg klonēs organizācijas vai lietotāja repo direktorijā, piemēram, |_+_|. Ja vēlaties klonēt organizāciju uz citu direktoriju, izmantojiet |_+_| karodziņš vai komplekts |_+_| tavā ghorg conf. Šai vērtībai ir jābūt absolūtam ceļam . Piemēram, ja vēlaties klonēt kubernetes org uz |_+_| jūs palaist šādu komandu.
|_+_|kas radītu...
kā padarīt hromētu grāmatzīmju joslu lielāku|_+_|
Ja vēlaties mainīt tā direktorija nosaukumu, kurā tiek klonēti repo, iestatiet |_+_| savā ghorg conf vai iestatiet |_+_| karogs. Piemēram, lai klonētu tikai repo, kas sākas ar |_+_| no kubernetes org direktorijā ar nosaukumu |_+_|. Jūs palaist šādu komandu.
|_+_|kas radītu...
|_+_|Repo filtrēšana
Lai tikai klonētu repo, kas atbilst regulārai izteiksmei, izmantojiet |_+_| atzīmējiet vai izslēdziet klonēšanas repo darījumus, kas atbilst regulārai izteiksmei ar |_+_|
Lai tikai klonētu repo, kas atbilst prefiksam(iem), izmantojiet |_+_| atzīmējiet vai izslēdziet klonēšanas repo darījumus, kas atbilst prefiksam(-iem) ar |_+_|
Lai klonēšanas laikā filtrētu visus arhivētos repo, izmantojiet |_+_| karogs (nevis bitbucket)
Lai klonēšanas laikā filtrētu dakšveida repo darījumus, izmantojiet |_+_| karogs
Filtrēt pēc konkrētām repo tēmām |_+_| vai |_+_| klonēs tikai repo darījumus ar atbilstošu tēmu. Tikai GitHub/GitLab/Gitea
Nepieciešama myprepaidcenter aktivizēšana
Lai ignorētu konkrētus repo darījumus, izveidojiet |_+_| fails iekšā |_+_|. Katra šī faila rinda tiek uzskatīta par apakšvirkni un tiks salīdzināta ar katru repo klona URL. Ja klona URL laukā |_+_| ir apakšvirkne tas tiks izslēgts no klonēšanas. Lai novērstu nejaušu repo izslēgšanu, katrai rindai jābūt pēc iespējas precīzākai, piemēram,. |_+_| vai |_+_| atkarībā no tā, kā jūs klonējat. Tas ir noderīgi, lai pastāvīgi ignorētu noteiktus repo darījumus.
|_+_|Dublējumu izveide
Veicot dublējumus, divi ievērojami karodziņi ir |_+_| un |_+_|. |_+_| karodziņš klonēs repo ar git clone --mirror . |_+_| karodziņš ietvers visas repo viki lapas.
|_+_|Tādējādi organizācijai tiks izveidots direktorijs kubernetes_backup. Katrā iekšā esošā mapē būs .git saturs avota repo. Lai atjaunotu kodu no .git satura, viss saturs ir jāpārvieto uz .git dir, pēc tam palaidiet |_+_| iekšā dir, tad kases filiāle piem.
|_+_|Problēmu novēršana
Ja jums ir problēmas ar repo klonēšanu. Mēģiniet lokāli klonēt kādu no repo, piem. manuāli palaist |_+_| ja tas nedarbojas, ghorg arī nedarbosies. Jūsu Git klients vispirms ir jāiestata, lai klonētu mērķa repo. Ja parasti klonējat, izmantojot ssh taustiņu, izmantojiet |_+_| karogs ar gorgu. Tādējādi tiks ielādēti ssh klona vietrāži URL, nevis https klona vietrāži URL.
Klonējot, ja redzat kaut ko līdzīgu |_+_|un palaišana netiks pabeigta. Pārliecinieties, vai esat pareizi iestatījis marķieri komandrindā, ghorg conf vai oskeychain. Ja tas nedarbojas, mēģiniet klonēt, izmantojot ssh (--protocol=ssh). Ja tas joprojām neatrisina jūsu problēmu, varat mēģināt veikt tālāk norādīto procesu.
python e^x
- Pārliecinieties, ka varat klonēt, izmantojot SSH bez lietotājvārda/paroles, izmantojot 'git clone [email protected] :xxx/yyy/zzz.git” (aizstāt saiti uz pareizo git failu). Ja nevarat klonēt vai tam ir nepieciešama parole, vispirms novērsiet šo problēmu (kas nav saistīts ar ghorg)
- Sadaļā “git config” pārbaudiet, vai e-pasta adrese ir pareiza
- Dzēsiet visus failus un mapes (git repos) ghorg direktorijā
- Vēlreiz palaidiet ghorg, izmantojot -t (gitlab personiskās piekļuves pilnvaru, jauni marķieri sākas ar 'glpat-'), --scm=gitlab --protocol=ssh
Ja jūs klonējat lielu organizāciju, jūs varat redzēt |_+_| kas nozīmē, ka jums ir jāpalielina limīti, jo tiešsaistē ir daudz dokumentu par to. Mac datoram ātrs un netīrs ir zemāk
|_+_|Vēl viens risinājums ir samazināt vienlaicīgu klonu skaitu. Izmantojiet |_+_| karodziņš, lai iestatītu uz zemāku par 25 (noklusējums)
Ja jūsu GitHub organizācija ir aiz SSO, jums būs jāautorizē sava pilnvara, skatiet šeit
Ja jūsu GitHub personiskās piekļuves pilnvara atrod tikai publiskus repo, piešķiriet savam pilnvaram visas repo atļaujas
Pārliecinieties, vai jūsu |_+_| ir >= 2.19.0
Pārbaudiet, vai nav citu programmatūru, piemēram, pretļaunatūras, kas varētu traucēt ghorgs spēju izveidot lielu skaitu savienojumu, skatiet 132. izdevumu.
Ja esat nonācis tik tālu un joprojām pastāv problēma, lūdzu, uzdodiet to
Autors: gabrie30
Avota kods: https://github.com/gabrie30/ghorg
Licence: Apache-2.0 licence
#go #golang #github #devops #gitlab