A projekt és a Github repo beállításának automatizálása a parancssorból

Ez a bejegyzés egy irritációból származik, amellyel személyesen szembesültem, amikor először tanultam kódolni - beállítottam a helyi repót és szinkronizáltam a Github-szal.

Projektek segítségével tanultam (gyakran freeCodeCamp projekteket!). De meg kellett győződnöm arról, hogy nem veszítettem-e el a kemény munkámat, és hogy mások is láthassák azt a kemény munkát, amelyet most végzek, ezért minden projektnek a Githubon kellett folytatnia. Minél teljesebb projektem volt a Githubon, annál könnyebb volt a toborzóknak. De a projekt létrehozásához, a repó inicializálásához és a Github-szinkronizáláshoz szükséges lépések valóban idegesítőek és ismétlődőek voltak, ezért úgy döntöttem, hogy megoldom a problémát.  

Rossz hír: ez nem lesz nagy, divatos, részletes és technikailag szexi bejegyzés. Nagyon szexi lesz.

Jó hír: Ehhez nem kell shell parancsfájl isten (dess) lenni.

Tehát tipikus projektbeállítási munkafolyamatom általában a következő:

1) Lépjen a   ../projectsmappámba, és futtassa, mkdir project-of-some-namehogy létrehozzon egy nevet tartalmazó mappát project-of-some-name.

2) cdabba a projektmappába, és tegye git initmeg a helyi git repo inicializálását.

3) futtassa touch README.MDa READMEfájl létrehozását , nyissa meg és adjon hozzá néhány alapvető leírást, beleértve az erőforrásokra / oktatóanyagokra mutató hivatkozásokat, amelyeket az adott projektben megvalósítottam. Mentse a fájlt.

4) fuss git add ., majdgit commit -m ' ...some initial commit message...

5) nyisson meg egy böngészőt, lépjen a Github oldalra, jelentkezzen be, hozzon létre egy új (távoli) adattárat, másolja az URL-t, térjen vissza a terminálomhoz, ellenőrizze, hogy a megfelelő projektmappában voltam-e project-of-some-name... majd futtassa a telepítéshez szükséges git szkripteket a távoli repót, mint „upstream” repót, és csatlakoztassam hozzá a helyi repót. Aztán végre futtathatok egy, git pushés a helyi elkötelezettségem fellendül

6) feküdjön le és aludjon egyet, kimerülve az ismétlődő folyamatban.

Igaz, ez volt az én folyamatom, de szerettem szervezett maradni, és mindig hozzáférhettem a projektjeimhez, hogy hivatkozhassak rájuk.

Mivel az automatizálás remek módszer a kódolási készségek gyakorlására, úgy döntöttem, hogy írok egy kis shell parancsfájlt, amely automatizálja ezeket a szörnyű és ismétlődő lépéseket. A szkript a bejegyzés végén található, és figyelmeztetni kell - nem kifinomult vagy divatos. De ez biztosan elvégzi a munkát, és nem kell bejelentkeznem a Githubba, és hülyéskednem kell mindezen lépéseken!

Mielőtt átmásolná a szkriptet, tudnia kell, hogyan futtassa a Mac-en. Tehát az alábbiakban bemutatjuk azokat a lépéseket, amelyeket végre kell hajtania ahhoz, hogy a szkriptet használhassa a beállítási munkafolyamat automatizálásához.

1) A szkriptjeimet a gyökér / home mappámban tartom, egy almappában scripts. Azt javaslom, hogy tegye ugyanezt vagy hasonlót. A gyökér / home mappához való hozzáféréshez terminál típusában, cd ~mert a tilda ( ~) az otthoni mappa szimbóluma. A Mac Finder alkalmazásban úgy jelenik meg, mint egy ház ikonnal. Tehát az összes szkriptem tárolva van~/scripts

2) Ez azért fontos, mert a shell parancsfájl futtatásához a terminál bármely könyvtárából ki kell írnia a teljes elérési utat. Esetemben be ~/scripts/git-script.shkell írnom a szkript futtatásához. De megelőzzük önmagunkat.

3) másolja a bejegyzés alján található kódrészletet, majd nyisson meg egy szövegszerkesztőt, illessze be, majd mentse el másként [filename].sh. Ez .sha shell szkriptek kiterjesztése. Mentse a fájlt abba a könyvtárba, ahová menteni kívánja - ismét ~/scriptsa mappát ajánlom , ahová a szkripteket mentené.

4) Navigáljon a termináljának abba a mappájába. A biztonság érdekében futtassa lsa terminálon annak ellenőrzésére, hogy látja-e a szkriptet. Ha nem Ön a rossz mappában van, vagy a 3. lépést nem sikerült sikeresen végrehajtani.

5) Tegye futtathatóvá a shell parancsfájlt. Ehhez írja be a következő a terminál: chmod +x <>. Ez az unix módszer a shell parancsfájl "futtathatóvá" tételéhez. Nem vagyok benne biztos, hogy teljesen megértem, hogy ez mit jelent, azon kívül, hogy bármilyen írt shell parancsfájl futtatható legyen, ezért ne kérdezzen, és nem fogok hazudni neked.

6) Keresse meg a projektek mappáját, és hozzon létre egy új mappát, amelyet a projekt befogadására szán. Valójában ezt kell tennie:   mkdir- hozzon létre egy project-of-some-namemappát, ahol megőrzi az összes projektet. Tehát a projekt végül belül lesz my-computer/my-projects/project-of-some-name. cdebbe a mappába, majd írja be, pwdhogy megkapja a teljes elérési utat. Másolja ki - rövidesen be kell illesztenie. Úgy kell kinézniemy-computer/my-projects/project-of-some-name

7) nyissa meg újra a terminált, majd írja be . A szkript fut! Végigvezet néhány bemeneten ... A fő lépések a következők:~/scripts/<>

    > mit akarsz hívni a Github repódnak ( ne használd a szóközt - a 'my-awesome-project' jó. Ne használd a 'my awesome project' -t repó névként.

  > Írjon be egy leírást, amely megjelenik a Github repo leírásában. Ehhez biztonságos a szóközök használata.

 > Írja be a 6. lépésben kapott projekt elérési útját, azt, pwdamelyet a terminál beírása és valami hasonló után kapmy-computer/my-projects/project-of-some-name

 > írja be a Github felhasználónevét (ne az e-mail címét), majd a Github jelszavát. Legyen óvatos gépelés közben, mivel ezek az értékek nem jelennek meg a képernyőn.

 > .... ennyi. A szkript helyileg beállítja a git repo-t belül my-computer/my-projects/project-of-some-name, majd létrehoz egy README.MD(üres) elemet, majd helyben elkötelezi azt, majd beállít egy távoli repót a Github-ban (bejelentkezik az API-n keresztül), stb., Majd mindent feltol!

 > végül látni fogja, hogy a terminál, amellyel kommunikált, megváltoztatta az aktuálisan aktív könyvtárat a projekt mappájává. Most itt lesz, my-computer/my-projects/project-of-some-nameés beírhatja lsés megtekintheti a README.MDfájlt. Ha ezután beírja, git statuslátni fogja a helyi repó állapotát (a helyi projekt állapotát), és ha beírja, git remotemegmutatja a projekt Github URL-jét!

Kész! Boldog kódolás!

Annnd ..... végül ...... itt van a forgatókönyv! Minden lépést megjegyeztem, hogy átgondolhassa az utat.

# Make executable with chmod +x <> CURRENTDIR=${pwd} # step 1: name of the remote repo. Enter a SINGLE WORD ..or...separate with hyphens echo "What name do you want to give your remote repo?" read REPO_NAME echo "Enter a repo description: " read DESCRIPTION # step 2: the local project folder path echo "what is the absolute path to your local project directory?" read PROJECT_PATH echo "What is your github username?" read USERNAME # step 3 : go to path cd "$PROJECT_PATH" # step 4: initialise the repo locally, create blank README, add and commit git init touch README.MD git add README.MD git commit -m 'initial commit -setup with .sh script' # step 5 use github API to log the user in curl -u ${USERNAME} //api.github.com/user/repos -d "{\"name\": \"${REPO_NAME}\", \"description\": \"${DESCRIPTION}\"}" # step 6 add the remote github repo to local repo and push git remote add origin //github.com/${USERNAME}/${REPO_NAME}.git git push --set-upstream origin master # step 7 change to your project's root directory. cd "$PROJECT_PATH" echo "Done. Go to //github.com/$USERNAME/$REPO_NAME to see." echo " *** You're now in your project root. ***"

Utóirat f reeCodeCamp hallgatók számára

Nagyon, igazán hiszem, hogy a legértékesebb erőforrásai az idő, a fáradság és a pénz. Ezek közül az egyetlen legfontosabb erőforrás az idő, mert a másik kettő megújítható és helyreállítható. Tehát, ha valamire szánsz időt, győződjön meg arról, hogy ez közelebb visz e célhoz.

Ezt szem előtt tartva, ha 3 órát szeretne velem fektetni, hogy megtalálja a legrövidebb utat a kód megtanulásához (különösen, ha pályaváltó vagy, mint én ...), akkor menjen a tanfolyam webhelyemre, és használja ott iratkozzon fel (ne a felugró ablakot!). Ha hozzáadja az üzenethez az „INGYENES IDŐM” szavakat, megtudom, hogy Ön egy freeCodeCamp olvasó, és elküldöm neked egy promóciós kódot, mert csakúgy, mint te, a freeCodeCamp is stabil kezdéssel járt nekem.

Továbbá , ha szeretne többet megtudni, nézd meg epizód 53 freeCodeCamp podcast, ahol Quincy (alapító FreeCodeCamp), és én megosztani tapasztalatainkat a karrier változások, amelyek segíthetnek az utazás. Hozzáférhet a podcasthoz az iTunes, a Stitcher és a Spotify alkalmazásban is.

A Twitteren lehet megkeresni: @ZubinPratap